准备文件
apache-tomcat-9.0.31.tar.gz
jdk-8u191-linux-x64.tar.gz
CentOS上安装Docker。
1.检查内核版本,返回的值大于3.10即可。、
$ uname -r
安装 Docker
yum -y install docker
将tomcat 、jdk 传到 /usr/local/docker目录中
在java、jdk同级目录下,创建 Dockerfile 文件,文件名不能错,否则后面 build 会检测不到
[root@localhost ~]# cd /usr/local/docker/
[root@localhost docker]# touch Dockerfile
Dockerfile 文件内容如下
FROM centos MAINTAINER ChenJun #把java与tomcat添加到容器中 ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/ ADD ./apache-tomcat-9.0.31.tar.gz /usr/local/ #安装vim编辑器 RUN yum -y install vim #设置工作访问时候的WORKDIR路径,登录落脚点 ENV MYPATH /usr/local WORKDIR $MYPATH #配置java与tomcat环境变量 ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.31 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin #容器运行时监听的端口 EXPOSE 8080 #启动时运行tomcat # ENTRYPOINT ["/usr/local/apache-tomcat-9.0.31/bin/startup.sh" ] # CMD ["/usr/local/apache-tomcat-9.0.31/bin/catalina.sh","run"] CMD /usr/local/apache-tomcat-9.0.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.31/bin/logs/catalina.out
构建
#点表示当前目录 ,也可以直接指定 docker build -t tomcat9 /usr/local/docker
[root@localhost docker]# docker build -t tomcat9 .
如果显示超时,可以重启一下 systemctl restart docker
构建成功后,如处图
在/opt/web 下创建 tomcat9091、tomcat9092,并 启动docker 加上 webapp、logs目录映射
[root@localhost web]# docker run -d -p 9091:8080 --name tomcat9091 -v /opt/web/tomcat9091/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9091/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9 [root@localhost web]# docker run -d -p 9092:8080 --name tomcat9092 -v /opt/web/tomcat9092/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9092/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9
测试Tomcat
建个测试的war包
war 包上传到 9091下面,如果不加 test是不会显示的。默认带小猫的页面,不在本地的 webapps下面
有时候war包放上去,需要重新服务。这时候可以用命令重启
docker restart [容器的ID]