如何访问docker内php,docker不同容器如何访问

77f8c0e39f96af74c540cb5c51b25d0d.png

docker中不同容器间的访问方法:

虚拟ip访问

安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问。[root@33fcf82ab4dd /]# [root@CentOS ~]# ifconfig

......

docker0: flags=4163 mtu 1500

inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0

inet6 fe80::42:35ff:feac:66d8 prefixlen 64 scopeid 0x20

ether 02:42:35:ac:66:d8 txqueuelen 0 (Ethernet)

RX packets 4018 bytes 266467 (260.2 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 4226 bytes 33935667 (32.3 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

......

运行一个centos镜像, 查看ip地址得到:172.17.0.7[root@CentOS ~]# docker run -it --name centos-1 docker.io/centos:latest

[root@6d214ff8d70a /]# ifconfig

eth0: flags=4163 mtu 1500

inet 172.17.0.7 netmask 255.255.0.0 broadcast 0.0.0.0

inet6 fe80::42:acff:fe11:7 prefixlen 64 scopeid 0x20

ether 02:42:ac:11:00:07 txqueuelen 0 (Ethernet)

RX packets 16 bytes 1296 (1.2 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 8 bytes 648 (648.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

以同样的命令再起一个容器,查看ip地址得到:172.17.0.8[root@CentOS ~]# docker run -it --name centos-2 docker.io/centos:latest

[root@33fcf82ab4dd /]# ifconfig

eth0: flags=4163 mtu 1500

inet 172.17.0.8 netmask 255.255.0.0 broadcast 0.0.0.0

inet6 fe80::42:acff:fe11:8 prefixlen 64 scopeid 0x20

ether 02:42:ac:11:00:08 txqueuelen 0 (Ethernet)

RX packets 8 bytes 648 (648.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 8 bytes 648 (648.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

容器内部ping测试结果如下:[root@33fcf82ab4dd /]# ping 172.17.0.7

PING 172.17.0.7 (172.17.0.7) 56(84) bytes of data.

bytes from 172.17.0.7: icmp_seq=1 ttl=64 time=0.205 ms

bytes from 172.17.0.7: icmp_seq=2 ttl=64 time=0.119 ms

bytes from 172.17.0.7: icmp_seq=3 ttl=64 time=0.118 ms

bytes from 172.17.0.7: icmp_seq=4 ttl=64 time=0.101 ms

创建bridge网络

1、安装好docker后,运行如下命令创建bridge网络:docker network create testnet

查询到新创建的bridge testnet。

22b5df7e546a0f032d295cb179c4d445.png

2、运行容器连接到testnet网络。

使用方法:docker run -it --name ---network --network-alias [root@CentOS ~]# docker run -it --name centos-1 --network testnet --network-alias centos-1 docker.io/centos:latest

[root@CentOS ~]# docker run -it --name centos-2 --network testnet --network-alias centos-2 docker.io/centos:latest

3、从一个容器ping另外一个容器,测试结果如下:[root@fafe2622f2af /]# ping centos-1

PING centos-1 (172.20.0.2) 56(84) bytes of data.

bytes from centos-1.testnet (172.20.0.2): icmp_seq=1 ttl=64 time=0.158 ms

bytes from centos-1.testnet (172.20.0.2): icmp_seq=2 ttl=64 time=0.108 ms

bytes from centos-1.testnet (172.20.0.2): icmp_seq=3 ttl=64 time=0.112 ms

bytes from centos-1.testnet (172.20.0.2): icmp_seq=4 ttl=64 time=0.113 ms

更多相关教程,请关注PHP中文网docker教程栏目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值