设为首页 加入收藏

TOP

docker容器网络(七)
2023-07-23 13:29:41 】 浏览:126
Tags:docker 容器网
OWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 16: veth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether e6:c1:94:d2:dc:de brd ff:ff:ff:ff:ff:ff link-netns ns1 inet 10.0.0.1/24 scope global veth0 valid_lft forever preferred_lft forever inet6 fe80::e4c1:94ff:fed2:dcde/64 scope link valid_lft forever preferred_lft forever //ns1 [root@localhost ~]# ip netns exec ns1 ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 17: veth1@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 2e:99:b0:9c:c2:23 brd ff:ff:ff:ff:ff:ff link-netns ns0 inet 10.0.0.2/24 scope global veth1 valid_lft forever preferred_lft forever inet6 fe80::2c99:b0ff:fe9c:c223/64 scope link valid_lft forever preferred_lft forever

从上面可以看出,我们已经成功启用了这个veth pair,并为每个veth设备分配了对应的ip地址。我们尝试在ns1中访问ns0中的ip地址:

[root@localhost ~]# ip netns exec ns1 ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.064 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.041 ms
^C
--- 10.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1013ms
rtt min/avg/max/mdev = 0.041/0.052/0.064/0.013 ms

可以看到,veth pair成功实现了两个不同Network Namespace之间的网络交互。

veth设备重命名

[root@localhost ~]# ip netns exec ns0 ip link set veth0 down
[root@localhost ~]# ip netns exec ns0 ip link set dev veth0 name eth0
[root@localhost ~]# ip netns exec ns0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
16: eth0@if17: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether e6:c1:94:d2:dc:de brd ff:ff:ff:ff:ff:ff link-netns ns1
    inet 10.0.0.1/24 scope global eth0
       valid_lft forever preferred_lft forever
[root@localhost ~]# ip netns exec ns0 ip link set eth0 up

容器常用操作

查看容器主机名

[root@localhost ~]# docker run -it --name t1 --network bridge --rm busybox
/ # hostname
a0e82ecbc3e1

在容器启动时注入主机名

[root@localhost ~]# docker run -it --name t1 --network bridge --hostname zxr --rm busybox
/ # hostname
zxr
/ # cat /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2      zxr			//注入主机名时会自动创建主机名到IP的映射关系
/ # cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114		//DNS也会自动配置为宿主机的DNS
nameserver 8.8.8.8
/ # ping www.baidu.com
PING www.baidu.com (14.215.177.39): 56 data bytes
64 bytes from 14.215.177.39: seq=0 ttl=127 time=25.073 ms
64 bytes from 14.215.177.39: seq=1 ttl=127 time=26.718 ms
^C
--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets receiv
首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇harbor仓库部署 下一篇podman的部署和应用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目