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://segmentfault.com/a/1190000014066789
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞