您如何确保每个 运行 命令安装都在 Dockerfile 中运行?
How do you make sure that each RUN command installment is working inside a Dockerfile?
我正在尝试创建一个 Dockerfile/Image,其中包含设置 Java 环境所需的所有软件。
根据工作需要,我必须使用 CentOS6 作为我的基础镜像和 Java6、Tomcat6、Apache2.2、Maven 3.2.5 和 Eclipse。
目前我有以下 Dockerfile:
#centos6
FROM centos:6
#Java
RUN yum -y install java-1.6.0-openjdk-devel.x86_64
VOLUME ["/var/www/thml", "/etc/httpd/conf", "/etc/httpd/conf.d", "/tmp/applications", "/usr/local/tomcat", "/usr/local/maven"]
EXPOSE 80 443
ENTRYPOINT [ "/usr/sbin/httpd","-k","start", "-D", "FOREGROUND" ]
# apache
RUN yum -y install httpd
RUN cp -fp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ORG
RUN sed -i -e 's/\#ServerName www.example.com:80/ServerName example-web-server.example.com/g' /etc/httpd/conf/httpd.conf
我不确定如何确保每个 运行 命令都正常工作,例如是否正确设置了 Java6 环境,然后是 Apache..etc.
使用
RUN echo $JAVA_HOME
并且在构建图像时使用
docker build -t $YOUR_IMAGE_NAME
您可以在打印在控制台上的构建标准输出中看到回显输出。
我正在尝试创建一个 Dockerfile/Image,其中包含设置 Java 环境所需的所有软件。
根据工作需要,我必须使用 CentOS6 作为我的基础镜像和 Java6、Tomcat6、Apache2.2、Maven 3.2.5 和 Eclipse。
目前我有以下 Dockerfile:
#centos6
FROM centos:6
#Java
RUN yum -y install java-1.6.0-openjdk-devel.x86_64
VOLUME ["/var/www/thml", "/etc/httpd/conf", "/etc/httpd/conf.d", "/tmp/applications", "/usr/local/tomcat", "/usr/local/maven"]
EXPOSE 80 443
ENTRYPOINT [ "/usr/sbin/httpd","-k","start", "-D", "FOREGROUND" ]
# apache
RUN yum -y install httpd
RUN cp -fp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ORG
RUN sed -i -e 's/\#ServerName www.example.com:80/ServerName example-web-server.example.com/g' /etc/httpd/conf/httpd.conf
我不确定如何确保每个 运行 命令都正常工作,例如是否正确设置了 Java6 环境,然后是 Apache..etc.
使用
RUN echo $JAVA_HOME
并且在构建图像时使用
docker build -t $YOUR_IMAGE_NAME
您可以在打印在控制台上的构建标准输出中看到回显输出。