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的容器的主要内容,如果未能解决你的问题,请参考以下文章

Python 两个 For 循环中的两个列表

EZ 2018 05 06 NOIP2018 慈溪中学集训队互测

piezo film 压电相关信息记录 (2018-05-04 更新)

日期时间设置 "2018-05-04T16:36:23.6341371+08:00" 格式

在 Chrome 中翻译后字体看起来很模糊

elasticsearch 5.x 给定时间范围查询数据