4

我跑了这个:

docker run -ti -p 80:80 --name esproxy "$tag"

但我收到此错误:

docker:来自守护进程的错误响应:驱动程序在端点 esproxy 上编程外部连接失败(ead1fa4f09b2326cd1ff6aa0e3b8f8bfa5c9d353eb6db4efef6d188b81ea9df7):启动用户级代理时出错:监听 tcp 0.0.0.0:80:绑定:地址已在使用中。

所以我做了:

root@ip-172-xx-29-110:/interos/repos/nginx# lsof -i:80

我得到了:

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28213 root    4u  IPv6  64253      0t0  TCP *:http (LISTEN)

所以这个过程看起来像:

root     28213  0.0  0.0 116552  2620 ?        Sl   04:34   0:00 /snap/docker/384/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.2 -container-port 80

有人知道那个过程是什么吗?

4

2 回答 2

3

如果重新启动 docker 服务后,该docker-pr服务分配了一些容器端口,则您的容器将自动启动。

要检查您是否有一些容器正在运行,请使用:

docker ps

要停止这个容器,我们可以使用:

docker stop container_name

如果您有多个容器,我们可以使用:

docker stop $(docker ps -a -q)

要阻止容器自动启动,我们需要将其从自动重启中移除。

为此,请使用以下命令:

docker update --restart=no container_name

在此之后,您将能够重新启动您的 docker 服务,并且您将找不到任何自动启动的容器。

于 2021-03-09T12:50:38.977 回答
3

我遇到过同样的问题。

停止所有正在运行的容器并重新启动 docker 服务为我修复了它

service docker restart

然后再次启动你的容器

于 2020-03-06T20:07:16.977 回答