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

1、创建文件夹
$ mkdir mytomcat

2、切换到文件夹
$ 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配置变量。

调试过程尝试的命令:
#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        #启动项目

猜你喜欢

转载自www.cnblogs.com/shoubituling/p/8998227.html