gpt4 book ai didi

azure - 将 docker secret 传递给 azure web 应用程序时出错 'No such file or directory: '/run/secrets/'

转载 作者:行者123 更新时间:2023-12-03 04:09:30 25 4
gpt4 key购买 nike

我对 Docker 比较陌生,目前正在构建一个多容器的 dockerized azure Web 应用程序(在 Flask 中)。然而,我在 secret 管理方面遇到了一些困难。我已经成功构建了一个通过环境变量存储应用程序 secret 的版本。但根据最近的一些阅读,我注意到这不是一个好主意。我一直在尝试更新我的应用程序以使用 Docker Secrets,但没有成功。

我已经根据这篇文章成功创建了 secret :

how do you manage secret values with docker-compose v3.1?

我已经部署了堆栈并验证了 secret 在/run/secrets/中的两个容器中均可用。但是,当我在 azure 中运行该应用程序时,出现错误。

以下是我在 Azure 中启动应用程序所采取的步骤。

docker swarm init --advertise-addr XXXXXX
$ echo "This is an external secret" | docker secret create my_external_secret
docker-compose build
docker push
docker stack deploy -c *path-to*/docker-compose.yml webapp

接下来我将重新启动 Azure Web 应用程序以提取最新图像

docker-compose 的基本结构如下。

version: '3.1'
services:
webapp:
build: .
secrets:
- my_external_secret
image: some_azure_registry/flask_site:latest

celery:
build: .
command: celery worker -A tasks.celery --loglevel=INFO -P gevent
secrets:
- my_external_secret
image: some_azure_registry.azurecr.io/flask_site_celery:latest


secrets: # top level secrets block
- my_external_secret
external: true

但是,当我在 azure 中运行该应用程序时,我得到:

没有这样的文件或目录:'/run/secrets/my_external_secret

我可以将 shell 附加到容器并成功运行:

python
open('/run/secrets/*my_external_secret*', 'r').read().strip()

但是当上面的行由 web 应用程序执行时,它会失败并出现 no file or directory 错误。任何帮助将不胜感激。

最佳答案

不幸的是,Azure Web App for Container 不支持 docker-compose 顶层的 key 。请看下面:

Supported options

  • command
  • entrypoint
  • environment
  • image
  • ports
  • restart
  • services
  • volumes

Unsupported options

  • build (not allowed)
  • depends_on (ignored)
  • networks (ignored)
  • secrets (ignored)
  • ports other than 80 and 8080 (ignored)

更多详情,请参阅 Docker Compose options .

关于azure - 将 docker secret 传递给 azure web 应用程序时出错 'No such file or directory: '/run/secrets/',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57529299/

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