【问题标题】:Helper script or dockerfile commands in dockerfiledockerfile 中的帮助脚本或 dockerfile 命令
【发布时间】:2020-02-17 19:21:11
【问题描述】:

我有一个关于最佳做法的问题。推荐哪种方法。

  1. 有一个帮助脚本install-plugins.sh 可以安装构建期间所需的所有内容。或者……

  2. 使用 RUN 命令在 dockerfile 中进行安装。

我知道第一个增强了 dockerfile 的可读性。这两个有什么可比性?哪个更好?

谢谢

【问题讨论】:

    标签: docker dockerfile containers


    【解决方案1】:
    1. 您可以为此目的使用entrypoint。它将在每次执行容器时运行。
    2. RUN 仅在创建映像时在构建时运行。

    例如,当您需要在每个容器执行时更新包时,可以实施第一个解决方案,但在这种情况下,启动速度可能会更慢。帮助器也可以在每次执行时更新一些环境设置。

    【讨论】:

    • 您通常应该在构建时安装插件和其他软件包,而不是在启动时。如果您尝试在启动时执行此操作,那么如果远程包服务器关闭,您的本地网络参差不齐,......并且它正在重复您应该只做一次并保存的工作,那么确实有可能失败。
    • 在本地主机上开发 Python 的上下文中,我们在入口点脚本中使用pip install,通过将环境变量 PIP_UPGRADE_RUNTIME 更改为 1,随时获取新的包(无需重新构建)。
    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多