一尘不染

如何为Docker容器正确指定IP

docker

我正在尝试通过以下方式为我的docker容器明确指定IP地址:

sudo docker run -it -p 172.17.0.2:10000:10000 -p 9000:9000 -p 9090:9090 -v /home/eugene/dev/shared:/opt/shared -d eugene/dev_img_1.3

我收到以下错误:

Error response from daemon: Cannot start container b2242e5da6e1b701ba4880f25fa8d465d5f008787b49898ad9e46eb26e417e48: port has already been allocated

我真的不在乎端口10000。我的目标是选择一个特定的容器IP,并将端口9000和9090暴露给主机。

我看了其他一些问题,但没有看到明确的语法来做到这一点


阅读 680

收藏
2020-06-17

共1个答案

一尘不染

-p参数用于将端口从容器转发到主机,而不用于分配IP。

没有简单的方法将固定IP分配给Docker容器,我强烈建议您不要尝试。而是重新架构您的系统,使其不依赖于固定IP。如果确实不可能,我认为您可以使用LXC执行驱动程序和各种标志来选择IP,但我强烈建议您这样做。

2020-06-17