文章目录
前言
这是一个使用DockerFile的简单demo
一、Dockerfile是什么?
是一个文本文件,其中包含一个个指令,用指令说明要执行什么操作来构建镜像,每一个指令都会形成层Layer
二、思路1
1.新建一个简单的SpringBoot项目,过程略,结果如图
如图
Controller代码
@RequestMapping("/hello")
public String hello() {
return "Hello Dockerfile!";
}
以上测试完成后打包得到jar包
2.下载jdk,推荐去orcale
https://www.oracle.com/java/technologies/downloads/#java8-linux
自行根据系统进行选择
3. 编写Dockerfile文件
写法1
# 指定镜像
FROM ubuntu:16.04
#配置环境变量
ENV JAVA_DIR=/usr/local
#拷贝jdk和hava项目
COPY ./jdk8.tar.gz $JAVA_DIR
COPY ./hello-world-0.0.1.jar /tmp/hello.jar
# 安装JDK
RUN cd $JAVA_DIR \
&& tar -xf ./jdk8.tar.gz \
&& mv ./jdk1.8.0_401 ./java8
# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
#暴露端口
EXPOSE 8787
ENTRYPOINT java -jar /tmp/hello.jar
写法 2
# 指定镜像
FROM java:8-alpine
#拷贝java项目
COPY ./hello-world-0.0.1.jar /tmp/hello.jar
#暴露端口
EXPOSE 8787
ENTRYPOINT java -jar /tmp/hello.jar
4.把文件放到一个目录(非必须),执行build
docker build -t dockerdemo:1.0 .
其中 【 . 】是由于命令正在当前文件执行
正确的效果
运行
docker run --name web -p 8099:8787 -d hello:1.0
效果 :
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Dockerfile的使用,后续会出微服务的部署详解。