- 腾讯云 运行 tomcat 镜像,通过外网访问不了。
(前提:安全组都设置对应端口,防火墙也关闭或者开放对应端口)
解决方法
操作参考:[docker 中安装 tomcat](https://cloud.tencent.com/developer/article/1843951)
如果按照操作还是访问不了,则进入容器中,手动启动 tomcat 即可/
- 端口冲突
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.
(exit status 1)).
- 解决办法
systemctl restart docker(重新启动docker)
- 端口设置问题
[root@VM-0-7-centos ~]# docker run -itd tomcat -p 8080:8080 /bin/bash
b342900eef7958eaefe84e29ec1da74db7332aa4df9a0db89d168b3425377b3c
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
- 腾讯云 springboot 项目运行出问题
[root@VM-0-7-centos springboot-docker]# docker logs -f a2ea470ff18769bcceaa000a6c2ccd8705d62266afce5320b97862845b12762c
Unrecognized option: -jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
#顺便查了下内存信息
[root@VM-0-7-centos springboot-docker]# free -h
total used free shared buff/cache available
Mem: 1.8G 262M 257M 508K 1.3G 1.4G
Swap: 0B 0B 0B
先排除配置文件等问题,后更换到 内存更大的虚拟机,运行正常
- 容器运行显示
**ExiteCode 127**
,没有成功启动
或者 docker ps -a
查看状态也为 127
解决方法 通过 docker logs 容器ID
查看日志,再根据日志具体分析
[root@k8s-master01 docker.service.d]# docker logs 8a4ca581c019347bf24771316c0c53e54d04d7ab12771b79dd498e03a79ce4e4
# -p 命令有误,经校对,发现启动命令输错了,写成 docker run -itd nginx -p 80:80,只要将 -p 80:80 往前挪即可
/docker-entrypoint.sh: 38: exec: -p: not found