• dockerfile文档的相关参数


     以上是用dockerfile来构建的nginx镜像示例。

    一、构建stress压力测试软件镜像

    ##(1) 以下是Dockerfile内容(ENTRYPOINT是运行的环境):

    FROM centos

    RUN yum -y install wget epel-release

    RUN yum install -y stress

    ENTRYPOINT ["stress"]

    ##(2)构建命令(注意最后有一个点号):

    docker build –t=”docker_image_name”  stress .

    ##(3)运行容器(压力测试):

    docker run -it --rm mystress:v1 --name mystress -h mystress -c 512 --cpu 1   

    ##rm参数是停止后删除容器,-c 512 --cpu 1,-c为线程,-m为限制内存。

    docker run -d --rm --name mystress2 -h mystress2 mystress:v1 --cpu 512  ## -d:后台运行,cpu占用 99.8

    二、参数解释(第一个字都是大写):

    FROM  :指定镜像信息;MAINTAINER : 指定镜像的作者信息(包括联系信息);

    RUN   :指定镜像构建时的命令;      

    EXPOSE : 指定端口,可以指定多个(但不会自动打开,docker run时仍要指定);

    CMD与ENTERYPOINT : 指定容器运行时运行的命令(如run容器时指定了命令,那么CMD命令会被覆盖,后者则不会,除非指定了ENTERYPOINT,所以一般指定容器运行时运行的程序用ENTERYPOINT,参数用CMD[]来指定);

    CMD [  “executable” ,”param1” ,“param2” ] (exec模式)

    CMD command param1 param2 (shell模式)

    CMD [ “param1”,”param2” ]  (作为ENTRYPOINT指令的默认参数)

    ADDCOPYVOLUME  :  设置目录与文档(copy的文档目录一般放在与dockerfile同级),ADDCOPY的区别是add包含了tar的解压功能,copy纯粹是cp文档;  VOLUME 用来添加卷  

     ONBUILD :类似触发器命令(如后面加copy命令,但不会在本次构建a(生成镜像image_a)中执行,会在下次构建b时(FROM的镜像指定为构建a生成的镜像image_a)执行构建a中的ONBUILD指令)

    WORKDIR ENV USER :设置镜像构建与容器运行时的环境设置(要使用绝地路径,不然路径会传递下去)。

    ENV:  在镜像构建过程与容器运行过程中都有效。

    三、常用镜像相关的命令:

    Docker history  <image name:版本号>      ##查看镜像的构建过程;

    Docker build  -t=’test_xxx’  .  --no-cache      ##构建时不使用缓存

    (或在dockerfile中加入”ENV REFRESH_DATE 2019-09-17” 也会刷新缓存 )。

  • 相关阅读:
    Enables DNS lookups on client IP addresses 域名的分层结构
    移除 URL 中的 index.php
    Design and Architectural Goals
    The Model represents your data structures.
    If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.
    UNION WHERE
    cookie less
    http 2
    UNION DISTINCT
    联合约束 CONCAT()
  • 原文地址:https://www.cnblogs.com/liulvzhong/p/11536043.html
Copyright © 2020-2023  润新知