• 【Docker】Dockerfile 之 ENTRYPOINT(四)


    参考教程:https://docs.docker.com/engine/reference/builder/

    环境

    1. virtual box 6.1
    2. centos 7.8
    3. docker 19.03

    ENTRYPOINT 和 CMD 的交互

    Both CMD and ENTRYPOINT instructions define what command gets executed when running a container. There are few rules that describe their co-operation.
    CMDENTRYPOINT 指令均定义了运行容器时执行的命令。有少量的规则描述他们的合作。

    1. Dockerfile should specify at least one of CMD or ENTRYPOINT commands.

    2. Dockerfile 应该至少指定 CMDENTRYPOINT 命令之一。

    3. ENTRYPOINT should be defined when using the container as an executable.

    4. 使用容器作为可执行文件时,应定义 ENTRYPOINT

    5. CMD should be used as a way of defining default arguments for an ENTRYPOINT command or for executing an ad-hoc command in a container.

    6. 应该使用 CMD 作为定义 ENTRYPOINT 命令或在容器中执行命令的默认参数的方式。

    7. CMD will be overridden when running the container with alternative arguments.

    8. 当使用其他参数运行容器时,CMD 将被覆盖。

    The table below shows what command is executed for different ENTRYPOINT / CMD combinations:
    下表显示了针对不同的 ENTRYPOINT/CMD 组合执行的命令:

    No ENTRYPOINT ENTRYPOINT exec_entry p1_entry ENTRYPOINT [“exec_entry”, “p1_entry”]
    No CMD error, not allowed /bin/sh -c exec_entry p1_entry exec_entry p1_entry
    CMD [“exec_cmd”, “p1_cmd”] exec_cmd p1_cmd /bin/sh -c exec_entry p1_entry exec_entry p1_entry exec_cmd p1_cmd
    CMD [“p1_cmd”, “p2_cmd”] p1_cmd p2_cmd /bin/sh -c exec_entry p1_entry exec_entry p1_entry p1_cmd p2_cmd
    CMD exec_cmd p1_cmd /bin/sh -c exec_cmd p1_cmd /bin/sh -c exec_entry p1_entry exec_entry p1_entry /bin/sh -c exec_cmd p1_cmd

    Note

    If CMD is defined from the base image, setting ENTRYPOINT will reset CMD to an empty value. In this scenario, CMD must be defined in the current image to have a value.

    注意

    如果从基础镜像定义了 CMD,则设置 ENTRYPOINT 会将 CMD 重置为空值。在这种情况下,必须在当前镜像中定义CMD 以具有值。

    总结

    介绍了 Dockerfile 中 ENTRYPOINT 指令和 CMD 指令的交互。

  • 相关阅读:
    mac安装sublime text 3,含注册码
    shell脚本--cut命令与awk简单使用
    mac安装VMware虚拟机(含序列号)及Ubuntu系统
    伪静态与重定向--RewriteBase
    伪静态与重定向--RewriteRule
    伪静态与重定向之初体验
    shell脚本--内容查找之grep命令
    shell脚本--文件查找之find命令
    JQuery基础-- Ajax
    安装phpredis扩展
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14116463.html
Copyright © 2020-2023  润新知