zoukankan      html  css  js  c++  java
  • 【Docker】docker镜像构建

    jmeter使用分布式方法进行压测时,有时会需要较多数量的slave,估需要将压力机进行容器化,并且使其是无状态的,支持快速横向扩容。

    一、编写Dockerfile

    Dockerfile的语法用法可参考:https://www.runoob.com/docker/docker-dockerfile.html

    主要的注意事项有:

    1、Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。可用&&符号连接命令,减少层数。

    FROM openjdk:8-jdk-slim
    RUN apt-get clean
    RUN apt-get update
    RUN apt-get -qy install wget
    以上执行会创建 3 层镜像。可简化为以下格式:
    FROM openjdk:8-jdk-slim
    RUN apt-get clean  
      && apt-get update
      && apt-get -qy install wget
    以上执行只会创建 1 层镜像

    2、可以将本地的镜像作为基础镜像

    如本地有REPOSITORY为qa/jmeter,TAG为content的镜像,可使用FROM引入。

    FROM qa/jmeter:content
    

    我主要是使用该方式为已有的镜像添加后置命令执行,在容器启动之后,执行命令,启动服务。

    二、构建镜像

    docker的命令可参考:https://www.runoob.com/docker/docker-image-usage.html

    主要的注意事项有:

    1、构建时可能因为网络问题导致失败,这时候建议创建个基础镜像,使用该镜像创建容器,在容器中将环境配置好后,将容器commit到镜像中。

    2、构建时使用的名字和tag是本地已存在的,将会对已有的镜像进行更新。

    三、上传镜像

    使用docker login harborUrl,登录harbor。

    docker login harbor.xxx.com
    harbor.xxx.com为harbor仓库地址

    使用docker push imageId 上传镜像。

    docker push dsjg234kad harbor.xxx.com/qa/jmeter:content
    harbor.xxx.com/qa/jmeter:content 为上传路径,镜像名字与TAG用:分隔开
    

      

  • 相关阅读:
    判断闰年
    正向代理(Forward Proxy)与反向代理(Reverse Proxy)
    What do we need to know about Vue.js?(译)
    How To Create A GitHub Profile README(译)
    Building a carousel component in React using Hooks(译)
    What is Redux JS(译)
    Weekly Contest 197
    koa-compose源码阅读与学习
    js 事件循环消息队列和微任务宏任务
    记一次字节跳动的面试
  • 原文地址:https://www.cnblogs.com/6970-9192/p/13684880.html
Copyright © 2011-2022 走看看