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

我是新手并尝试从 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.

请帮我

stack overflow docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use
原文答案
author avatar

接受的答案

然后你只需绑定另一个端口

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 run 命令中,它会在退出时自动删除。像这样

docker run -p 5000:5000 --rm flask_demo:v0
作者头像

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

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

查找占用端口的程序

相关问题