2018-05-04~2018-05-06 在docker上生成运行了tomcat的容器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-05-04~2018-05-06 在docker上生成运行了tomcat的容器相关的知识,希望对你有一定的参考价值。
1、创建文件夹
$ mkdir mytomcat
2、切换到文件夹,且将下载好的jdk-8u162-linux-x64.tar.gz、apache-tomcat-7.0.85.tar.gz压缩包拷贝到此目录下(自行编写命令)。
$ cd mytomcat
3、生成Dockerfile文件并编辑内容
$ gedit Dockerfile
FROM ubuntu:16.04
ADD jdk-8u162-linux-x64.tar.gz /java/
ADD apache-tomcat-7.0.85.tar.gz /tomcat/
ENV JAVA_HOME=/java/jdk1.8.0_162
ENV PATH=$PATH:$JAVA_HOME/bin
EXPOSE 8080
CMD ["/tomcat/apache-tomcat-7.0.85/bin/catalina.sh", "run"]
底层镜像配置的环境变量、启动的sh文件,为什么在顶层无效了?用ENV配置变量。
使用startup.sh无法自行启动tomcat,一定要用catalina.sh
调试过程尝试的命令:
#ADD dockerd /etc/rc.d/init.d/
#RUN chmod 777 /etc/rc.d/init.d/dockerd
#CMD /etc/rc.d/init.d/dockerd
#CMD /bin/bash
#CMD /tomcat/apache-tomcat-7.0.85/bin/startup.sh
#RUN ps -ef
4、创建镜像
$ docker build -t mytomcat:v1 .
5、创建容器。为什么有时候容器不会自动启动?因为没有加"bash”指令。
$ docker run -it --name mytomcat -d mytomcat:v1
6、检测容器是否启动
$ docker ps -a
7、查询容器对应的ip
$ docker inspect mytomcat
8、在浏览器上打开tomcat验证是否成功
http://172.17.0.2:8080/
9、进入容器验证jdk服务是否启动
$ docker exec -it mytomcat bash
[email protected]:/# ps -ef
[email protected]:/# exit
10、调试过程尝试的命令:
$ gedit dockerd
#!/bin/bash
/tomcat/apache-tomcat-7.0.85/bin/startup.sh
/bin/bash
exit 0
$ docker run -it --name mytomcat -d -p 81:8080 mytomcat:v1 /etc/rc.d/init.d/dockerd
cat /tomcat/apache-tomcat-7.0.85/conf/server.xml
docker container start mytomcat #启动项目
以上是关于2018-05-04~2018-05-06 在docker上生成运行了tomcat的容器的主要内容,如果未能解决你的问题,请参考以下文章
EZ 2018 05 06 NOIP2018 慈溪中学集训队互测
piezo film 压电相关信息记录 (2018-05-04 更新)