暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译文] Docker 容器中的 MySQL 备忘单

原创 Mortensi 2021-08-24
1062

这是一个备忘单,可在几分钟内在 Windows 或 Mac 笔记本电脑的 Docker 容器中运行 MySQL。在这个简短的操作指南中,您将:

  1. 在您的笔记本电脑中安装 Docker Desktop
  2. 下载官方 Oracle MySQL 镜像或 Docker Inc. 镜像
  3. 启动容器
  4. 管理它
  5. 启动 MySQL 会话并启动 Linux 会话

下载并安装 Docker

您可以从https://docs.docker.com/desktop/下载适用于 Windows 或 Mac 的 Docker 桌面。像安装任何其他应用程序一样安装,您就可以进入下一步了。正如您可以从文档中读到的,Docker Desktop 将安装一些东西,比如 Docker Compose 或 Kubernetes。在以后的文章中,我们将在高级示例中使用这两者。

拉取 MySQL 服务器镜像

现在您可以拉取 MySQL 服务器映像。你有两个选择。您可以下载Oracle MySQL 维护的镜像(在此处找到说明https://dev.mysql.com/doc/refman/8.0/en/linux-installation-docker.html

docker pull mysql/mysql-server:latest

或者你可以下载Docker Inc 维护的镜像。您可以在此处找到说明和示例:[https : //hub.docker.com//mysql](https : //hub.docker.com//mysql)

docker pull mysql

差异?Oracle MySQL 映像在 Oracle Linux 上运行,而 Docker Inc. 映像在 Debian 上运行。如果您有 MySQL 订阅,您将在遇到问题时获得对 Oracle MySQL Docker 映像的支持。

列出 Docker 镜像

您可以在此处列出全新的 MySQL 映像。注意 IMAGE ID 字段,您将需要它(我已经在以下输出中下载了两个图像,Oracle MySQL 和 Docker Inc.)。

docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql latest 5c62e459e087 6 days ago 556MB mysql/mysql-server latest 1504607f1ce7 6 weeks ago 391MB

在 Docker 容器中启动 MySQL 映像
您可以启动容器,然后选择一个:

  • 容器的名称(mysql_cnt在示例中)
  • 根密码
  • 您要启动的图像
docker run --name=mysql_cnt -e MYSQL_ROOT_PASSWORD="Password1*" --restart on-failure -d 5c62e459e087

在相应的镜像中查找配置实例的其他信息,请参阅相关文档。

验证容器是否正常启动

确保容器已升起。

docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 30f6e1462b9e 5c62e459e087 "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 3306/tcp, 33060/tcp mysql_cnt

故障排除

如果容器没有启动,可以查看日志。在这种情况下,一切正常。

ocker logs mysql_cnt [...] 2021-06-28T13:46:43.873232Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.25' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.

启动和停止容器

停止你的容器:

docker stop mysql_cnt mysql_cnt

验证它已停止:

docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 30f6e1462b9e 5c62e459e087 "docker-entrypoint.s…" 5 minutes ago Exited (0) 1 second ago mysql_cnt

并重新启动它:

docker start mysql_cnt mysql_cnt

取出容器

就像停止并运行一样简单:

docker rm mysql_cnt mysql_cnt

获取 mysql 命令行客户端会话

为了进行身份验证,您需要安装 mysql 命令行客户端,或者更好的是安装 MySQL Shell:

docker exec -it mysql_cnt mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.25 MySQL Community Server - GPL Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

创建 bash 会话

如果您想安装或编辑my.cnf:

docker exec -it mysql_cnt bash root@10b5e2727ef3:/#

请注意,如果您安装了基于 Debian 的发行版,您将能够安装以下内容:

apt-get update apt-get install vim

如果您安装了 Oracle MySQL 映像,则它附带安装了Oracle Linux。然后使用:

microdnf update microdnf install vim

你现在可以在你的笔记本电脑上设置 Docker,下载你最喜欢的 MySQL 镜像,在容器中启动它并停止它,还能够在 Linux 发行版中安装包。您可以像往常一样配置和优化MySQL,使用SET PERSIST(建议在可能的情况下手动编辑配置文件)。

如果您好奇并想探索运行 MySQL 容器化服务,您可能需要阅读官方文档。您会发现一些使用网络或进行备份的提示。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论