Dockerfile构建mysql

使用dockerfile构建mysql详细教学加案例

Dockerfile 文件

# 使用官方5.6版本,latest为默认版本
FROM mysql:5.6
#复制my.cof至容器内
ADD my.cnf /etc/mysql/my.cof
#设置环境变量 密码
ENV MYSQL_ROOT_PASSWORD=123456

my.cof 文件

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_connections=100

两个文件在同一个目录下
Dockerfile构建mysql_第1张图片
执行打包命令
mysql2为镜像名称

docker build -t mysql2 .

Dockerfile构建mysql_第2张图片
打包成功后可以看到镜像

docker images

Dockerfile构建mysql_第3张图片
运行构建容器
33062是主机的端口,3306是容器的mysql端口,容器名称–name mysql2,-v文件映射 主机/dockerval/mysql2对应/var/lib/mysql,最后mysql2是镜像名称

docker run -d -p 33062:3306 --name mysql2 -v /dockerval/mysql2:/var/lib/mysql mysql2

构建成功
在这里插入图片描述
docker ps 可以看到运行中的容器
在这里插入图片描述


问题记录:
如果一开始没有设置my.cnf,那么Dockerfile里的ENV MYSQL_ROOT_PASSWORD=123456 失效,
要在构建容器时加上 -e MYSQL_ROOT_PASSWORD=root

docker run -d -p 33062:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v /dockerval/mysql2:/var/lib/mysql mysql2

你可能感兴趣的:(mysql,docker,mysql,数据库,docker)