docker:来自守护程序的错误响应:端口不可用:侦听 tcp 0.0.0.0:5000:绑定:地址已在使用中

docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use

我是新手,正在尝试使用 DigitalOcean this tutorial,但是当我尝试 docker run -p 5000:5000 flask_demo:v0 时,出现以下错误。

docker:

Error response from daemon: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use.

请帮帮我

那你再绑定一个端口就可以了

docker run -p 5001:5000 flask_demo:v0

-p 5001:5000 基本上意味着,将我的 host machine 中的端口 5001 与容器中的端口 5000 绑定。由于端口 5000 已在您的主机中使用,因此您可以绑定另一个端口示例:端口 5001

你可能运行申请过一次。当 docker 容器退出时,它仍在您的计算机上并分配了端口。

要查看您拥有的容器,运行 命令

docker ps -a

您可能会看到列出的旧容器,并且它正在使用端口 5000。 用

删除它
docker rm <container name>

现在端口再次可用。

如果您认为容器退出后不需要查看它,您可以将 --rm 参数添加到 docker 运行 命令,然后它'退出时会自动删除。像这样

docker run -p 5000:5000 --rm flask_demo:v0

先找出是什么进程占用了端口: ss -aultnp|grep 5000

获取程序: pid ps -ef|grep pid

查找占用端口的程序