Docker 网络互相访问

本文介绍了Docker容器网络配置的三种主要方式:通过IP直接访问、使用link连接以及创建自定义网络。详细阐述了每种方式的工作原理及适用场景,并推荐使用自定义网络的方法来实现容器间的高效通信。
摘要由CSDN通过智能技术生成

对于docker容器,我们知道它是沙箱隔离的,每一个docker容器都是独立运行的,相当于一个独立的虚拟机,所以他们只能进行网路访问,如果我们使用docker run时启动容器,没有指定网路(--net参数),默认使用的bridge的网络类型。

#查看全部网路类型
docker network ls
#创建一个新的网路
docker network create mynetwork

创建三个容器,docker_redis,docker-nacos,docker-nacos


#创建redis使用默认网络
docker run --name=docker_redis  -d docker_redis

#创建nacos-docker使用默认网络
docker run --name=nacos-docker  -d docker-nacos

#创建docker-nacos使用mynetwork网络
docker run --name=docker-nacos --net=mynetwork --network-alias=nacosdockerservice -d docker-nacos

 查看docker_redis网路类型

 查nacos_docker网路类型

查看docker-nacos网路

  

 创建容器时使用同一个网路,创建出来的容器时属于同一个网段,如果使用不同网段创建处理的容器不属于同一个网段所以也就不能直接访问。

1.ip访问

 如果它们属于同一个网络设备,可以直接访问。这种方式必须知道每个容器的ip,在实际使用中并不实用。

 2.link方式

运行容器的时候加上参数link

--link:参数中第一个centos-1是容器名,第二个centos-1是定义的容器别名(使用别名访问容器),为了方便使用,一般别名默认容器名。

#第一容器
docker run --name=docker-nacos -d docker-nacos

#第二个容器
 docker run --name=docker-redis --link docker-nacos:docker-nacos docker-redis

 此方法对容器创建的顺序有要求,如果集群内部多个容器要互访,使用就不太方便。 

3.创建bridge网络

 3.1创建一个新的网路

docker network create mynetwork

3.2创建容器并使用,并且增加网络别名

#第一个容器
docker run --name=docker-nacos --net=mynetwork --network-alias=nacosdockerservice -d docker-nacos

#第二个容器
docker run --name=producter-one --net=mynetwork --network-alias=producter-one -d producter-one 

3.3使用容器别名访问

在 docker-nacos容器中可以直接ping producter-one

在producter-one容器中可以直接ping nacosdockerservice

 这三种方式,最推荐使用第三种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值