【问题标题】:How to kill used port of docker如何杀死已使用的 docker 端口
【发布时间】:2016-05-15 02:52:37
【问题描述】:

我正在尝试运行一个 docker 映像,它说地址已在使用中

 driver failed programming external connectivity on endpoint jovial_saha (c79c98cbcef6340cd7867571278f401c9cbea1fd7137a39fe5d7de1c454d4e6e): Error starting userland proxy: listen tcp 0.0.0.0:9042: bind: address already in use.

但是我已经删除了所有容器和图像,然后即使我调用来运行我的图像

docker run -d -p 9042:9042 myimage . i get above error. what  should i do ?

【问题讨论】:

  • 那台机器上的东西正在监听端口 9042。

标签: docker docker-compose dockerfile


【解决方案1】:

要扩展 Robert Moskal 的答案,您需要杀死该端口上已经存在的所有内容:

  • 再次杀死所有容器
  • 如果您使用的是 Linux,请使用 fuser -k 9042/tcp 终止在您的端口上运行的进程
  • 如果上述步骤不起作用,请重新启动计算机并重试。

狩猎愉快!

【讨论】:

  • 我的本地端口被阻止。我是 docker 新手,似乎很喜欢我错过\忽略了我在同一端口上运行的本地进程。感谢您的快速帮助。
  • 这也让我很生气 :-(
【解决方案2】:

我使用sudo。它对我有用。

sudo fuser -k 9042/tcp

我检查端口状态:

$ netstat -pna | grep 9042
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)

【讨论】:

    【解决方案3】:

    在主机上使用 fuser 无法为我解决问题。

    我解决了,

    在 docker 上安装 psmisc 和用户 fuser

    $ apt-get install psmisc
    $ fuser -k 9042/tcp
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 2018-05-26
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      相关资源
      最近更新 更多