tomcat启动卡住也不报错什么原因_docker安装tomcat

1.查找Docker Hub上的tomcat镜像

docker search tomcat

2.拉取官方的镜像

docker pull tomcat

3.查看镜像

docker images tomcat

4.使用Tomcat默认的配置来启动一个Tomcat容器

docker run -d -p 8080:8080 --name tomcat tomcat:latest

如果报错:docker: Error response from daemon: Conflict. The container name "/tomcat" is already in use by container "2fa8695213af7cb40710a3492c1f6d32f9e429421929d63c1e9ad91fc85df641". You have to remove (or rename) that container to be able to reuse that name. See

解决办法

1f70f406d3c5001dd5194f45a1a7936f.png

如果还是报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen

docker服务启动时定义的自定义链DOCKER由于某种原因被清掉

重启docker服务及可重新生成自定义链DOCKER

解决办法

systemctl restart docket

5.建Tomcat目录

mkdir -p /usr/app/tomcat

6.拷贝容器内Tomcat配置文件和日志到本地

docker cp tomcat:/usr/local/tomcat/conf /usr/app/tomcat/conf

docker cp tomcat:/usr/local/tomcat/logs /usr/app/tomcat/logs

7.停止tomcat容器

docker stop tomcat

8.删除tomcat容器

docker rm tomcat

9.创建并运行tomcat容器

docker run -d -p 8080:8080 --name tomcat -v /usr/app/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/app/tomcat/conf:/usr/local/tomcat/conf -v /usr/app/tomcat/logs:/usr/local/tomcat/logs --restart=always tomcat:latest

10.查看创建的容器

docker ps | grep tomcat

11.查看容器的ip地址

docker inspect --format='{{.NetworkSettings.IPAddress}}' tomcat

12.查看firewalld状态

systemctl status firewalld

13.开启firewalld(可选,未开启时执行)

systemctl start firewalld

14.开放8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

15.重新载入

firewall-cmd --reload

16.查看是否生效

firewall-cmd --zone=public --query-port=8080/tcp

17.查看Tomcat日志

docker logs -f -t --tail 20 tomcat

如果启动正常,在对应的/usr/local/tomcat/webapps 创建个ROOT文件夹,里面创建个index.html

转自百度