gpt4 book ai didi

docker - 如何使用容器入口点参数调用 gcloud 计算实例 create-with-container

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

我想创建一个 compute instance based on a container带有 python 入口点。入口点需要参数。例如,如果我使用以下命令在本地运行容器:

docker run ${IMAGE_TAG} \
--arg0=0 \
--arg1=1

gcloud 命令将创建一个实例,该实例使用提供的参数自动运行入口点?

我尝试了类似以下的操作(在推送容器之后),但没有成功。实例已启动,但未从入口点运行。
gcloud compute instances create-with-container \
${INSTANCE_NAME} \
--zone=${ZONE} \
--machine-type=${INSTANCE_TYPE} \
--accelerator=${GPU_TYPE} \
--service-account=default \
--container-image=${IMAGE_URI} \
--container-arg="--arg0=0" \
--container-arg="--arg1=1"

最佳答案

我会问,你的 ENTRYPOINT 是如何在你的 Dockerfile 中定义的。您使用的是 exec 还是 shell 形式?

我认为您正在使用 exec 表单,因为在本地运行它时,您只需将两个参数附加到 docker run 命令并且它们已成功传递。我将其称为 ENTRYPOINT以 shell 形式定义的不接受根据 docs 传递的参数.

使用 --container-arg 传递的参数应该以与使用 CMD 设置 ENTRYPOINT 的默认值时类似的方式附加在 ENTRYPOINT 之后。 (更多详情见this)。

正如 John Hanley 所提到的,字符串 --arg0=0将传递给附加到 Dockerfile ENTRYPOINT 的程序,或使用 --container-command 指定的命令就像约翰汉利的回答一样。

我建议检查 Dockerfile 中的 ENTRYPOINT 是如何定义的,以开始排除可能导致此问题的原因。你也可以check your running processes在创建后立即在 VM 实例中查看入口点是如何执行的,例如$ docker exec -it test ps aux .

关于docker - 如何使用容器入口点参数调用 gcloud 计算实例 create-with-container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59652369/

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