2024-04-18 14:14:30
浏览数 (1)
Dockerfile命令
代码语言:bash
复制FROM mysql:5.7
# 复制 MySQL 5.7 安装包到容器中
COPY mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz /opt/software/mysql.tar.gz
# 设置环境变量
ENV MYSQL_ROOT_PASSWORD=sql123
ENV MYSQL_DATABASE=mydb
ENV MYSQL_USER=myuser
ENV MYSQL_PASSWORD=mypassword
# 在容器启动时自动生成 my.cnf 文件
RUN echo "[mysqld]" > /etc/mysql/my.cnf
&& echo "datadir=/var/lib/mysql" >> /etc/mysql/my.cnf
&& echo "socket=/var/run/mysqld/mysqld.sock" >> /etc/mysql/my.cnf
&& echo "user=mysql" >> /etc/mysql/my.cnf
&& echo "symbolic-links=0" >> /etc/mysql/my.cnf
&& echo "log-error=/var/log/mysql/error.log" >> /etc/mysql/my.cnf
&& echo "pid-file=/var/run/mysqld/mysqld.pid" >> /etc/mysql/my.cnf
# 创建日志文件目录并授权
RUN mkdir -p /var/log/mysql && chown -R mysql:mysql /var/log/mysql
# 授权安装目录
RUN chown -R mysql:mysql /var/lib/mysql
# 设置容器启动时执行的命令
CMD ["mysqld"]
# 映射端口并设置开机启动
EXPOSE 3306
ENTRYPOINT ["docker-entrypoint.sh"]
构建镜像命令
代码语言:bash
复制# 构建镜像
docker build -t mysql-containe .
创建容器命令
代码语言:bash
复制# 运行容器
docker run -d -p 3306:3306 --name mysql-custom -v /opt/software:/opt/software mysql-containe
宿主机登录容器内的mysql
代码语言:bash
复制docker exec -it mysql-container mysql -uroot -p
或者
mysql -h <container_ip> -u root -p