将docker容器绑定到OSX上的IP

时间:2015-03-05 21:50:45

标签: ip docker containers

在Ubuntu上我做了类似的事情

sudo ip addr add 192.168.33.30/21 dev eth0
docker run -p 192.168.33.30:80:80 -d foo/bar /sbin/my_init

然后我可以在http://192.168.33.30打开浏览器。

我如何在OSX上完成同样的事情?

(OSX没有' ip addr'以及这个boot2docker-vm的事情)

1 个答案:

答案 0 :(得分:0)

我发现这个解决方案适合我:

# Register IP address
sudo ifconfig lo0 add 192.168.33.30

# Run docker container with port 80 assigned to random free port
docker run -p 80 --name boing -d foo/bar /sbin/my_init

# Start SSH tunnel for port 80 (http)
TUNNEL_ADDR_PORT_80=$(docker port boing | grep 80 | awk '{print $3}')
sudo ssh -o IdentitiesOnly=yes -o StrictHostKeyChecking=no \
        -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -i $HOME/.ssh/id_boot2docker \
        -nNT -f -L 192.168.33.30:80:$TUNNEL_ADDR_PORT_80 \
        docker@$(boot2docker ip 2>/dev/null) &