标签: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