ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-SpringBoot配置Dockerfile,打包镜像全过程以及Dockerfile基础命令介绍

2021-09-30 14:35:54  阅读:168  来源: 互联网

标签:java SpringBoot CMD jar param2 param1 镜像 Dockerfile


Docker实战篇——java-SpringBoot配置Dockerfile,打包镜像全过程
  1. Dockerfile构成

    :注释

    Dockerfile由4部分组成:

    ​ 1) 基础镜像信息:From :

    ​ 2)维护者信息:LABEL maintainer="1091173065@qq.com"

    ​ 3)镜像操作指令:RUN cp -r /var/lib/mysql /var/lib/mysql-no-volume

    ​ 4)容器启动指令:CMD ["--datadir", "/var/lib/mysql-no-volume"]

    注意:基础镜像信息可以写多个FROM指令来构建复杂的镜像

  2. Dockerfile指令

    • FROM:指定制作的镜像继承自那个镜像

      格式:

      FROM <image>
      FROM <image>:<tag>
      FROM <image>:<digest> 
      
    • LABEL maintainer:用来指定维护者信息

      格式:LABEL maintainer="1091173065@qq.com"

    • RUN:执行shell命令

      格式:

      1. RUN <command> #后边直接跟shell命令
      2. RUN ["executable", "param1", "param2"]#类似于函数调用。
      
    • EXPOSE:暴露容器中的端口号,也可通过“docker run -p”进行映射。

      格式:EXPOSE [......]

    • CMD:只存在一个,

      1. CMD ["executable","param1","param2"]
      2. CMD ["param1","param2"]
      3. CMD command param1 param2
      
    • ENTRYPOINT:Dockerfile只能存在一个该指令,当指定多个时,最后一个有效。

      1. ENTRYPOINT ["executable", "param1", "param2"]
      2. ENTRYPOINT command param1 param2
      
    • VOLUME:创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库或需要永久保存的数据。

      docke run -v $HostPath:$ContainerPath #常用指令
      VOLUME ["/data"]
      
    • ENV:指定环境变量,会被后续RUN指令使用,并在容器运行时保持。

      1. ENV <key> <value> #1个环境
      2. ENV <key>=<value> ...#多个环境
      
    • ADD:复制命令,把文件复制到镜像中。

      1. ADD <src>... <dest>
      2. ADD ["<src>",... "<dest>"]
      
    • COPY:复制本地的src(为Dockerfile所在目录的相对路径)到容器中的dest。当使用本地目录为源目录是推荐使用COPY。

      1. COPY <src>... <dest>
      2. COPY ["<src>",... "<dest>"]
      
  3. java-SpringBoot配置Dockerfile,打包镜像全过程

    1、Spring项目打包:IDEA选择右侧的【Maven】-【projectName】-【lifecycle】-【package】,打包好的jar将存储在target下xxxxx.jar
    2、编写Dockerfile

    # 该镜像需要依赖的基础镜像
    FROM openjdk:8
    # 指定维护者名称
    MAINTAINER hcx 1091173065@qq.com
    # 将targer目录下的jar包复制到docker容器/home/springboot目录下面目录下面
    ADD ./target/core242-0.0.1-SNAPSHOT.jar /home/springboot/core242-0.0.1-SNAPSHOT.jar
    # 声明服务运行在8080端口
    EXPOSE 8080
    # 执行命令
    CMD ["java","-jar","/home/springboot/core242-0.0.1-SNAPSHOT.jar"]
    
    

    3、将项目上传至服务器,进行docker build

    docker build -t containerName(自定义):tag(自定义) .
    #注意最后的 . 一定要有
    #完成构建后可以使用命令dokcer images查看build完的镜像
    

    4、启动构建完成的镜像

    docker run -d -p 8080:8080 --name customName containerName:tag
    #启动后可以使用docker ps -a查看容器状态,是否能够正常使用,如果未正常启动就需要自行检查配置的过程中是否出现失误,例如Dockerfile中的CMD或者ADD的文件路径是否正确等。
    

标签:java,SpringBoot,CMD,jar,param2,param1,镜像,Dockerfile
来源: https://www.cnblogs.com/hcxss/p/15356628.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有