我第一次使用docker,我试图实现这个-
https://docs.docker.com/get-started/part2/#tag-the-image
在一个阶段,我试图通过这个命令连接到localhost -
$ 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.
当我使用nginx docker image时,我也得到了这个错误:
docker: Error response from daemon: driver failed programming external connectivity on endpoint recursing_knuth (9186f7d7f523732b99d3510029cde9679f3f3fe7b7eb5f612d54c4aacea58220): Bind for 0.0.0.0:8080 failed: port is already allocated.
我用下面的命令来解决它:
$ docker container ls
$ docker stop [CONTAINER ID]
然后,再次运行这个docker容器(像这样)就可以了:
$ docker run -v $PWD/vueDemo:/usr/share/nginx/html -p 8080:80 -d nginx:alpine
你只需要停止之前的docker容器。
如何停止docker进程
使Docker停止自身<-安全快速
这是停止容器和所有不可阻挡进程的最好方法:让docker来完成这项工作。
进入docker Settings > resources。更改任何资源并单击应用并重新启动。
Docker会停止自己和它的每一个进程——即使是那些最顽固的进程,这些进程可能不会被其他常用命令(如kill)或其他人建议的更疯狂的命令(如rm)杀死。
我以前也遇到过类似的问题,同事们给我的所有正确的建议都不太管用。每当我的团队中有人问我这个问题时,我都会分享这个安全的技巧。
Error response from daemon: driver failed programming external connectivity on endpoint foobar
Bind for 0.0.0.0:8000 failed: port is already allocated
希望这能有所帮助!