当我在Docker项目中运行Docker -compose up时,它失败了,并显示以下消息:
启动userland代理时错误:监听tcp 0.0.0.0:3000:绑定:地址已在使用
netstat -pna | grep 3000
显示了这个:
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN -
我已经试过docker-compose down了,但没用。
当我在Docker项目中运行Docker -compose up时,它失败了,并显示以下消息:
启动userland代理时错误:监听tcp 0.0.0.0:3000:绑定:地址已在使用
netstat -pna | grep 3000
显示了这个:
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN -
我已经试过docker-compose down了,但没用。
当前回答
当我试图启动一个新的容器时,我得到了下面的错误
监听TCP 0.0.0.0:8080: bind:地址已被使用。
查看8080端口上运行的进程:
Netstat -tulnp |握把 8080
我得到了下面的输出
[root@ip-112-x6x-2x-xxx.xxxxx.compute.internal (aws_main) ~]# netstat -tulnp | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN **12749**/java [root@ip-112-x6x-2x-xxx.xxxxx.compute.internal (aws_main) ~]#
run
击杀-9 12749
然后尝试重新启动容器,它应该可以工作
其他回答
改变network_mode:“bridge”到“host”。
这与
version: '2.2'
services:
bind:
image: sameersbn/bind:latest
dns: 127.0.0.1
ports:
- 172.17.42.1:53:53/udp
- 172.17.42.1:10000:10000
volumes:
- "/srv/docker/bind:/data"
environment:
- 'ROOT_PASSWORD=secret'
network_mode: "host"
我今天下午升级了我的码头机,遇到了同样的问题。我尝试重新启动docker,但没有运气。
最后,我不得不重新启动我的电脑,它工作了。绝对是个bug。
我有同样的问题,通过停止docker容器,它得到了解决。
sudo docker container stop <container-name>
这很可能是因为你已经在你的主机操作系统上运行了一个web服务器,所以它与Docker试图启动的web服务器冲突。
所以,在尝试其他任何方法之前,先试试下面这句话:
Sudo服务apache2停止;Sudo service nginx stopSudo nginx停止;
检查docker-compose。Yml,可能会出现端口被指定两次的情况。
version: '3'
services:
registry:
image: mysql:5.7
ports:
- "3306:3306" <--- remove either this line or next
- "127.0.0.1:3306:3306"