gpt4 book ai didi

docker - 如何在 CLI(命令行界面)中将参数传递给 docker run?

转载 作者:行者123 更新时间:2023-12-02 19:02:29 24 4
gpt4 key购买 nike

我需要我的图像来使用此命令启动:

docker run -it --rm --security-opt seccomp=./chrome.json <image_id>

我正在将其部署到 Google Compute Engine:https://cloud.google.com/compute/docs/containers/deploying-containers

据我了解,我无法在那里指定参数,因此 Google Cloud 仅使用 docker run 命令启动它。

我如何传递这些参数?也许我可以以某种方式在 Dockerfile 中指定这些参数?

最佳答案

当您使用该功能直接在 Compute Engine 上部署容器时,您仅限于定义

  • 入口点
  • 在入口点传递的参数
  • 环境变量

仅此而已,您无法添加其他/自定义参数。

一种解决方案是不使用内置功能,而是使用 container-optimized OS (COS) on your Compute Engine and to create a startup script使用您想要的 docker args 下载并运行容器

METADATA=http://metadata.google.internal/computeMetadata/v1
SVC_ACCT=$METADATA/instance/service-accounts/default
ACCESS_TOKEN=$(curl -H 'Metadata-Flavor: Google' $SVC_ACCT/token | cut -d'"' -f 4)
docker login -u oauth2accesstoken -p $ACCESS_TOKEN https://gcr.io
docker run … gcr.io/your-project/your-image

在最后一行,您可以在启动脚本中自定义运行参数。

现在,对于更新,您必须更新启动脚本并重置虚拟机(或者使用 COS 和新的启动脚本创建新的计算引擎;并删除之前的脚本)。

这是内置功能的便利性和定制能力之间的权衡问题。

关于docker - 如何在 CLI(命令行界面)中将参数传递给 docker run?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65388567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com