当我在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了,但没用。
当前回答
我遇到了这个问题。我的简单解决方案是从系统中删除mongodb
Ubuntu中删除mongodb的命令:
sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get autoremove
其他回答
这很可能是因为你已经在你的主机操作系统上运行了一个web服务器,所以它与Docker试图启动的web服务器冲突。
所以,在尝试其他任何方法之前,先试试下面这句话:
Sudo服务apache2停止;Sudo service nginx stopSudo nginx停止;
让我再加一个例子,因为我有同样的错误,目前列出的解决方案都不可行:
serv1:
...
networks:
privnet:
ipv4_address: 10.10.100.2
...
serv2:
...
# no IP assignment, no dependencies
networks:
privnet:
ipam:
driver: default
config:
- subnet: 10.10.100.0/24
根据init顺序,serv2可能会在serv1启动之前被分配IP 10.10.100.2,所以我只是手动为所有容器分配IP以避免错误。也许还有其他更优雅的方式。
当我试图启动一个新的容器时,我得到了下面的错误
监听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
然后尝试重新启动容器,它应该可以工作
@DmitrySandalov的回答:我在8080上运行tomcat/java,它需要继续运行。看看船坞。Yml文件并将8080的条目更改为我选择的另一个条目。
nginx:
build: nginx
ports:
#- '8080:80' <-- original entry
- '8880:80'
- '8443:443'
完美的工作。(唯一的问题是,如果我更新项目,更改将被删除,因为它来自外部回购。)
我也有同样的问题, (在运行Docker-compose up的目录下) 帮助
UPD:注意-这也会删除你从评论中提取的本地docker图像