Windows下玩转docker(三)

docker网络:要解决的问题:就是容器之间通信的问题,这在集群搭建的是否re

结论:内部可以ping通

原理

docker每安装一个容器就会分配一个ip,我们安装了docker之后就会有一个网卡

这是用的桥接模式,veth-pair技术(虚拟技术接口,成对出现,一段连着协议,一段彼此相连)

容器之间是可以通信的

--link

解决通过名字就可以ping通的问题,而不是通过ip,因为每次docker重启的话ip都是会变的

通过下面的问题可以解决
docker run -d -P --name tomcat01 --link tomcat02 tomcat

但是这种方式已经不推荐了

一般我们不会去用docker0,因为它不支持容器名访问

自定义网络

网络模式

桥接:docker默认(自己创建也用)

none:不配置网络

host:和宿主机共享网络

container:容器内网络连通(用的少)

自定义网络

使用自己的网络

这样的话,只要是自己定义的网络,都可以通过容器名字来ping通

网络连通

其实就是将容器直接放到了对应的网络下,一个容器这个时候就是有两个ip了

redis集群搭建

docker network create redis --subnet 172.38.0.0/16

用对应的脚本

for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

之后分别启动

先进入第一个redis

springboot微服务构建docker镜像

构建springboot项目

打包应用

编写dockerfile

构建镜像

发布运行

猜你喜欢

转载自blog.csdn.net/2301_76875881/article/details/131358479
今日推荐