gpt4 book ai didi

docker - 在 Makefile 中获取 Docker 容器 ID 以在另一个命令中使用

转载 作者:行者123 更新时间:2023-12-02 18:07:42 62 4
gpt4 key购买 nike

我的 Makefile 中有一条规则。在此规则内,我需要操作一些 docker 特定的东西,因此我需要以可移植的方式获取容器的 id。此外,我正在使用 Docker Compose。这是我所拥有的不起作用的东西。

a-rule: some deps
$(shell uuid="$(docker-compose ps -q myService)" docker cp "$$uuid":/a/b/c .)

我没有收到任何错误或输出,但我没有成功执行。

我的目标是获取运行 myService 的容器的 uuid,然后使用该 uuid 将文件从容器复制到我的 docker 主机。

编辑:以下工作,但我仍然想知道是否可以进行内联变量设置

uuid=$(shell docker-compose ps -q myService)
a-rule: some deps
docker cp "$(uuid)":/a/b/c .

最佳答案

我遇到了同样的问题并意识到 makefile 使用 $$ 从 shell 变量获取输出。所以我试过了,这应该对你有用:

a-rule: some deps
uuid=$$(docker-compose ps -q myService);\
docker cp "$$uuid":/a/b/c .

聚会有点晚了,但我希望这对某人有所帮助。

关于docker - 在 Makefile 中获取 Docker 容器 ID 以在另一个命令中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43133670/

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