1
2
3
4
5
6
7
8
官方没有提供直接修改虚拟机IP 地址的方法,在boot2docker启动的时候加一段shell
这边以 mac 为例,docker-machine 驱动是 virtualbox,我们强制修改某个 docker-machine 的 IP 地址
echo "ifconfig eth1 192.168.99.100 netmask 255.255.255.0 broadcast 192.168.99.255 up" | docker-machine ssh [your machine name] sudo tee /var/lib/boot2docker/bootsync.sh > /dev/null

然后需要重新生成一下证书(只需要第一次)

docker-machine regenerate-certs [your machine name]

或者

1
2
3
4
cat << EOF | docker-machine ssh default sudo tee /var/lib/boot2docker/bootsync.sh > /dev/null
ifconfig eth1 10.100.1.100 netmask 255.255.255.0 broadcast 10.100.1.255 up
ip route add default via 10.100.1.1
EOF

修改新添加网卡的IP地址,以达到映射给docker容器的目的,可以使用以下脚本修改IP

1
2
3
4
5
6
cat changeIP.sh

ifconfig eth1 10.100.1.100 netmask 255.255.255.0 broadcast 10.100.1.255 up

#网卡从eth0开始为网卡1
#ethx后面的IP地址为希望分配的IP地址