从Windows容器中的应用程序访问Docker secret
我们正在Windows Server 2019上运行Docker Enterprise 18.09.8。我们的应用程序是使用Express构建的,并在swarm中的Docker容器中作为服务运行。我们的图像需要很小,所以它们是在Windows nano上构建的,这意味着没有Powershell。我们使用的服务有一个API密钥,它应该是私有的,因此我们计划使用Docker secrets使该API密钥可供应用程序使用 不幸的是,应用程序无法读取Docker机密。如果我使用:从Windows容器中的应用程序访问Docker secret,windows,docker,docker-secrets,Windows,Docker,Docker Secrets,我们正在Windows Server 2019上运行Docker Enterprise 18.09.8。我们的应用程序是使用Express构建的,并在swarm中的Docker容器中作为服务运行。我们的图像需要很小,所以它们是在Windows nano上构建的,这意味着没有Powershell。我们使用的服务有一个API密钥,它应该是私有的,因此我们计划使用Docker secrets使该API密钥可供应用程序使用 不幸的是,应用程序无法读取Docker机密。如果我使用: docker exec
docker exec -it 8528f64a022e cmd.exe
我可以看到有东西出现在:
C:\ProgramData\Docker\secrets\search_credentials
但我看不懂。如果我改用:
docker exec -it --user ContainerAdministrator 8528f64a022e cmd.exe
我可以键入文件的内容
问题的核心似乎来自:
创建使用Windows容器的服务时,机密不支持指定UID、GID和模式的选项。目前,只有在容器中具有系统访问权限的管理员和用户才能访问机密
我的应用程序在没有提升权限的情况下无法访问机密的内容,这是真的吗?你发现了吗?@Konstantin-唉,没有,现在我正在进行其他项目。