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

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

zifeiy@zifeiy-PC:~$ 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 命令是否被占用了,结果如下:

zifeiy@zifeiy-PC:~$ 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容器:

zifeiy@zifeiy-PC:~$ 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大版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值