天天看點

一個簡單的dockerfile 寫法

快速寫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 啟動完成,結束後删除。