问题描述

曾经用docker部署过Nginx,用docker stop和docker rm命令停止并删除了容器。但是之后部署rancher的时候提示80端口被占用。

$ docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
fe8b473d8f5a855e1fe2fd8ba445affa4c2a8782b5c5af051240453044b7429a
docker: Error response from daemon: driver failed programming external connectivity on endpoint beautiful_wilson (db7dace3bb33ebaf0d42ee00f6f3d2eef2bd5b19dd0cce84b9c0ec3e9d35e49b): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

方法1 - lsof

lsof -i:端口ID
不是root的话,该命令什么反应都没有。

$ lsof -i:80

要在前面填上sudo

$ sudo lsof -i:80
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   1133  root    6u  IPv4  47894      0t0  TCP *:http (LISTEN)
nginx   1134 nginx    6u  IPv4  47894      0t0  TCP *:http (LISTEN)
nginx   1135 nginx    6u  IPv4  47894      0t0  TCP *:http (LISTEN)

用PID杀死进程( 似乎只杀第一个user是root的就行。因为杀第二个的时候报 “ No such process ” )

$ sudo kill 1133

再次用lsof的时候发现没有返回值了

$ sudo lsof -i:80

这样就已经把80端口的进程杀掉了,运行rancher的时候不再报错

$ docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
70a423081911401342c7f6327c6f55fd903053dc5b88a2aa1f1cd5edbc35c564

方法2 - netstat

netstat -tanlp
会发现不是root的话80端口的PID/Program name一栏是“-” 。

$ netstat -tanlp
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -
tcp        0      0 192.168.73.137:40264    34.107.221.82:80        TIME_WAIT   -
tcp        0      0 192.168.73.137:40260    34.107.221.82:80        TIME_WAIT   -
tcp        0      0 192.168.73.137:60804    52.36.14.43:443         ESTABLISHED 2127/firefox
tcp6       0      0 ::1:631                 :::*                    LISTEN      -

然后根据提示用sudo netstat -tanlp即可查看。再像方法1那样用sudo kill PID编号杀死进程即可

Ubuntu下端口被占用问题相关推荐

  1. Windows 下端口被占用

    0. 参考 参考链接:   Windows下如何查看某个端口被谁占用 1. 遇到的问题 在 Windows 下的 IDEA 中启动 Web 服务显示 8080 端口被占用,程序无法正确启动. 2. 解 ...

  2. Linux下端口被占用如何解决

    有时候关闭软件后,后台进程死掉,导致端口被占用.下面以端口8003被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln 例如:netstat -tln | gre ...

  3. Linux下端口被占用解决

    有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法一: 1.查找被占用的端口 netstat -tln netstat -tln | ...

  4. ubuntu 查看端口被占用并处理

    当启动程序出现端口号被占用的情况,需要查看端口使用情况,使用netstat命令,下面是常用的几个查看端口情况的命令: 查看所有的服务端口(ESTABLISHED netstat -a 查看所有的服务端 ...

  5. ubuntu 8000端口被占用

    一个简单的解决方案只是键入sudo fuser -k 8000/tcp.这应该会杀死与端口8000相关联的所有进程

  6. 查看端口被占用并删除端口( Ubuntu )

    Ubuntu 查看端口被占用并删除端口 一.首先查看特定端口是占用了: sudo netstat -nplt 二.其次要删除特定端口并查看: kill -9 pid_num 三.这里顺便熟悉一下net ...

  7. 端口被占用的情况,怎样解决端口被占用(结束端口进程)

    前言 在使用idea的过程中会很容易遇到端口被占用的情况,那我们要怎样来解决它呢? 一.端口被占用的情况: 1:查看是否在上一个项目启动未关闭,导致与你运行的项目端口冲突 ,报错信息:Failed t ...

  8. LInux下Ubuntu下查看端口占用及关闭

    1.查看所有进程 ps -ef 或者 ps -aux a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分 2.查看使用某端口的占用 lsof -i:8080 或者: ne ...

  9. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

最新文章

  1. Linux下VS Code中C/C++开发环境的includePath设置
  2. Node.js与Express4安装与配置
  3. 科普帖:Linux操作系统
  4. java thread.sleep 声明_java 线程Thread.Sleep详解(转载)
  5. 数据结构——图的深度遍历
  6. GitHub 最受欢迎的Top 20 JavaScript 项目
  7. 请使用复选框选择_使用可选是可选的
  8. 【机器学习】六种算法在人脸补全中的应用比较(K紧邻,线性,决策树,岭回归,套索回归,ElasticNet)
  9. PHP 查找链表倒数第i个节点
  10. 笔记本相机测试软件,联想笔记本人脸识别软件(Lenovo VeriFace)
  11. 浙大PAT甲级-1002
  12. 伍斯特理工学院计算机科学硕士,美国伍斯特理工学院数据科学硕士录取
  13. codeforces1428F Fruit Sequences
  14. SEM竞价和SEO优化有哪些区别?
  15. 诺禾-数据库操作优化
  16. poj 1655 树的重心
  17. jquery slideToggle 动画问题
  18. 关于以太坊公开的4个测试网络的区别:
  19. 苹果(maccms V10) Python 采集豆瓣评分直接入库。
  20. 大众点评:下一个百亿公司

热门文章

  1. 大一小白爬虫初试(初学者必看)
  2. C语言中 sizeof(数组名) 和 strlen(数组名) 的意义
  3. 8除以2表示什么意思_你知道这些俗语的意思吗?1.三下五除二:( ) 2.八九不离十:( ) 3.九牛二虎之力:( ) 4.十万八千里:( )...
  4. 14:00面试,14:06就出来了,问的问题有点变态。。。
  5. 打豆豆的聊天室(模拟socket)
  6. matlab提示output,强制Matlab输出到命令行(Force Matlab output to command line)
  7. 阿里云Aliware首批“铂金合作伙伴”花落谁家?——北京天源迪科当之无愧!!!...
  8. wstring写文件
  9. SQL中count和case when结合使用统计某个条件下不重复的记录数
  10. 访问数据库_常用的数据库访问方式是什么?