docker 记录启动容器的报错处理

查看日志

语法:

docker logs 容器ID或容器的名

没报错,启动立马关闭

问题:

1、docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出
2、容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出
3、这个是 docker 的机制问题

解决:

1,把刚刚的容器删了:docker rm 容器名或ID

2,docker run -p 6666:80 -dit --name=test nginx

添加-it 参数交互运行
添加-d 参数后台运行
这样就能启动一个一直停留在后台运行的nginx了

容器里面的配置出错,进不去容器

思路:cd进行/var/lib/docker,这个文件是docker存的,搜索你要想必的文件,然后修改这个配置

1: find . -name default.conf
2: vi 查出来的路径 //修改

启动成功,外面访问不到

看看是不是防火器的问题:

systemctl stop firewalld.service 停止防火墙
 
systemctl disable firewalld.service 禁止防火墙开机启动


firewall-cmd --state 检测防火墙是否关闭 


systemctl list-unit-files | grep firewalld.service 查看有没有禁止防火墙开机自启 

启动报错1

[root@localhost ~]# docker start mynginx
Error response from daemon: driver failed programming external connectivity on endpoint mynginx (1f5125fc7eddc9b34ce8f8f4417186d4ce1382643b5001fc468d17dd64f34f15):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8888 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

因为在启动docker容器的时候或者做docker配置的时候,还对防火墙设置重新启动等配置,这样会清除docker的相关配置,导致在查询防火墙规则的时候显示不到docker的链。

解决:重启docker

systemctl restart docker

有时候重启没效果可以选择停止docker,在启动

[root@localhost /]# service docker stop
[root@localhost /]# service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 四 2022-04-07 10:14:16 CST; 7s ago
     Docs: https://docs.docker.com
  Process: 9050 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
 Main PID: 9050 (code=exited, status=0/SUCCESS)
    Tasks: 9
   Memory: 114.7M
   CGroup: /system.slice/docker.service
           └─3481 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/a4c00112515405b0fee2b4be626bfad72f4b283d22e12535c38db1ab9b1a851f -address /var/run/docker/containerd/d...

4月 07 10:13:29 localhost.localdomain dockerd[9050]: time="2022-04-07T10:13:29.503036717+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set...rred IP address"
4月 07 10:13:29 localhost.localdomain dockerd[9050]: time="2022-04-07T10:13:29.537044487+08:00" level=info msg="Loading containers: done."
4月 07 10:13:29 localhost.localdomain dockerd[9050]: time="2022-04-07T10:13:29.555533451+08:00" level=info msg="Docker daemon" commit=87a90dc graphdriver(s)=overlay2 version=20.10.14
4月 07 10:13:29 localhost.localdomain dockerd[9050]: time="2022-04-07T10:13:29.555591620+08:00" level=info msg="Daemon has completed initialization"
4月 07 10:13:29 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
4月 07 10:13:29 localhost.localdomain dockerd[9050]: time="2022-04-07T10:13:29.575295045+08:00" level=info msg="API listen on /var/run/docker.sock"
4月 07 10:14:16 localhost.localdomain systemd[1]: Stopping Docker Application Container Engine...
4月 07 10:14:16 localhost.localdomain dockerd[9050]: time="2022-04-07T10:14:16.897677960+08:00" level=info msg="Processing signal 'terminated'"
4月 07 10:14:16 localhost.localdomain dockerd[9050]: time="2022-04-07T10:14:16.899242324+08:00" level=info msg="Daemon shutdown complete"
4月 07 10:14:16 localhost.localdomain systemd[1]: Stopped Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost /]# service docker start
Redirecting to /bin/systemctl start docker.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可能是以下原因导致容器启动不起来: 1. 容器内部进程已经挂掉,可以使用docker logs命令查看容器日志,确定容器内部进程是否正常运行。 2. 容器与已经停止的容器端口冲突,可以使用docker ps -a命令查看所有容器的状态,确定是否存在端口冲突的情况。 3. 容器的镜像已经损坏,可以尝试重新下载对应的镜像,或者重新构建镜像。 4. 容器的挂载路径不正确,可以使用docker inspect命令查看容器的挂载路径是否正确。 5. 容器的资源限制不够,可以使用docker stats命令查看容器的资源使用情况,确定是否需要调整容器的资源限制。 解决方法: 1. 如果是容器内部进程挂掉导致容器启动不起来,可以进入容器内部使用命令查看具体的错误信息,然后针对性的解决问题。 2. 如果是端口冲突导致容器启动不起来,可以修改容器的端口映射,或者停止冲突的容器,然后重新启动容器。 3. 如果是容器的镜像损坏导致容器启动不起来,可以重新下载对应的镜像,或者重新构建镜像。 4. 如果是容器的挂载路径不正确导致容器启动不起来,可以使用docker inspect命令查看容器的挂载路径是否正确,然后进行调整。 5. 如果是容器的资源限制不够导致容器启动不起来,可以使用docker stats命令查看容器的资源使用情况,然后进行调整容器的资源限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值