docker手动配置网络
admin
2023-04-05 17:21:45
0

创建一个没有网络配置的容器

[root@localhost ~]# docker run -i -t --rm --net=none alpine sh
/ #

打开另一个终端
查看容器id

[root@localhost ~]# docker ps -a

查找进程id

[root@localhost ~]# docker inspect -f '{{.State.Pid}}' 2aefc41dbdeb 
9076
[root@localhost ~]# pid=9076

创建命名空间

[root@localhost ~]# mkdir -p /var/run/netns
[root@localhost ~]# ln -s /proc/$pid/ns/net /var/run/netns/$pid

查看桥接网卡的IP 和子网掩码信息

[root@localhost ~]# ip addr show docker0
5: docker0:  mtu 1500 qdisc noqueue state DOWN
    link/ether 02:42:8e:e7:64:4a brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global docker0
       valid_lft forever preferred_lft forever

创建一对"veth pair"接口A和B

[root@localhost ~]# sudo ip link add A type veth peer name B

绑定A接口到网桥docker0

[root@localhost ~]# sudo brctl addif docker0 A

并启用它

[root@localhost ~]# sudo ip link set A up

将B 接口放到容器的网络命名空间

[root@localhost ~]# sudo ip link set B netns $pid

命名为eth0

[root@localhost ~]# sudo ip netns exec $pid ip link set dev B name eth0

开启网络接口B

[root@localhost ~]# sudo ip netns exec $pid ip link set eth0 up

配置一个可用IP(桥接网段)

[root@localhost ~]# sudo ip netns exec $pid ip addr add 172.18.0.99/16 dev eth0

配置默认网关

[root@localhost ~]# sudo ip netns exec $pid ip route add default via 172.18.0.1

最后回到容器检查一下网卡配置

/ # ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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
18: eth0@if19:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 6e:b9:75:8e:f4:99 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.99/16 scope global eth0
       valid_lft forever preferred_lft forever
/ # ping baidu.com
PING baidu.com (123.125.114.144): 56 data bytes
64 bytes from 123.125.114.144: seq=0 ttl=53 time=2.827 ms
64 bytes from 123.125.114.144: seq=1 ttl=53 time=2.900 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2.827/2.863/2.900 ms

相关内容

热门资讯

特朗普声称考虑让委内瑞拉成为美... 据英国《独立报》5月11日报道,美国总统特朗普在接受福克斯新闻采访时表示,正认真考虑采取行动,将委内...
长沙全球研发中心城市建设成型起... 长沙全力建设全球研发中心城市,在全球创新坐标系中稳步进位。 2025年,长沙跃居全球科技集群百强榜第...
【微特稿】AI会取代哪些职业?... 【新华社微特稿】当前,人们日益担忧人工智能(AI)将影响就业市场。美国近期一项研究显示,多个人工智能...
恶意退款退货,不能仅靠“较真”... 近日,河南榴莲卖家程先生因190元订单驱车1600公里跨省维权,引发舆论关注。买家收货后以“发霉”为...
Hexagon与Schaeff... Hexagon Robotics与运动技术公司Schaeffler宣布扩大双方战略合作关系,在202...
商业世界模型与因果推断:京东智... 当 AI 从辅助工具逐步演进为独立决策者,如何让 AI 在极其复杂、试错成本极高的真实电商环境中独立...
江西抚州高端磁性材料产业专题推... 央广网南昌5月10日消息(记者郇康新)5月9日下午,由江西省商务厅、抚州市人民政府主办,抚州市商务局...
青海大通17岁失联女生,遗体已... 融媒记者从大通县公安局了解到:2026年5月8日6时15分,大通县公安局桥头派出所接群众报警称,其女...
法国颁布归还非法所获文物法律,... 根据法国政府10日发布的公报,法国总统马克龙9日颁布了关于归还非法所获文物的法律。相关法案于7日在法...
德乌将联合生产航程达1500公... 新华社基辅5月11日电 (记者李东旭)正在乌克兰首都基辅访问的德国国防部长鲍里斯·皮斯托里乌斯11日...