docker部署MySQL
docker部署MySQL
1、搜索MySQL镜像
# docker search mysql
2、拉取指定版本的MySQL镜像
docker pull mysql:5.6
3、创建MySQL数据卷
[root@szx ~]# mkdir mysql [root@szx ~]# cd mysql/
4、创建容器
docker run -id -p 3307:3306 \
--name=c_mysql \ -v $PWD/conf/myconf.d:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ mysql:5.6
参数说明
- -p 3307:3306: 将容器的3306端口,映射到宿主机的3307端口
- --name=c_mysql: 容器名称
- -v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的/conf/myconf.d挂载到容器的/etc/mysql/conf.d 【mysql配置目录】
- -v $PWD/logs:/logs 将主机当前目录下的logs目录 挂载到容器的logs目录 【日志目录】
- -v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 【数据目录】
- $PWD: 就是Linux系统当前目录字符串,好像这里必须大写,单独命令行可以小写
- -e MYSQL_ROOT_PASSWORD=root: 初始化root用户的密码
- mysql:5.6 指定镜像版本
查看容器
5、进入容器内进行MySQL相关操作
[root@szx mysql]# docker exec -it c_mysql /bin/bash root@b8194fd0718c:/#
由于我们是在服务器上启动的mysql容器 如果外网想要访问 我们需要配置安全组 将3307端口开放
开放端口后我们就可以用Navicat连接服务器中的MySQL容器了,连接成功后可以通过Navicat管理docker内的MySQL数据库
通过Navicat创建数据库 创建表 并添加数据后进入容器内查看
进入容器内并登录数据库
[root@szx mysql]# docker exec -it c_mysql /bin/bash root@b8194fd0718c:/# mysql -uroot -proot
查看库名/表名/数据 是否存在
外网成功和服务器上的MySQL容器进行通信!!!