docker创建mysql5.7版本启动报错。
Docker环境安装
- 安装
yum-utils
:
yum install -y yum-utils device-mapper-persistent-data lvm2
- 为yum源添加docker仓库位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker:
yum install docker-ce
- 启动docker:
systemctl start docker
#MySQL安装
- 下载MySQL
5.7.34
的docker镜像:
docker pull mysql:5.7.34
- 使用如下命令启动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 \
-d mysql:5.7.34
-
参数说明
- -p 3306:3306:将容器的3306端口映射到主机的3306端口
- -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
- -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
- -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
- -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
上述启动错误报错。
找不到配置文件的路径。在网上没有查找到有用的相关资料。怀疑是镜像问题。使用docker pull mysql:5.7.34
拉取一个比较稳定的版本(而不是最新版)
docker pull mysql:5.7.34
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 \
-d mysql:5.7.34
docker rmi 5.7镜像id
docker tag 5.7.34镜像id mysql:5.7
docker rm 运行id
docker再run一遍 镜像改为5.7
docker ps
查看容器id
[root@localhost xl]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9fafbcba58b0 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago Up 17 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
设置自启动
[root@localhost xl]# docker update --restart=always 9fafbcba58b0
9fafbcba58b0
Docker创建mysql8.0.32,并开放3306端口
docker pull mysql:8.0.32
docker run -p 3306:3306 --name mysql8 \
--privileged=true \
-v /mydata/mysql8/log:/var/log/mysql \
-v /mydata/mysql8/data:/var/lib/mysql \
-v /mydata/mysql8/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.32