zoukankan      html  css  js  c++  java
  • 【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 指令的交互。

  • 相关阅读:
    PHPLIB Template入门系列 4 模板嵌套
    jQuery 实例
    建立PHP的本地调试环境
    PHP缓存memcache简单应用
    PHP程序:虚拟域名服务DIY
    去掉网络共享的session
    C# 里EF 对Mysql DB更新,乱码
    sshd的log的位置
    cURL 访问https失败
    Eclipse中编辑properties文件的编码问题
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14116463.html
Copyright © 2011-2022 走看看