12 amazon-ec2 amazon-web-services docker docker-compose docker-run
我跑了这个:
docker run -ti -p 80:80 --name esproxy "$tag"
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
docker:来自守护程序的错误响应:驱动程序在端点 esproxy 上编程外部连接失败(ead1fa4f09b2326cd1ff6aa0e3b8f8bfa5c9d353eb6db4efef6d188b81ea9df7):启动用户态代理时出错:侦听 tcp 0.0.0.0:80:绑定:地址已在使用中。
所以我做了:
root@ip-172-xx-29-110:/interos/repos/nginx# lsof -i:80
Run Code Online (Sandbox Code Playgroud)
我得到了:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28213 root 4u IPv6 64253 0t0 TCP *:http (LISTEN)
Run Code Online (Sandbox Code Playgroud)
所以这个过程看起来像:
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
Run Code Online (Sandbox Code Playgroud)
有人知道那个过程是什么吗?
如果您重新启动 docker 服务后,该docker-pr服务分配了一些容器端口,则您的容器将自动启动。
要检查您是否有某个容器正在运行,请使用:
docker ps
Run Code Online (Sandbox Code Playgroud)
要停止这个容器,我们可以使用:
docker stop container_name
Run Code Online (Sandbox Code Playgroud)
如果您有多个容器,我们可以使用:
docker stop $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)
要阻止容器自动启动,我们需要将其从自动重启中删除。
为此,请使用以下命令:
docker update --restart=no container_name
Run Code Online (Sandbox Code Playgroud)
之后,您将能够重新启动 docker 服务,并且您将不会发现任何容器自动启动。