Docker学习之搭建MySql容器服务

时间:2022-08-30 17:39:06

Docker学习之搭建MySql容器服务

描述

MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法。用户可以选择RHEL和基于CentOS的图像。然后CentOS镜像可以在Docker Hub上以centos / mysql-56-centos7的形式获得。

用法

查找镜像:

docker search mysql

获取镜像:

docker pull docker.io/centos/mysql-56-centos7

如果您只想设置必需的环境变量而不将数据库存储在主机目录中,请执行以下命令:

docker run -d --name app_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/mysql-56-centos7

如果你希望你的数据库在容器执行过程中保持持久性,请执行以下命令:

# 创建数据存储目录 和配置文件目录
mkdir -p ~/home/mysql/data ~/home/mysql/cnf.d
# 分别赋予读写权限
chmod +766 data/
chmod +766 cnf.d/
# 创建并运行容器
docker run -d --name app_mysql -p 3307:3306 -v /home/mysql/cnf.d:/etc/my.cnf.d -v /home/mysql/data:/var/lib/mysql/data -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/mysql-56-centos7

命令说明:

  • -p 3307:3306:将容器的3306端口映射到主机的3307端口
  • -v /home/mysql/cnf.d:/etc/my.cnf.d:主机目录:容器目录
  • -v /home/mysql/data:/var/lib/mysql/data:主机目录:容器目录
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

查看容器运行情况:

docker ps

进入容器:

docker exec -it app_mysql  bash

命令说明:

  • -d :分离模式: 在后台运行
  • -i :即使没有附加也保持STDIN 打开
  • -t :分配一个伪终端

作者: 小柒

出处: https://blog.52itstyle.com

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。