Jre:运行java程序所需的环境(java runtime environment)
Jdk:编译java程序所需工具包(java environment kit)
Jdk 的dockerfile FROM centos:7.2.1511 ADD jdk1.7.0_09.tar.gz /usr/local ENV JAVA_HOME /usr/local/jdk1.7.0_09 ENV CLASSPATH .:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin RUN rm -rf /etc/localtime && cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN chmod +x /usr/local/jdk1.7.0_09/jre/bin/java CMD java -jar *.jar
FROM jdk:1 COPY tomcat8.5.2 /usr/local/tomcat ENV CATALINA_HOME /usr/local/tomcat ENV PATH $PATH:$CATALINA_HOME/bin RUN chmod +x /usr/local/jdk1.7.0_09/jre/bin/java && chmod +x /usr/local/tomcat/bin/* RUN rm -rf /etc/localtime && cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #添加时区问题 COPY $(PWD)/Shanghai /etc/localtime EXPOSE 8080 CMD ["catalina.sh","run"]
FROM 192.168.0.29:5000/jdk:7 ADD test/pinpoint-agent-1.5.2.tar.gz /usr/local COPY test/jar.sh /usr/local/sbinENV AGENT_VERSION 1.5.2 RUN chmod +x /usr/local/sbin/jar.sh
FROM 192.168.0.29:5000/tomcat:7-jre7-ths ADD test/pinpoint-agent-1.5.2.tar.gz /usr/local/tomcat COPY test/pp-agent.sh /usr/local/sbin RUN chmod +x /usr/local/sbin/pp-agent.sh CMD [ "pp-agent.sh" ]
FROM centos:7 RUN yum install -y epel-release && yum install -y nginx && rm -rf /var/lib/apt/lists/* && echo "daemon off;" >>/etc/nginx/nginx.conf RUN echo "Asia/Shanghai" > /etc/timezone EXPOSE 80 CMD ["/usr/sbin/nginx"]
多阶段构建docker镜像(2种方法)
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 as builder WORKDIR /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3 ADD zmrestapi-1.0.tar.gz /usr/local/ RUN dotnet publish -c release -o /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL #其中的 COPY 命令通过指定 --from=builder 参数,把前一阶段构建的产物拷贝到了当前的镜像中 FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 WORKDIR /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL COPY --from=builder /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL ./ ENTRYPOINT ["dotnet", "ZhuMuRestApi_v3.dll"]
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 WORKDIR /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3 ADD zmrestapi-1.0.tar.gz /usr/local/ RUN dotnet publish -c release -o /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL #其中的 COPY 命令通过指定 --from=0 参数,把前一阶段构建的产物拷贝到了当前的镜像中 FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 WORKDIR /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL COPY --from=0 /usr/local/zmrestapi-1.0/ZhuMuRestApi/ZhuMuRestApi_v3/DLL ./ ENTRYPOINT ["dotnet", "ZhuMuRestApi_v3.dll"]
健康检查
FROM registry.cn-beijing.aliyuncs.com/zm_zhumu/node:pm2 COPY edu-mobile /opt/edu-mobile EXPOSE 3002 WORKDIR /opt/edu-mobile HEALTHCHECK --interval=5s --timeout=5s --retries=12 CMD curl --silent --fail localhost:3002/_cluster/health || exit 0 CMD ["/usr/local/bin/pm2","start","-i","max","--name","edu-mobile","bin/www","--no-daemon"]
supervisord
FROM ubuntu:16.04 RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list && apt-get update && apt-get install -y openssh-server supervisor && mkdir -p /var/run/sshd COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf EXPOSE 22 CMD ["/usr/bin/supervisord"] supervisord.conf [supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D



