Docker 安装 Tomcat镜像
软件镜像 就好比软件的 exe 安装程序 。
1,搜索 tomcat 镜像
docker search tomcat
[root@instance-dtoygp5f ~]# docker search tomcat
2,拉取镜像
docker pull tomcat
[root@instance-dtoygp5f ~]# docker pull tomcat
Using default tag: latest
Trying to pull repository docker.io/library/tomcat ...
latest: Pulling from docker.io/library/tomcat
90fe46dd8199: Pull complete
35a4f1977689: Pull complete
bbc37f14aded: Pull complete
74e27dc593d4: Pull complete
93a01fbfad7f: Pull complete
1478df405869: Pull complete
64f0dd11682b: Downloading [==> ] 5.36 MB/104.4 MB
68ff4e050d11: Download complete
7e4bf13b87e6: Download complete
b96fdb5c0244: Download complete
3,根据镜像名启动容器
docker run --name mytomcat -d tomcat:latest
[root@instance-dtoygp5f ~]# docker run --name mytomcat -d tomcat:latest
我们运行容器之后,会发现我们无法从我们客户端浏览器上访问;
之所以不能访问是因为我们的docker的8080没有映射到Linux系统上。
所以我们得把该tomcat映射出去。
启动一个做了端口映射的tomcat
[root@localhost ~]# docker run ‐d ‐p 8888:8080 tomcat
4,查看运行中的容器
docker ps
[root@instance-dtoygp5f ~]# docker ps
5,停止运行中的容器 (根据 容器id 或 容器名)
docker stop 30f0146731f5
[root@instance-dtoygp5f ~]# docker stop 30f0146731f5
6,删除容器 (要先停止才能删除)
docker rm 30f0146731f5
[root@instance-dtoygp5f ~]# docker rm 30f0146731f5
附:
可能会遇到的问题:
-
还是不能访问(防火墙拦截了请求,简单一点的解决办法就是关闭防火墙)
service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙 -
能访问,但是页面报 404 (原因是wepapp该文件夹是空的)。
解决办法:
1,进入到 tomcat空间,会发现有一个webapp.dist 文件
docker exec -it xxxxx /bin/bash
ls - l
2,这个时候需要将webapps.dist下的文件全部复制到webapps目录下
cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/完全之后就能成功访问了!
更多命令访问:https://docs.docker.com/engine/reference/commandline/docker/
可以参考每个镜像的文档。