2020年10月

mac下docker-compose up 启动报错 failed: port is already allocated 解决方法

前几天在mac osx下启动docker-compose的时候无缘无故出现这类错误,导致无法启动服务:

userland proxy: Bind for 0.0.0.0:8080 failed: port is already allocated

网上查了大部分解决方法都是将local-kv.db这个文件删除, 例如:

sudo service docker stop
docker rm $(docker ps -aq)
sudo rm /var/lib/docker/network/files/local-kv.db
sudo service docker start

我的osx使用的Docker Desktop for Mac, 我们要知道Docker Desktop实际上是使用虚拟机下运行的docker服务, 所以我们需要先进入该虚拟机来进行操作:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

然后再进行上面的删除操作:

rm /var/lib/docker/network/files/local-kv.db

按control+c+d退出 screen 并重启docker服务, 这样就完成了重置, 此时docker-compose up应该能把服务重新起起来了