zoukankan      html  css  js  c++  java
  • Springboot 生成docker image

    前段日子搭建了一个kubenetes集群,kubenetes是需要载入docker image来运行应用的。

    我使用的是Springboot框架,因此向大家分享一下Springboot生成docker image的一个方法。不对的地方请指教~

    一、Springboot生成jar包

      docker image生成需要用到项目build生成的jar包,因此第一步你需要生成一个jar包。maven项目,命令是:

    mvn clean package
    

      

    二、Dockerfile

      1、jar生成完毕后,需要创建一个Dockerfile文件(文本类型的)来生成docker image。我的Dockerfile如下:

    FROM openjdk:8
    LABEL app="blogtest" version="0.0.1"
    ADD Blog-0.0.1-SNAPSHOT.jar app.jar
    CMD java -jar app.jar
    

        FROM : 制定基础镜像;

        VOLUME :挂载一个目录到主机目录

        LABLE : 用于为镜像添加元数据,元数以键值对的形式指定

        ADD : 用于复制构建环境中的文件或目录到镜像中, 如果使用的是本地归档文件(gzipbzip2xz)时,Docker会自动进行解包操作,类似使用tar -x.

        CMD : 用于指定在容器启动时所要执行的命令

        再具体的各种Dockerfile相关命令,可以查看 https://itbilu.com/linux/docker/VyhM5wPuz.html#cmd-cmd

      2、Dockerfile写完了,接下来就是命令运行Dockerfile来build docker image,命令如下:

    docker build -t test --force-rm .

          --force-rm : 始终移除中间容器

        可以使用下面的命令查看docker image是都创建成功:

    docker images

      3、最后,在本地试试docker build出来的image 是否可以跑起来,下面的run命令:

    docker run --name ContainerName -p 8888:8888 -d test
    

        --name :为容器指定一个名称

        -p :  端口映射,格式为:主机(宿主)端口:容器端口

        -d : 后台运行容器,并返回容器ID

        还有其他docker run的命令:可以查看 http://www.runoob.com/docker/docker-run-command.html

  • 相关阅读:
    剔除list中相同的结构体数据
    API Gateway微服务
    Webpack vs Gulp
    客服系统
    利用 istio 来对运行在 Kubernetes 上的微服务进行管理
    微服务环境搭建
    简易的开发框架(微服务) Asp.Net Core 2.0
    Istio官方文档中文版
    Hangfire Net Core2
    IIS7性能优化
  • 原文地址:https://www.cnblogs.com/Lyh1997/p/10217525.html
Copyright © 2011-2022 走看看