在练习docker容器的时候,选择安装了tomcat,想要达到的效果是启动服务,访问时,并不是展示tomcat的首页,而是展示自己写的一个简单页面,我启动项目后报404,是因为我将首页(index.html)存放在了/ROOT/WEB-INF下,tomcat首页的位置是在 usr/tomcat/webapps/ROOT目录下,错误的原因就是不清楚tomcat的首页的存放位置导致的。

首先需要下载tomcat镜像:国内镜像下载地址

在linux环境中输入拉取镜像的命令
docker pull daocloud.io/library/tomcat:8.0.45
下载成功后,我们可以通过命令去查看下载的镜像
docker images

启动容器并查看
#启动容器
docker run [-p 宿主机端口:容器端口] -d 镜像标识
#使用以下命令查看容器是否启动
docker ps

访问首页

进入容器中查看
#进入容器后的起目录是:/usr/local/tomcat/
docker exec -it 容器标识 bash
#进入webapps目录下的ROOT目录,我们可以看到与首页相关index.jsp,,可以确定首页的存放位置是在ROOT目录下
cd webapps/ROOT

6.明确了tomcat首页的位置,开始编写docker-compose.yml文件
version: '3.1'
services:
tomcat1:
image: daocloud.io/library/tomcat #镜像名称
container_name: tomcat1
ports:
- 8080:8080 #映射的端口号
volumes:
- ./tomcat/webapps1/:/usr/local/tomcat/webapps/
# volumes数据卷:指定宿主机的某一个目录映射容器内的目录,宿主机中添加内容,容器中也会添
#加,同理容器中添加内容,宿主机中也会添加内容,但是需要重启服务后才可以生效
7.在这里我是用 ./tomcat/webapps1/这个目录去映射docker宿主中/usr/local/tomcat/webapps/这个目录,在/home/tomcat/webapps1/ROOT这个目录下,创建index.html,这样访问的时候就会跳转到自己写的首页。
#index.html
<h1> 首页 index.html </h1>
