标题

  • 1、安装一个简易tomcat
  • 1.1、拉取tomcat
  • 1.2、创建tomcat容器
  • 1.3、访问tomcat
  • 1.4、日志查询
  • 1.5、修改时区
  • 2、tomcat挂载
  • 2.1、创建挂载目录
  • 2.2、拷贝docker资源
  • 2.3、挂载启动
  • 2.4、访问测试
  • 2.5、挂载验证
  • 2.6、修改时区


1、安装一个简易tomcat

1.1、拉取tomcat

# 安装最新版
docker pull tomcat
# version为指定的版本
docker pull tomcat:version

1.2、创建tomcat容器

docker run --name tomcat_test -p 9090:8080 -d tomcat
#--name tomcat_test: tocmat容器名称 自定义
#-p:9090:8080: 端口映射 9090任意,8080为默认端口
#-d:后台运行
通过docker ps查看运行状态,可以看到刚才创建的tomcat已经运行了,并且端口映射为9090,名称也为tomcat_test

docker 启动kettle 服务 docker启动tomcat命令_docker 启动kettle 服务

1.3、访问tomcat

直接在地址输入 IP+9090即可查看,如果无法访问,则需要等Tomcat成功启动,或者查看日志是否报错

docker 启动kettle 服务 docker启动tomcat命令_tomcat_02

对于高版本的tomcat,webapps文件为空,被webapps.dist所取代,直接访问会出现404

docker 启动kettle 服务 docker启动tomcat命令_java_03


解决方法如下:
  • 进入容器

docker exec -it tomcat_test bash

  • 进入tomcat目录

cd /usr/local/tomcat/

  • 删除webapps

rm webapps -rf

  • 将webapps.dist复制为webapps

cp webapps.dist webapps -r

docker 启动kettle 服务 docker启动tomcat命令_docker 启动kettle 服务_04

1.4、日志查询

#动态查看日志
docker logs -f tomcat_test

docker 启动kettle 服务 docker启动tomcat命令_tomcat_05

1.5、修改时区

默认情况下,tomcat中的时间比“北京”时间少8小时,需要进行手动时间校正

#进入容器
docker exec -it tomcat_test bash
#执行命令
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone

2、tomcat挂载

2.1、创建挂载目录

mkdir /usr/local/tomcat -p

2.2、拷贝docker资源

# 从容器中复制webapps.dist(低版本叫webapps)
# /usr/local/tomcat/webapps.dist 为docker中容器的目录
# /usr/local/tomcat/webapps 为宿主机的目录 
docker cp tomcat_test:/usr/local/tomcat/webapps.dist/ /usr/local/tomcat/webapps
#查看目录
cd /usr/local/tomcat/webapps
ll

docker 启动kettle 服务 docker启动tomcat命令_tomcat_06

2.3、挂载启动

启动挂载容器前,需要先关闭并且删除原有的容器

docker stop tomcat_test
docker rm tomcat_test

启动挂载容器

# -v表示挂载,前面的目录为宿主机目录结构,后面的目录为容器中的目录结构
docker run --name tomcat_test  \
-p 9090:8080 \
-v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps \
-d tomcat

2.4、访问测试

docker 启动kettle 服务 docker启动tomcat命令_tomcat_07

2.5、挂载验证

为了验证挂载文件是否生效,可以进入在宿主机器下建立的文件的ROOT目录,并且修改tomcat “欢迎页”的代码;

  • 进入宿主机挂载ROOT目录
cd  /usr/local/tomcat/webapps/ROOT
  • 修改index.jsp
vim index.jsp
  • 修改见图:
  • 再次访问Tomcat

2.6、修改时区

默认情况下,tomcat中的时间比“北京”时间少8小时,需要进行手动时间校正

#进入容器
docker exec -it tomcat_test bash
#执行命令
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone