一个Dockerfile的demo

本文详细介绍了如何使用DockerFile创建一个基于SpringBoot的应用镜像,包括编写Dockerfile的不同写法,以及构建和运行的过程。后续将探讨微服务的部署。
摘要由CSDN通过智能技术生成


前言

这是一个使用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的使用,后续会出微服务的部署详解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Biver__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值