环境:
centos7
问题:
下载 MySQL5.7 的 docker 镜像
docker pull mysql:5.7
使用如下命令启动 MySQL 服务
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--network=huicenetwork \
-d mysql:5.7
创建之后发现运行不了,docker ps 查看容器也没有
看了大佬的文章解决(记录一下,以后忘了再看):docker安装mysql容器创建成功但无法启动问题_王钧石的技术博客的博客-CSDN博客_docker mysql无法启动
查看日志
docker logs mysql
日志显示,在mysql容器启动时,没有读取到配置文件,配置文件是我们在创建容器时,加载数据卷的时候设置的,于是问题定位在了创建容器的命令中,我们发现我们在配置数据卷的时候,只指定了配置文件所在的文件夹,并没有明确的指定要挂载文件中的那些配置文件conf.d
解决:
删除原来的容器
docker rm mysql
修改docker run 命令如下,新建容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--network=huicenetwork \ # 这是我自己设的网络,把它改成你自己的,或者直接去掉这句
-d mysql:5.7
docker ps 命令查看当前正在运行的容器,发现创建成功,并已运行
ps:
如果第二天或者重启打不开了,那是因为忘记启动docker或容器了
启动docker
systemctl start docker
启动容器
docker start mysql/容器编号