Docker – 绑定0.0.0.0:4000失败:端口已被分配
我第一次使用docker,并试图实现这个 – https://docs.docker.com/get-started/part2/#tag-the-image
在一个阶段,我试图通过这个命令与本地主机连接 –
$ curl http://localhost:4000
显示这个错误 –
curl: (7) Failed to connect to localhost port 4000: Connection refused
不过,我已经通过以下代码解决了这个问题 –
$ docker-machine ip default $ curl http://192.168.99.100:4000
之后,一切正常,但在最后一部分,我试图通过使用下面的行根据教程运行应用程序…
$ docker run -p 4000:80 anibar/get-started:part1
但是,我得到了这个错误
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint goofy_bohr (63f5691ef18ad6d6389ef52c56198389c7a627e5fa4a79133d6bbf13953a7c98): Bind for 0.0.0.0:4000 failed: port is already allocated.
似乎港口分配,所以你可以请帮助我告诉我如何解决这个..非常感谢:)
在启动使用相同端口的新容器之前,需要确保启动的上一个容器已被杀死。
docker image ls docker rm -f <container-name>
向IgorBeaz致敬,你需要停止运行当前的容器。 为此,你要知道当前的CONTAINER ID:
$ docker container ls
你得到像这样的东西:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 12a32e8928ef friendlyhello "python app.py" 51 seconds ago Up 50 seconds 0.0.0.0:4000->80/tcp romantic_tesla
然后你通过以下方式停止容器:
$ docker stop 12a32e8928ef
最后你试着做你想做的事情,例如:
$ docker run -p 4000:80 friendlyhello