使用Docker运行MySQL镜像

环境

  1. Ubuntu 20.04.2 LTS

  2. Docker 20.10.6

  3. MySQL 5.7.19

安装 MySQL 镜像

  1. 如何查看一个docker镜像有哪些版本?先打开 官网,再点击 Tags 进行查看:

  2. 在找到目标版本后,使用 pull 命令拉取镜像:

docker pull mysql:5.7.19
  1. 使用 images 查看是否安装成功:

初次运行镜像

1.不带自定义 cnf 文件运行

许多配置选项可以作为标志传递给 mysqld。这将使您能够灵活地自定义容器,而不需要 cnf 文件。例如,如果要将所有表的默认编码和排序规则更改为使用UTF-8(utf8mb4),只需运行以下命令:

docker run --name mysql5719_1 
-p 3306:3306 
-e MYSQL_ROOT_PASSWORD=qwer@1234 
-d mysql:5.7.19 
--character-set-server=utf8mb4 
--collation-server=utf8mb4_unicode_ci

参数解释

  • 一般出现在行尾,是因为当前行中字符太多,在行尾尚有未写完的字符串,加上该符号后就可以下行行首的字符相连

  • --name 容器名字

  • -p 3306:3306 物理机端口:容器内部端口

  • -e 运行参数 初始化 root 用户的密码

  • `d 后台运行 mysql:5.7.19 下载的镜像名字加标签

  • --character-set-server=utf8mb4 : 设置 MySQL 服务器的默认编码为 utf8mb4

  • --collation-server=utf8mb4_unicode_ci : 设置 MySQL 服务器的默认排序规则为 utf8mb4_unicode_ci`

2.查看容器是否正常启动

完成第一步 docker run 后,使用 docker ps 命令查看是否成功运行:

3.查看可用选项

如果您想查看镜像 mysql:5.7.19 的所有的可用选项,只需运行:

docker run -it --rm mysql:5.7.19 --verbose --help

上面这条命令并不会创建一个新的 Docker 容器,请放心使用。

参数解释

  • --rm 表示 命令退出时自动移除容器

  • -i 表示 保持标准输入打开

  • -t 表示 分配一个伪TTY,以便您可以直接与远程应用程序进行交

比如我们运行以下命令:

docker run -it --rm mysql:5.7.19 --verbose --help | grep character-set-server

如上图所示,默认的编码为 latin1

连接Docker容器中的MySQL服务

在启动的容器中,执行一条命令:

docker container exec -it mysql5719_1 /bin/bash

参数解释

  • docker container exec: 在一个正在运行的容器中执行一条命令

  • /bin/bash 表示打开一个 Bash

接着,就可以在这个容器中运行 mysql 客户端了,命令如下:

mysql -h localhost -p

完整的过程如下:

参考文档

Docker 官网:介绍如何运行 mysql 镜像 跳转 click here
使用docker的mysql镜像 跳转 click here
如何查看一个docker镜像有哪些版本 跳转 click here

原文地址:https://www.cnblogs.com/kendoziyu/p/14777919.html