1. 腾讯云 运行 tomcat 镜像,通过外网访问不了。

    (前提:安全组都设置对应端口,防火墙也关闭或者开放对应端口)

    • 解决方法

      1. 操作参考:[docker 中安装 tomcat](https://cloud.tencent.com/developer/article/1843951)
      2. 如果按照操作还是访问不了,则进入容器中,手动启动 tomcat 即可/

    1. 端口冲突
    1. docker: Error response from daemon: driver failed programming external connectivity on endpoint distracted_jang (46218bc7d118de13302e6a29396a8bb290f147b8a7d53900442c494115204cab): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
    2. (exit status 1)).
    • 解决办法

    systemctl restart docker(重新启动docker)


    1. 端口设置问题
    1. [root@VM-0-7-centos ~]# docker run -itd tomcat -p 8080:8080 /bin/bash
    2. b342900eef7958eaefe84e29ec1da74db7332aa4df9a0db89d168b3425377b3c
    3. docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "-p": executable file not found in $PATH: unknown.

    解决办法:将 -p 前移 即可

    docker run -itd -p 8080:8080 tomcat /bin/bash


    1. 腾讯云 springboot 项目运行出问题
    1. [root@VM-0-7-centos springboot-docker]# docker logs -f a2ea470ff18769bcceaa000a6c2ccd8705d62266afce5320b97862845b12762c
    2. Unrecognized option: -jar
    3. Error: Could not create the Java Virtual Machine.
    4. Error: A fatal exception has occurred. Program will exit.
    5. #顺便查了下内存信息
    6. [root@VM-0-7-centos springboot-docker]# free -h
    7. total used free shared buff/cache available
    8. Mem: 1.8G 262M 257M 508K 1.3G 1.4G
    9. Swap: 0B 0B 0B

    先排除配置文件等问题,后更换到 内存更大的虚拟机,运行正常


    1. 容器运行显示 **ExiteCode 127** ,没有成功启动

    4_Docker 常见问题 - 图1

    或者 docker ps -a 查看状态也为 127

    4_Docker 常见问题 - 图2

    解决方法 通过 docker logs 容器ID 查看日志,再根据日志具体分析

    1. [root@k8s-master01 docker.service.d]# docker logs 8a4ca581c019347bf24771316c0c53e54d04d7ab12771b79dd498e03a79ce4e4
    2. # -p 命令有误,经校对,发现启动命令输错了,写成 docker run -itd nginx -p 80:80,只要将 -p 80:80 往前挪即可
    3. /docker-entrypoint.sh: 38: exec: -p: not found