Docker学习笔记(三)-- Dockerfile的编写

版权声明: https://blog.csdn.net/CN_xuwang/article/details/79969978

本文环境与上一篇文章相同。

Dockerfile 的编写

当Java web项目在SVN上有代码更新时,我们需要重新拉取SVN代码,maven打包,以及docker run 一个新的容器部署项目,需要手动敲的代码实在是太重复,于是就有了Dockerfile的帮助。

在jar包所在的目录编写Dockerfile:

touch Dockerfile
vim Dockerfile
Dockerfile的内容:

# THIS DOCKERFILE USES THE JAVA IMAGE
# VERSION jdk1.8.0
# AUTHOR xuwang <121894598@qq.com>
# REFRESHED at 2018-04-17

FROM java:8u111
MAINTAINER xuwang <XXXXXXXXX@xxx.com>
ADD platform-0.0.1-SNAPSHOT.jar /opt/platform.jar
RUN bash -c 'touch /opt/platform.jar'
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
EXPOSE 8098
CMD ["java","-jar","/opt/platform.jar"]

接下来讲解Dockerfile的基本指令:

FROM [基础镜像:tag]

MAINTAINER [author] [contact e-mail]

ADD [Dockerfile所在目录的jar包] [docker容器内存放jar包的路径]

RUN bash -c 'touch /opt/platform.jar'

#修改时区为中国时间

RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata 

#暴露8082端口

EXPOSE 8082

#运行容器内jar包

CMD ["java","-jar","/opt/platform.jar"]


docker build 生成镜像

到Dockerfile所在目录输入 docker build -t platform .

注意不要忘记后面的“ . ”表示build当前目录下的Dockerfile。

docker run 运行镜像

输入 docker images  查看刚刚build的镜像

运行镜像:

docker run -d --name platform -p 8082:8082 [image id]

输入 docker ps  查看运行的容器。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页