快速寫dockerfile
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER www
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /demo
WORKDIR /demo
EXPOSE 8088
ADD ./target/demo.jar ./
CMD sleep 60;java -Djava.security.egd=file:/dev/./urandom -jar demo.jar
最小的java啟動環境
FROM anapsix/alpine-java:8_server-jre_unlimited
以java8為例。該鏡像為128m 。java:8 為643m。
MAINTAINER 維護人
ENV 設定環境變量
RUN 運作
WORKDIR 用于指定容器的一個目錄, 容器啟動時執行的指令會在該目錄下執行。
EXPOSE 暴露端口 僅僅是聲明容器打算使用什麼端口而已,并不會自動在宿主進行端口映射。與-p 不同
ADD 将主機檔案 拷貝到鏡像中,COPY指令和ADD指令功能和使用方式類似。隻是COPY指令不會做自動解壓工作。
docker images 中存在demo 1.0.1 鏡像了
啟動時執行指令 docker run -rm --name demo -p 8088:8088 demo
docker logs -f demo
檢視下啟動的日志
若測試正常,需要去掉 -rm 啟動完成,結束後删除。