SpringBoot应用打包成Docker镜像并运行

[root@izuf688rg4xz5o3a7o9kd8z eureka]# ls
Dockerfile  shop-eureka01-0.0.1-SNAPSHOT.jar  shop-eureka02-0.0.1-SNAPSHOT.jar  shop-eureka03-0.0.1-SNAPSHOT.jar

将上面三个jar包为SpringBoot项目打成的jar包,通过Dockerfile将jar包打成镜像,以shop-eureka01-0.0.1-SNAPSHOT.jar为例

Dockerfile:

FROM java:8-alpine
MAINTAINER Hxt
WORKDIR eureka
ADD shop-eureka01-0.0.1-SNAPSHOT.jar eureka01.jar
EXPOSE 7001
ENTRYPOINT ["java","-jar","eureka01.jar"]

1)、Dockerfile常用指令

  • FROM:指定base镜像

  • MAINTAINER:设置镜像的作者,可以是任意字符串

  • COPY:将文件从build context复制到镜像
    COPY支持两种形式:

    1.COPY src dest

    2.COPY [“src”, “dest”]

    注意:src只能指定build context中的文件或目录

  • ADD:与COPY类似,从build context复制文件到镜像。不同的是,如果src 是归档文件(tar, zip, tgz, xz等),文件会被自动解压到dest

  • ENV:设置环境变量,环境变量可被后面的指令使用

  • EXPOSE:指定容器中的进程会监听某个端口,Docker可以将该端口暴露出来

  • VOLUME:将文件或目录声明为volume

  • WORKDIR:为后面的RUN, CMD, ENTRYPOINT, ADD或COPY指令设置镜像中的当前工作目录

  • RUN:在容器中运行指定的命令

  • CMD:容器启动时运行指定的命令
    Dockerfile中可以有多个CMD指令,但只有最后一个生效。CMD可以被docker run之后的参数替换

  • ENTRYPOINT:设置容器启动时运行的命令
    Dockerfile中可以有多个ENTRYPOINT指令,但只有最后一个生效。CMD或docker run之后的参数会被当做参数传递给ENTRYPOINT

2)、构建镜像

[root@izuf688rg4xz5o3a7o9kd8z eureka]# docker build -t eureka01:v1 .

-t参数后面跟上想要的镜像名称

3)、运行Docker镜像

[root@izuf688rg4xz5o3a7o9kd8z eureka]# docker run -d --net=host -p 7001:7001 --name eureka01 eureka01:v1

-d:容器后台运行

–net:网络模式

-p:容器暴露的端口

–name:容器名称

Docker的run命令详解参考:https://www.cnblogs.com/yfalcon/p/9044246.html

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

邋遢的流浪剑客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值