排查docker问题

一.查看运行的容器: docker ps

二.查看容器的日志

docker logs -f --tail=200 gruul-mall-single  (gruul-mall-single :容器ID或名称)
查看指定时间后的日志,只显示最后100行:

docker logs -f -t --since="2022-04-08" --tail=100 CONTAINER_ID
查看某时间之后的日志

docker logs -t --since="2022-04-08T13:23:37" CONTAINER_ID

三.查看端口的映射

docker port gruul-mall-single (gruul-mall-single :容器ID或名称)

四.通过命令行检查Docker容器网络连接

docker inspect gruul-mall-single (gruul-mall-single :容器ID或名称)

五.检查 Docker 容器的 IP 地址

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' gruul-mall-single(gruul-mall-single :容器ID或名称)这个命令将返回容器的 IP 地址。如果返回的 IP 地址不是 null,则表示容器具有网络连接。

六.查看容器连接的网络

docker network ls

七:查看特定网络的详细信息

docker network inspect <network_name>

八.没有启用IP_FORWARD

如果宿主机没有启用IP_FORWARD功能,那Docker容器在启动时会输出一条警告消息:WARNING: IPv4 forwarding is disabled. Networking will not work.    这时外部是无法访问容器的。解决办法:sysctl net.ipv4.ip_forward   输出net.ipv4.ip_forward = 0 表示当前系统的IP_FORWARD功能处于停用状态!
问题:当时启动容器的时候都是好的啊,什么都没有输出,怎么用着用着IP_FORWARD功能就被禁用了呢?
答:Docker daemon服务在启动过程中会检查系统的IP_FORWARD配置项,如果当前系统的IP_FORWARD功能处于停用状态,会帮我们临时启用IP_FORWARD功能,然而临时启用的IP_FORWARD功能会因为其他各种各样的原因失效…
如何解决:
只要一行命令就可以了:echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf
or
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

执行完成后,重启服务器或使用下面的命令从文件中加载配置:sysctl -p

九.查看防火墙的状态

systemctl status firewalld.service

十.然后排查对应的端口是否开放

iptables -nL

十一.进入到容器内部

docker exec -it gruul-mall-single /bin/bash (gruul-mall-single :容器ID或名称)

十二.查看Java进程:jps

十三.ping 外部网络确定网络可以ping通

ping www.baidu.com

Docker容器中使用PING命令报错:bash: ping: command not found

解决办法依次输入下面命令然后重新ping就可以了:
1:apt-get update
2:apt install iputils-ping
3:apt install net-tools

十四.查看容器的资源是否不足

docker stats gruul-mall-single(gruul-mall-single :容器ID或名称)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值