• 将java的项目jar包打成镜像


    一、镜像、容器相关知识的概述

    • Docker 镜像

    docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,
    还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等);
    镜像不包含任何动态数据,其内容在构建之后也不会被改变。
    • Docker 容器

    Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,
    然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),
    也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。
    几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
    • DockerFile

      1.什么是dockerfile

    Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 
    Docker通过读取Dockerfile中的指令自动生成映像。
    docker build命令用于从Dockerfile构建映像。
    可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。
    例:docker build -f /path/to/a/Dockerfile

      2.dockerfile基本结构

    Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

      3.docker文件说明

    Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。可以在Docker文件中使用RUN,CMD,FROM,EXPOSE,ENV等指令。

    dockerfile 指令图解:

    二、上传jar包并创建DockerFile

    1.利用xftp连接自己的服务器将打包好的项目上传到指定服务器目录上

    [root@songweipeng java]# ll
    total 141716
    -rw-r--r-- 1 root root       206 Sep 22 11:40 Dockerfile
    -rw-r--r-- 1 root root 145106991 Sep 22 11:14 gcdp-market-bid-process-service-1.0.0-SNAPSHOT.jar

    2.编写dockerFile:  vim DockerFile

    # 基于哪个镜像,需要用一个已有的镜像做载体来创建,这里我使用的java8镜像,如果大家的docker镜像中没有java8,它就会自动去下载
    FROM java:8
    # 将本地文件夹挂载到当前容器,指定/songwp/project/java目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
    VOLUME /songwp/project/java
    # 添加自己的项目到 gcdp-market-bid-process-service-1.0.0-SNAPSHOT.jar中这里我是取了gcdp-market-bid-process-service.jar的名字,这个名字可以随便取的,只要后面几行名字和这个统一就好了
    ADD gcdp-market-bid-process-service-1.0.0-SNAPSHOT.jar  gcdp-market-bid-process-service.jar
    # 开放9601端口
    EXPOSE 9601
    # ENTRYPOINT指定容器运行后默认执行的命令
    CMD java -jar gcdp-market-bid-process-service.jar

    3.构建镜像

    docker build -f ./Dockerfile  -t gcdp-market-bid-process-service:latest .

    4.运行并查看日志

    # 运行镜像
    docker run -d -p 9601:9601 gcdp-market-bid-process-service:latest
    # 查看运行容器的id和状态 
    docker ps -a 
    # 查看容器日志 
    docker logs 2044230149c1


    __EOF__

  • 本文作者: 遇见你真好
  • 本文链接: https://www.cnblogs.com/songweipeng/p/16719207.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
    面试(类加载器)
    Spring修炼之旅(3)自动装配与注解开发
    053_末晨曦Vue技术_处理边界情况之递归组件
    C/C++数据结构:串的五个常用操作
    高薪职位模拟版图,就业前景到底如何?
    程序员与产品之间应该如何配合,什么时候技术为重,什么时候产品为重?
    English语法_介词 - of
    小话 Spring AOP 源码
    12个VIM编辑器的高级玩法
  • 原文地址:https://www.cnblogs.com/songweipeng/p/16719207.html