如何删除 docker 服务中的秘密?
How to delete secret inside a docker service?
所以我尝试使用 "docker secret" 来保密。该命令应该如下所示。
printf "Yes" | docker secret create sec -
然后我尝试使用 redis
图片提供服务。
docker service create --name redis --secret sec redis:alpine
当我尝试访问 redis 服务并查看秘密时,它就像魅力一样工作 docker。
docker container exec $(docker ps --filter name=redis -q) cat /run/secrets/sec
但问题是,我试图在不删除服务的情况下从 redis 中删除密钥。我就像下面的命令一样。
docker container exec $(docker ps --filter name=redis -q) rm -rf /run/secrets/sec
rm: can't remove '/run/secrets/sec': Resource busy
所以我尝试使用停止命令停止服务。
docker container stop $(sudo docker ps --filter name=redis -q)
docker container exec $(sudo docker ps --filter name=redis -q) rm /run/secrets/sec
rm: can't remove '/run/secrets/my_secret_data': Resource busy
但它没有停止服务,我试图通过 docker service [COMMAND]
停止服务,但我找不到任何 docker 服务停止。
我也曾尝试使用 docker secret rm
删除 docker 秘密,但出现此错误。
Error response from daemon: rpc error: code = InvalidArgument desc = secret 'sec' is in use by the following service: redis
如何在不删除 docker 服务的情况下删除 docker 机密?
要停止该服务,您必须 "rm" 它。因此,命令是 docker service rm.
您不能只 "stop" 服务。
但是您可以更新它,使用“docker service update --secret-rm ...”
一旦它不再与服务链接,您将能够"rm"来自群的秘密。
所以我尝试使用 "docker secret" 来保密。该命令应该如下所示。
printf "Yes" | docker secret create sec -
然后我尝试使用 redis
图片提供服务。
docker service create --name redis --secret sec redis:alpine
当我尝试访问 redis 服务并查看秘密时,它就像魅力一样工作 docker。
docker container exec $(docker ps --filter name=redis -q) cat /run/secrets/sec
但问题是,我试图在不删除服务的情况下从 redis 中删除密钥。我就像下面的命令一样。
docker container exec $(docker ps --filter name=redis -q) rm -rf /run/secrets/sec
rm: can't remove '/run/secrets/sec': Resource busy
所以我尝试使用停止命令停止服务。
docker container stop $(sudo docker ps --filter name=redis -q)
docker container exec $(sudo docker ps --filter name=redis -q) rm /run/secrets/sec
rm: can't remove '/run/secrets/my_secret_data': Resource busy
但它没有停止服务,我试图通过 docker service [COMMAND]
停止服务,但我找不到任何 docker 服务停止。
我也曾尝试使用 docker secret rm
删除 docker 秘密,但出现此错误。
Error response from daemon: rpc error: code = InvalidArgument desc = secret 'sec' is in use by the following service: redis
如何在不删除 docker 服务的情况下删除 docker 机密?
要停止该服务,您必须 "rm" 它。因此,命令是 docker service rm.
您不能只 "stop" 服务。
但是您可以更新它,使用“docker service update --secret-rm ...”
一旦它不再与服务链接,您将能够"rm"来自群的秘密。