linux+docker问题排查常用命令

一、网络常用命令

# 查看地址信息
ifconfig
# 测试网络连通性
ping IP
# 测试端口连通性,二选一,没拒绝就说明端口能通
telnet IP PORT
# 测试端口连通性,二选一,没拒绝就说明端口能通
exec 3<>/dev/tcp/119.3.107.170/1433

在这里插入图片描述

二、排查docker容器占用过高,宿主机内存处理

使用top查看内存服务器资源情况

在服务器中,通过 top 查看是否有进程的用户态(us)过高,运行状态中输入M按内存使用率降序排列进程

top
使用ps查看具体进程及启动命令

方法1:通过ps -ef |grep "上面查到的进程号,用于后续查服务用,如果不知道是哪个服务,可以咨询开发

ps -aux | grep 2838

方法2:如果确定pid为docker容器相关的进程,则可以直接使用docker命令,定位容器名称通过pid找到相应的docker容器

docker inspect -f "{{.State.Pid}} {{.Name}}"  $(docker ps -q) |grep <PID>
使用docker查看具体服务

这步需要根据jar包名称,查服务,处理。此处由于是docker服务,可以使用docker ps命令查看服务。(如果不确定容器名的别猜,问开发)

docker ps | grep 容器名

方法1:运行中的容器可以使用以下命令缩小容器内存

docker update --memory 1024m --memory-swap 2000m 容器名
# 如果报错的话,则需要先停止容器再修改
docker stop 容器名

方法二: 启动命令中限制内存大小
可以在启动命令中添加-m xxM 参数用来限制容器内存大小,注意该内存应为容器内的系统和业务服务所需内存大小的总和,太小可能会影响使用或者性能,如下所示

docker run  -m 1000M  --name 容器名 镜像版本
更新容器使用内存

注意: 此处要确定可以缩小容器内存,否则可能影响使用与性能要求

PS: docker 默认没有启用memory-swap交换内存,直接设置了内存会出问题,也就是说宿主 swap 支持使用多少则容器即可使用多少,如果 --memory-swap 设置小于 --memory则设置不生效。
将memory-swap 设置值为 -1,表示容器程序使用内存受限,而 swap 空间使用不受限制。

二、Docker

1、当进容器用命令vi修改容器内的文件时提示vi命令找不到

在这里插入图片描述
退出容器
把容器内要改的文件拷出来:docker cp 从容器id:容器内文件地址/所拷贝的文件名 拷贝到/XXX路径
去服务器上拷贝路径改文件
改完再拷进去:docker cp XXX路径/修改的文件 容器id:容器内文件地址/
重启容器
在这里插入图片描述

2、启动容器时报错

在创建内外网映射时报错,问了运维同学,他的说法是可能docker 在iptables之前启动导致的这个问题,在创建内外网映射时报错,试着重启了一下docker就解决了

[root@rbtnode1 ~]# docker restart esmc-client
Error response from daemon: Cannot restart container esmc-client: driver failed programming external connectivity on endpoint esmc-client (be0d4ae47d27171335eabab67586d13e1ca66bbc53b8f40cd9ed8675c58b7fa7):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6067 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name.

在这里插入图片描述

# 重启docker
systemctl daemon-reload 
systemctl restart docker
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值