我第一次使用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.

当前回答

对我来说,容器没有显示运行,所以没有使用端口9010(在我的情况下),但Docker仍然抱怨。

我不想重置我的Docker (Windows),所以我所做的解决方法很简单:

删除网络(我知道在容器使用该端口(9010)之前使用此网络)docker network ls docker network rm blabla(或id) 实际上,我使用了一个新的网络,而不是旧的(有bug的)网络,但不应该需要 重启码头工人

这是唯一对我有效的方法。我无法解释,但不知何故,“旧”网络仍然绑定到那个端口(9010),Docker一直在“阻止”它(抱怨它)

其他回答

以上两个答案是正确的,但对我不适用。

我一直看到像下面这样的码头集装箱的空白 然后我尝试,docker容器ls -a之后,它显示了所有之前退出和运行的进程。 然后docker stop <容器id>或docker container stop <容器id>就不工作了 然后我尝试了docker rm -f <容器id>,它工作了。 现在,我尝试了docker容器ls -a,这个过程不存在。

如何停止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

希望这能有所帮助!

对我来说,容器没有显示运行,所以没有使用端口9010(在我的情况下),但Docker仍然抱怨。

我不想重置我的Docker (Windows),所以我所做的解决方法很简单:

删除网络(我知道在容器使用该端口(9010)之前使用此网络)docker network ls docker network rm blabla(或id) 实际上,我使用了一个新的网络,而不是旧的(有bug的)网络,但不应该需要 重启码头工人

这是唯一对我有效的方法。我无法解释,但不知何故,“旧”网络仍然绑定到那个端口(9010),Docker一直在“阻止”它(抱怨它)

Docker ps将显示在Docker上运行的容器列表。找到一个在您需要的端口上运行的程序,并记下它的PID。

使用以下命令停止并删除该容器:

docker stop PID
docker rm PID

现在运行docker-compose up,您的服务应该在释放所需端口后运行。

快速修复是一个重启docker:

Sudo服务停止 Sudo服务docker启动