当我在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了,但没用。
当前回答
更改docker更新的端口比关闭其他使用端口80的服务更有意义。
其他回答
我也有同样的问题, (在运行Docker-compose up的目录下) 帮助
UPD:注意-这也会删除你从评论中提取的本地docker图像
我在我的ubuntu机器上运行apache。我用这个命令杀死了它!
sudo /etc/init.d/apache2 stop
让我再加一个例子,因为我有同样的错误,目前列出的解决方案都不可行:
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以避免错误。也许还有其他更优雅的方式。
也许这太粗鲁了,但对我来说很管用。重新启动docker服务本身
sudo service docker restart
希望它也适用于你!
这帮助了我:
docker-compose down # Stop container on current dir if there is a docker-compose.yml
docker rm -fv $(docker ps -aq) # Remove all containers
sudo lsof -i -P -n | grep <port number> # List who's using the port
然后: kill -9 <进程id> (macOS)或sudo kill <进程id> (Linux)。
来源:用户Rub21的评论。