天天看点

一个简单的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 启动完成,结束后删除。