在《docker(3)docker下的centos7下安装jdk》中,当进入容器后,执行 java命令 不能运行,需要执行source /etc/profile才能执行。如果采用Dockerfile就能解决这个问题。
1、先在宿主机上创建目录:centos_java_tomcat,路径是:/root/centos_java_tomcat
mkdir centos_java_tomcat
cd centos_java_tomcat
2、将jdk和tomcat复制到该目录下,形如:
3、在该目录下创建Dockerfile文件
FROM centos:7 MAINTAINER zys #jdk ADD jdk-8u65-linux-x64.tar.gz /usr/local/ RUN mv /usr/local/jdk1.8.0_65 /usr/local/jdk1.8 ENV JAVA_HOME /usr/local/jdk1.8 ENV PATH $JAVA_HOME/bin:$PATH ENV CLASSPATH .:$JAVA_HOME/lib #tomcat ADD apache-tomcat-8.5.32.tar.gz /usr/local RUN mv /usr/local/apache-tomcat-8.5.32 /usr/local/tomcat8 ENV CATALINA_HOME /usr/local/tomcat8 ENV CATALINA_BASE /usr/local/tomcat8 EXPOSE 8080 #CMD ["/usr/local/tomcat8/bin/catalina.sh","run"] ENV LANG zh_CN.utf8
4、执行构建镜像命令
docker build -t centos7_jdk8_tomcat8:latest .
5、查看docker镜像
docker images
6、启动并进入该容器
[root@cent7-zuoys centos_java_tomcat]# docker run -ti centos7_java8_tomcat8 /bin/bash
[root@771aa6d5583b /]#
7、启动tomcat
[root@771aa6d5583b /]# cd /usr/local/tomcat8/bin/
[root@771aa6d5583b bin]# sh catalina.sh run