2020-08-12

docker创建mysql

centos安装docker的方法可以到https://docs.docker.com/engine/install/centos/参考

1.操作系统

本文中操作系统用的是centos7

2.centos中创建mysql实例

2.1首先需要下载mysql8的镜像

这里用的镜像为mysql的最新版本,如果需要别的版本的mysql,可以自行去docker hub中找到自己想要下载的mysql版本

2020-08-12_第1张图片

2020-08-12_第2张图片

冒号后跟随的是版本好,我这里使用的是最新版本

[root@localhost ~]# docker pull mysql:latest

2020-08-12_第3张图片

2.2创建mysql实例

这里如果用的最新的mysql版本,遇到了个小问题,如果没有耐心的伙伴可以直接看下一个标题

docker run -p 3306:3306 --name mysql -v /docker_data/mysql/log:/var/log/mysql -v /docker_data/mysql/data:/var/lib/mysql -v /docker_data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=724055 -d mysql:latest

上述创建mysql实例的命令中

参数 说明
-p 3306:3306    将容器的3306端口映射到主机的3306端口
--name mysql 给实例起名
-v /docker_data/mysql/log:/var/log/mysql 将容器中的/var/log/mysql 挂载到宿主机的/docker_data/mysql/log
-v /docker_data/mysql/data:/var/lib/mysql  
-v /docker_data/mysql/conf:/etc/mysql  
-e MYSQL_ROOT_PASSWORD=724055 给实例的root用户指定密码

 

 

 

 

 

 

 

 

 

 

2.3查看实例状态

[root@localhost ~]# docker ps -a

我们看到docker的状态为Exited,并非Up,由此可知实例是启动失败了

查看日志(最后面的mysql为我们创建实例时给的实例名),可以看出是因为容器中只有/var/lib/mysql-files目录并没有我们所指定的/var/lib/mysql目录

[root@localhost ~]# docker logs mysql

2020-08-12_第4张图片

删除实例重建(最后的字符串是实例id),可以看到mysql实例已经成功启动

[root@localhost ~]# docker rm -f 1c6827c773b3
[root@localhost ~]# docker run -p 3306:3306 --name mysql -v /docker_data/mysql/log:/var/log/mysql -v /docker_data/mysql/data:/var/lib/mysql-files -v /docker_data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=724055 -d mysql:latest

2020-08-12_第5张图片

你可能感兴趣的:(docker)