Ubuntu下端口被占用问题
问题描述
曾经用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下端口被占用问题相关推荐
- Windows 下端口被占用
0. 参考 参考链接: Windows下如何查看某个端口被谁占用 1. 遇到的问题 在 Windows 下的 IDEA 中启动 Web 服务显示 8080 端口被占用,程序无法正确启动. 2. 解 ...
- Linux下端口被占用如何解决
有时候关闭软件后,后台进程死掉,导致端口被占用.下面以端口8003被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln 例如:netstat -tln | gre ...
- Linux下端口被占用解决
有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法一: 1.查找被占用的端口 netstat -tln netstat -tln | ...
- ubuntu 查看端口被占用并处理
当启动程序出现端口号被占用的情况,需要查看端口使用情况,使用netstat命令,下面是常用的几个查看端口情况的命令: 查看所有的服务端口(ESTABLISHED netstat -a 查看所有的服务端 ...
- ubuntu 8000端口被占用
一个简单的解决方案只是键入sudo fuser -k 8000/tcp.这应该会杀死与端口8000相关联的所有进程
- 查看端口被占用并删除端口( Ubuntu )
Ubuntu 查看端口被占用并删除端口 一.首先查看特定端口是占用了: sudo netstat -nplt 二.其次要删除特定端口并查看: kill -9 pid_num 三.这里顺便熟悉一下net ...
- 端口被占用的情况,怎样解决端口被占用(结束端口进程)
前言 在使用idea的过程中会很容易遇到端口被占用的情况,那我们要怎样来解决它呢? 一.端口被占用的情况: 1:查看是否在上一个项目启动未关闭,导致与你运行的项目端口冲突 ,报错信息:Failed t ...
- LInux下Ubuntu下查看端口占用及关闭
1.查看所有进程 ps -ef 或者 ps -aux a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分 2.查看使用某端口的占用 lsof -i:8080 或者: ne ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
最新文章
- Linux下VS Code中C/C++开发环境的includePath设置
- Node.js与Express4安装与配置
- 科普帖:Linux操作系统
- java thread.sleep 声明_java 线程Thread.Sleep详解(转载)
- 数据结构——图的深度遍历
- GitHub 最受欢迎的Top 20 JavaScript 项目
- 请使用复选框选择_使用可选是可选的
- 【机器学习】六种算法在人脸补全中的应用比较(K紧邻,线性,决策树,岭回归,套索回归,ElasticNet)
- PHP 查找链表倒数第i个节点
- 笔记本相机测试软件,联想笔记本人脸识别软件(Lenovo VeriFace)
- 浙大PAT甲级-1002
- 伍斯特理工学院计算机科学硕士,美国伍斯特理工学院数据科学硕士录取
- codeforces1428F Fruit Sequences
- SEM竞价和SEO优化有哪些区别?
- 诺禾-数据库操作优化
- poj 1655 树的重心
- jquery slideToggle 动画问题
- 关于以太坊公开的4个测试网络的区别:
- 苹果(maccms V10) Python 采集豆瓣评分直接入库。
- 大众点评:下一个百亿公司
热门文章
- 大一小白爬虫初试(初学者必看)
- C语言中 sizeof(数组名) 和 strlen(数组名) 的意义
- 8除以2表示什么意思_你知道这些俗语的意思吗?1.三下五除二:( ) 2.八九不离十:( ) 3.九牛二虎之力:( ) 4.十万八千里:( )...
- 14:00面试,14:06就出来了,问的问题有点变态。。。
- 打豆豆的聊天室(模拟socket)
- matlab提示output,强制Matlab输出到命令行(Force Matlab output to command line)
- 阿里云Aliware首批“铂金合作伙伴”花落谁家?——北京天源迪科当之无愧!!!...
- wstring写文件
- SQL中count和case when结合使用统计某个条件下不重复的记录数
- 访问数据库_常用的数据库访问方式是什么?