dockerfile详解

测试环境例子:

vim authdockerfile

ENV PROJECT spc-auth
ENV PACKAGE ${PROJECT}.jar
ENV WORKDIR /home/zengchengtest
RUN mv /etc/localtime /etc/localtime.bak \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
&& mkdir -p $WORKDIR/logs
ADD $PACKAGE $WORKDIR/$PACKAGE
WORKDIR $WORKDIR
CMD java -Djava.security.egd=file:/dev/./urandom -jar $PACKAGE |tee logs/$PROJECT.log
EXPOSE 8810


java环境:

vim javadockerfile

FROM java:8-jdk-alpine
LABEL maintainer www.ctnrs.com
ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
     apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY hello.jar /
EXPOSE 8888
CMD ["/bin/sh", "-c", "java -jar $JAVA_OPTS /hello.jar"]


nginx环境:

vim nginxdockerfile

FROM centos:7
LABEL maintainer www.ctnrs.com
RUN yum install -y gcc gcc-c++ make \
     openssl-devel pcre-devel gd-devel \
     iproute net-tools telnet wget curl && \
     yum clean all && \
     rm -rf /var/cache/yum/*

ADD nginx-1.15.5.tar.gz /
RUN cd nginx-1.15.5 && \
     ./configure --prefix=/usr/local/nginx \
     --with-http_ssl_module \
     --with-http_stub_status_module && \
     make -j 4 && make install && \
     mkdir /usr/local/nginx/conf/vhost && \
     cd / && rm -rf nginx* && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/nginx/sbin
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
WORKDIR /usr/local/nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]


php环境:

vim phpdockerfile

FROM centos:7
MAINTAINER www.ctnrs.com
RUN yum install epel-release -y && \
     yum install -y gcc gcc-c++ make gd-devel libxml2-devel \
     libcurl-devel libjpeg-devel libpng-devel openssl-devel \
     libmcrypt-devel libxslt-devel libtidy-devel autoconf \
     iproute net-tools telnet wget curl && \
     yum clean all && \
     rm -rf /var/cache/yum/*

ADD php-5.6.36.tar.gz /
RUN cd php-5.6.36 && \
     ./configure --prefix=/usr/local/php \
     --with-config-file-path=/usr/local/php/etc \
     --enable-fpm --enable-opcache \
     --with-mysql --with-mysqli --with-pdo-mysql \
     --with-openssl --with-zlib --with-curl --with-gd \
     --with-jpeg-dir --with-png-dir --with-freetype-dir \
     --enable-mbstring --with-mcrypt --enable-hash && \
     make -j 4 && make install && \
     cp php.ini-production /usr/local/php/etc/php.ini && \
     cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf && \
     sed -i "90a \daemonize = no" /usr/local/php/etc/php-fpm.conf && \
     mkdir /usr/local/php/log && \
     cd / && rm -rf php* && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/php/sbin
COPY php.ini /usr/local/php/etc/
COPY php-fpm.conf /usr/local/php/etc/
WORKDIR /usr/local/php
EXPOSE 9000
CMD ["php-fpm"]


tomcat环境

vim tomcatdockerfile

FROM centos:7
MAINTAINER www.ctnrs.com

ENV VERSION=8.5.43

RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
     yum clean all && \
     rm -rf /var/cache/yum/*

ADD apache-tomcat-${VERSION}.tar.gz /usr/local/
RUN mv /usr/local/apache-tomcat-${VERSION} /usr/local/tomcat && \
     sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/tomcat/bin

WORKDIR /usr/local/tomcat

EXPOSE 8080
CMD ["catalina.sh", "run"]

原文地址:https://www.cnblogs.com/pengrj/p/15765667.html