码迷,mamicode.com
首页 > 其他好文 > 详细

2018-05-04~2018-05-06 在docker上生成运行了tomcat的容器

时间:2018-05-06 16:19:23      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:tom   进入容器   containe   jdk   $path   环境   build   rom   目录   

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
root@3729b97e8226:/# ps -ef
root@3729b97e8226:/# 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的容器

标签:tom   进入容器   containe   jdk   $path   环境   build   rom   目录   

原文地址:https://www.cnblogs.com/shoubituling/p/8998227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!