创建容器时的网络问题

来源:4-2 创建MySQL集群

超人迪加123

2021-03-06

创建PXC容器的指令:
docker run
-d
-p 3306:3306
-v v1:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=abc123456
-e CLUSTER_NAME=PXC
-e XTRABACKUP__PASSWORD=abc123456
-e CLUSTER_JOIN=node1(第一个节点不需要这个参数)
–privileged
–name=node1
–net=net1
–ip 172.18.0.2
PXC
在这个指令里:
-p 3306:3306 指的是将docker 容器的3306端口(自定义)映射到宿主机上的3306端口,
–net=net1 指的是这台容器使用的网段是之前创建好的net1。
–ip 172.18.0.2 指的是这台容器的ip地址。
问题:
1.既然docker容器的端口已经和宿主机的端口关联了,数据库接使用的也是-p参数设置的端口,这个过程有经过net1设置的网段吗?
2.后面的–ip 设置的172.18.0.2 ip地址是来自net1网段中的某个ip地址,这样子的意思吗??

写回答

1回答

神思者

2021-03-06

docker创建的容器都会分配一个虚拟的网卡,而且这个网卡的IP地址是不固定的,我们通过参数的方式设定了固定的IP地址,如果3306端口不映射到宿主机,容器之间是可以访问到3306的,但是我们的MySQL客户端无法访问,所以要映射到宿主机。映射出来的端口跟net1没有关系

0
5
超人迪加123
回复
神思者
找到问题了,配置文件空格缩进混乱,格式不正确导致。已解决。谢谢老师。
2021-03-07
共5条回复

Docker环境下的企业级前后端分离项目部署与运维

手把手带你学会项目分布式集群部署,让你的系统不再惧怕宕机

2459 学习 · 1018 问题

查看课程