在端口定义中指定IP地址时,Docker产生'已经分配的端口'

docker工人遇到了一个奇怪的问题。

sudo docker run -d -p 54.201.110.30:80:80 image

结果是

2015/02/03 23:36:28来自守护程序的错误响应:无法启动容器86eea21e1a83a115fdf77c87303f94d56dd5ed4f07fb946d8abea85532761f28:端口已被分配

sudo docker run -d -p 80:80 image

工作得很好。 主机上的端口80是空闲的(使用netstat -l进行检查)。

任何想法可能是一个原因?

我在Fedora 20上遇到了类似的问题,但偶尔也有“端口已经分配”的问题。

service docker restartsystemctl restart docker一般修复间歇性启动问题。 我从来没有在CoreOS上遇到这个问题,似乎已经消失在1.4版本。

您还应该将您的用户添加到docker组,而不是使用sudo 。 不要忘记login时应用组,所以您可能需要重新login才能看到您的组已更新。

原因是IP地址没有被分配给主机。