使用Docker在本地启动3个MySQL镜像

首先执行 sudo docker pull mysql 命令下载mysql官方镜像:

[email protected]:~$ sudo docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
5e6ec7f28fb7: Pull complete
4140e62498e1: Pull complete
e7bc612618a0: Pull complete
1af808cf1124: Pull complete
ff72a74ebb66: Pull complete
3a28cb03e3dc: Pull complete
2b52dda3bd7d: Pull complete
dc89e81122ad: Pull complete
ecba98b7a588: Pull complete
109b011a27be: Pull complete
5f380f98ab52: Pull complete
cdda841f5c5c: Pull complete
Digest: sha256:048c2c616866c47c8a9fb604548d32ce842be292b56fba3d90fc07e0e143dac4
Status: Downloaded newer image for mysql:latest

然后使用 netstat -anp | grep 3306 命令是否被占用了,结果如下:

[email protected]:~$ sudo netstat -anp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      1044/mysqld
tcp6       0      0 :::33060                :::*                    LISTEN      1044/mysqld     

可以看到,3306端口已经被mysqld这个进程占用了,原因是我之前已经在我的电脑上启动了mysqld服务。

所以我们接下来启动的3台mysql的Docker镜像,在确定没有端口占用的情况下,我们将他们的3306端口分别映射到宿主机的3307、3308、3309端口。

使用如下命令创建3个mysql的docker容器:

sudo docker run --name mysql-node3307 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql
sudo docker run --name mysql-node3308 -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 -d mysql
sudo docker run --name mysql-node3309 -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -d mysql

使用 sudo docker ps 命令可以查看当前活跃的docker容器:

[email protected]:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
934bd2e04221        mysql               "docker-entrypoint.s…"   9 seconds ago       Up 7 seconds        33060/tcp, 0.0.0.0:3309->3306/tcp   mysql-node3309
0134cdc3c255        mysql               "docker-entrypoint.s…"   18 seconds ago      Up 16 seconds       33060/tcp, 0.0.0.0:3308->3306/tcp   mysql-node3308
725fc710270e        mysql               "docker-entrypoint.s…"   29 seconds ago      Up 28 seconds       33060/tcp, 0.0.0.0:3307->3306/tcp   mysql-node3307

可以看到,三台mysql容器已经启动起来了。

然后我们通过本地的mysql命令连接着三台mysql服务器:

mysql -uroot -p123456 -h127.0.0.1 -P3307
mysql -uroot -p123456 -h127.0.0.1 -P3308
mysql -uroot -p123456 -h127.0.0.1 -P3309

我们使用上面命令的一个连接到其中一台服务器,然后在mysql命令行执行 show variables like ‘version‘ 查看mysql的版本:

mysql> show variables like ‘version‘;
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 8.0.14 |
+---------------+--------+
1 row in set (0.00 sec)

可以看到,是最新版的8.0.14,如果需要其他版本,可以在 docker pull 的时候指定mysql大版本。

原文地址:https://www.cnblogs.com/zifeiy/p/10349874.html

时间: 2024-08-03 20:10:50

使用Docker在本地启动3个MySQL镜像的相关文章

详解使用DockerHub官方的mysql镜像生成容器

收藏 yope 发表于 10个月前 阅读 1506 收藏 32 点赞 1 评论 0 腾讯云·云上实验室:开发者零门槛,免费使用真机在线实验!>>>   摘要: 详解使用DockerHub官方的mysql镜像生成容器 一.下载官方的mysql镜像: 二.生成容器 : 三.进入到新生成的容器: 四.修改容器中mysql的配置文件 . 写在前面:看到网上关于利用DockerHub官方的mysql镜像生成容器此类的文档比较少,故结合自身实践分享给大家,还望多多指教. 我的需求:利用docker

docker安装启动、配置MySql

1.安装mysql镜像 docker pull mysql/mysql-server 2.docker中启动Mysql容器 docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server 启动后执行: docker ps 通过以下命令查看root的password docker logs mysql01 navicat连接mysql服务器测试 原因:mysql处于安全考虑,root用户只能在本地登录. 因此我们需要进入容器创建用户并授权.

MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”

MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5.7.13-winx64) 下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-winx64.zip 遇到的问题: 1. MySQL service 已经安装成功,创建了空的data文件夹,也填了初始化ini文件,但是无法启动

mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决

mysql5.7 本地计算机上的mysql 服务启动后停止. 问题: 在cmd 下mysql服务mysql服务无法启动任何错误法启动 服务没有报告任何错误 在服务里面启动是 早上来了发现项目有问题,一般把apache mysql 重启一下就没事了. apache 重启了,可是mysql重启不了, 就讲他停了.在服务里启动,这下可好....报错.就上面的死活起不来 ....项目还在跑不起来,客服那边打电话催....急死了,百度了好多方法. 好多都是需要重新初始化..mysqld  --initia

Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 docker run --name "mysql" -p 3307:3306 -e MYSQL_ROOT_PASSWORD=自己的数据库密码 -d mysql:5.6 --name    容器的名称 -p       本地(宿主机)端口:容器端口 -e MYSQL_ROOT_PASSWORD=*

关于在安装MySQL时报错"本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止"的解决方法

首先将你下载的MySQL安装或者解压(对应安装版和解压版),下载地址http://dev.mysql.com/downloads/mysql/ 然后复制你安装目录中的my-default.ini,更改名字为my.ini 然后打开cmd,输入语句mysqld --initialize --user=mysql --console,(看到生成个data文件,是系统默认创建数据库的),此时还会生成一个临时的密码(解压版默认为空),记住,会用到的 然后就继续使用命令行到你的安装目录bin目录下启动你的M

Visual Studio Code和Docker开发asp.net core和mysql应用

Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看看. .net猿上了小鲸鱼渡轮就先问了一个问题,苹果园上有能用来编写c#代码的和Visual Studio一样强大的IDE么?这时,天空闪过一道Gamma射线,艾瑞克神说,给你一个 Visual Stud

docker mysql 镜像下载

一.下载官方的mysql镜像,我用的https://dashboard.daocloud.io/orgs/zuikc/packages/explore国内的加速镜像,一般国外的比较慢 1. 在 terminal 中登录 docker login daocloud.io 2. 输入 docker pull 并复制粘贴以下镜像地址 daocloud.io/library/mysql:latest   下载完成后查看镜像: 二.生成容器 生成容器时,调用的启动脚本是/entrypoint.sh;通过查

一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

原文:一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏 欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.exception.site 小哈今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是小哈在工作中经常用到的,其中包括 Mysql