FROM centos:7 MAINTAINER breeze breeze-cloud@foxmail.com ADD ./jdk-8u202-linux-x64.tar.gz /usr/local RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ENV TIME_ZONE Asia/Shangha ENV JAVA_HOME /usr/local/jdk1.8.0_202 ENV JRE_HOME /usr/local/jdk1.8.0_202/jre ENV PATH $JAVA_HOME/bin:$PATH
解释:
- FROM 指定基础镜像,此处使用centos:7镜像
- MAINTAINER 指明该镜像的作者和其电子邮件
- LABLE key=value 指定镜像的作者,会更灵活
- WORKDIR 指定镜像的工作目录,如果不存在,则会创建目录
- COPY 以Dockerfile所在目录为开始,将指定路径下的压缩包拷贝到镜像环境下的工作目录下的jdk压缩包,此时需要把压缩包中的文件添加到镜像中,语法:ADD … ,注意:jdk*.tar.gz 使用的相对路径,需要先解开压缩包然后执行 COPY 命令,所以这使用 ADD 搞定
- ENV 指定环境变量
docker build -t breeze-java:8 . -f dockerfile
- docker build -t [镜像名]:[标签] .
- 最后一个 [ . ] 指定Dockerfile中COPY的相对路径
- -f [Dockerfile路径] 可以省略不写,使用 [ . ] 默认会使用当前路径下的Dockerfile文件
docker tag breeze-java:8 breezeworker/breeze-java:84.上传到自己的dockerHub中,前提是已经登录 docker login进行登录即可
docker push breezeworker/breeze-java:8二、打包sentinel-dashboard镜像 1. 编写Dockerfile进行打包
FROM breezeworker/breeze-java:8 MAINTAINER breeze breeze-cloud@foxmail.com ENV TIME_ZONE Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN mkdir -p /sentinel-dashboard-1.8.3 WORKDIR /sentinel-dashboard-1.8.3 ADD ./sentinel-dashboard.jar ./ EXPOSE 8080 ENTRYPOINT ["java","-jar","sentinel-dashboard-1.8.3.jar"]
解释:
- ENTRYPOINT 容器启动后命令
docker tag breeze-sentinel-dashboard:1.8.3 breezeworker/breeze-sentinel-dashboard:1.8.34.上传
docker push breezeworker/breeze-sentinel-dashboard:1.8.3



