title: Docker系列之实战:2.安装Tomcat
categories: Docker
tags:
- Docker
timezone: Asia/Shanghai
date: 2019-02-19
环境
[root@centos181001 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@centos181001 ~]# docker -v
Docker version 18.09.1, build 4c52b90
第一步:搜索和拉取官方Tomcat镜像
https://hub.docker.com/_/tomcat
官方的Tomcat镜像是基于OpenJDK的
### 搜索镜像
docker search tomcat
### 拉取最新镜像
docker pull tomcat
### 拉取指定版本镜像(最小化安装版本,官方推荐)
docker pull tomcat:7.0.92-jre8-slim
### 拉取指定版本镜像(基于alpine构建,镜像更小)
docker pull tomcat:7.0.92-jre8-alpine
### 查看拉取的镜像
docker image ls
docker image ls tomcat
第二步:使用Image
1.简单使用
docker run -it -d --rm -p 8888:8080 tomcat:7.0.92-jre8-slim
2.使用Dockerfile重新构建并将网站内容打包到image
### 创建Dockerfile文件
cat <<EOF >Dockerfile
FROM tomcat:7.0.92-jre8-alpine
COPY pssc_sm_home_mvvm.war /usr/local/tomcat/webapps/pssc_sm_home_mvvm.war
EOF
### 生成新image
docker build -t tomcat:7.0.92-jre8-alpine-New .
### 运行新容器
docker run -it -d --rm -p 8888:8080 tomcat:7.0.92-jre8-alpine-New
### 打开浏览器测试
http://11.11.11.61:8888/
http://11.11.11.61:8888/pssc_sm_home_mvvm
3.映射本地文件到tomcat
cat <<EOF >/home/web/index.jsp
Welecome Tomcat!
EOF
docker run -it -d --rm \
-v /home/web:/usr/local/tomcat/webapps/ROOT \
-v /home/pssc/:/usr/local/tomcat/webapps \
-p 8888:8080 tomcat:7.0.92-jre8-slim
-v /home/web:/usr/local/tomcat/webapps/ROOT \ # 映射默认主页
-v /home/pssc/:/usr/local/tomcat/webapps \ # 将打包好的war文件放到/home/pssc/资料夹 \
4.自定义Tomcat配置文件
#### 1.首先运行一个临时容器
docker run --name tmp-tomcat -d tomcat:7.0.92-jre8-slim
#### 2.从运行的容器里将配置文件copy到本地
docker cp tmp-tomcat:/usr/local/tomcat/conf /home/tomcat/
#### 3.删除这个临时容器
docker rm -f tmp-tomcat
#### 4.编辑Tomcat配置文件
vim /home/tomcat/server.xml
Connector port="8080" protocol="HTTP/1.1"
改为
Connector port="8888" protocol="HTTP/1.1"
#### 5.运行容器
docker run -it -d --rm \
-v /home/tomcat/server.xml:/usr/local/tomcat/conf/server.xml \
-p 8888:8888 tomcat:7.0.92-jre8-slim
#### 6.打开浏览器测试
http://11.11.11.61:8888/