0

此时我正在学习围绕 swarm 模式的方法,通常当想要在非 swarm 模式下将文件复制到容器中或从容器中复制文件时,我只会执行以下操作,将文件复制到名为“swag”的容器中:

docker cp "C:\Sites\somefile.conf" swag:/config/nginx/proxy-confs

但在 swarm 模式下,容器名称会附加.<some long random hash each time one is started>,即stackname_swag.d98s7fds89f98d7sf

在这种情况下,使用“swag”作为容器名称会失败,使用“stackname_swag”也是如此。我假设可以复制包括哈希在内的整个容器名称(尚未尝试过),并且我知道我可以复制容器 ID 并使用它来代替容器名称,但似乎应该有一种方法您不必先进行查找来复制 ID 或名称 + 哈希,只需使用容器/服务的通用“名称”...

有没有这样的方法?

4

1 回答 1

0

我不相信有另一种方法可以在群中做到这一点,你描述的过程将是要走的路。话虽如此,从外观上看,您正在尝试将其复制到配置文件中,如果您这样做只是为了测试/开发,那很好,但是如果要寻找可以在产品中使用的东西,那么您应该看看其他方式让你配置到容器中。根据您的需要,您可以使用 docker configs,可以创建命名卷,可以使用绑定挂载,甚至可以使用已经包含配置的自定义映像。

于 2020-08-27T18:10:15.550 回答