我现在试图在Docker容器启动时分配一个静态IP 172.17.0.1。
我使用端口2122作为这个容器的ssh端口,以便让这个容器侦听端口2122。
sudo docker run -i -t -p 2122:2122 ubuntu
这个命令将运行一个具有随机IP的Docker容器,如172.17.0.5,但我需要为容器分配一个特定的IP。
下面的shell脚本是我在高级网络设置中引用的Docker文档。
pid=$(sudo docker inspect -f '{{.State.Pid}}' <container_name> 2>/dev/null)
sudo rm -rf /var/run/netns/*
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid
sudo ip link add A type veth peer name B
sudo brctl addif docker0 A
sudo ip link set A up
sudo ip link set B netns $pid
sudo ip netns exec $pid ip link set eth0 down
sudo ip netns exec $pid ip link delete eth0
sudo ip netns exec $pid ip link set dev B name eth0
sudo ip netns exec $pid ip link set eth0 address 12:34:56:78:9a:bc
sudo ip netns exec $pid ip link set eth0 down
sudo ip netns exec $pid ip link set eth0 up
sudo ip netns exec $pid ip addr add 172.17.0.1/16 dev eth0
sudo ip netns exec $pid ip route add default via 172.17.42.1
这个shell脚本将分配一个静态IP 172.17.0.1和链接到世界罚款。但是每当我试图从本地ssh到这个容器时,它都不起作用。我可能遇到了什么问题?