Loading

docker安装MySQL

查询可用的mysql

docker search mysql

拉取指定版本的mysql

# 最新版的MySQL
docker pull mysql:last

# 指定版的MySQL
docker pull mysql:5.6

docker pull mysql:5.7

# 这里以mysql:5.7.29版本为例

docker pull mysql:5.7.29

建立本地映射目录

我们需要将MySQL的数据持久化到宿主机,也就是建立映射,包括配置文件、数据文件和log日志目录

# 把上述三个目录创建好
[root@r /]# mkdir -p /docker_data/mysql_data/data /docker_data/mysql_data/logs /docker_data/mysql_data/conf
# 创建一个cnf文件
[root@r /]# touch /docker_data/mysql_data/conf/my.cnf

启动MySQL

docker run -p 3307:3306 --name mysql --restart=always -v /docker_data/mysql_data/conf:/etc/mysql/conf.d -v /docker_data/mysql_data/logs:/logs -v   /docker_data/mysql_data/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:5.7.29

各参数:

  • -p 3307:3306,将mysql的3306映射到宿主机的3307端口。
  • --name mysql,为容器起个名称。
  • -v,建立容器与宿主机的目录映射。
  • -e,添加环境变量,这里是为root用户设置密码。
  • -d,后台运行容器
  • mysql:5.7.29,这个mysql容器基于mysql:5.7.29镜像。

通过下面查看宿主的data目录也能看到容器成功启动并且建立了映射关系。

[root@r ~]# ls /docker_data/mysql_data/data/
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  mysql               private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       performance_schema  public_key.pem   server-key.pem

其他命令

# 查看容器运行情况
[root@r ~]# docker ps | grep mysql
ece491051be7        mysql:5.7.29        "docker-entrypoint.s…"   23 minutes ago      Up 22 minutes       33060/tcp, 0.0.0.0:3307->3306/tcp   mysql

# 启动和停止容器
docker start mysql
docker stop mysql

远程测试

这里使用Navicat进行测试:

OK啦


欢迎斧正,that's all see also:

基于docker安装MySQL
docker 安装 mysql5.7
docker hub mysql

posted @ 2020-04-10 10:59  听雨危楼  阅读(198)  评论(0编辑  收藏  举报