如何杀死 docker 的使用端口

How to kill used port of docker

我正在尝试 运行 一张 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 ?

要扩展 Robert Moskal 的回答,您需要杀死该端口上已有的任何内容:

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

狩猎愉快!

我用过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.)

就我而言,在主机上使用 fuser 没有解决问题。

相反,在 docker 上安装 psmisc,然后使用 fuser

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

它对我有用。