docker swarm:为环境变量使用秘密
docker swarm: use secrets for enviroments variable
我正在使用 docker swarm 和 portainer 来部署之前直接在 proxmox vms 中的应用程序。
我想改进集群集群的部署流程和机密配置。
我用portainer定义了swarm集群中的秘密
我从 wordpress 开始,但秘密并不像我预期的那样有效。我想使用秘密来完成环境变量,但这保持为空:
version: "3.8"
secrets:
mysql_ip_proxmox_lan_real:
external: true
mysql_password_user_wordpress:
external: true
mysql_password_proxmox_wordpress:
external: true
services:
wordpress:
restart: always
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: ${mysql_ip_proxmox_lan_real}:3306
WORDPRESS_DB_USER: ${mysql_password_user_wordpress}
WORDPRESS_DB_PASSWORD: ${mysql_password_proxmox_wordpress}
WORDPRESS_DB_NAME: wordpress
secrets:
- mysql_ip_proxmox_lan_real
- mysql_password_user_wordpress
- mysql_password_proxmox_wordpress
执行此操作的正确方法是什么?
你试过像这样参考秘密吗?:
WORDPRESS_DB_USER:/run/secrets/mysql_password_user_wordpress
据我所知(我不是专家),其他一切都是正确的。我不确定附加端口是否有效。如果上述方法有效,但您的端口仍然有问题,也许只是将其添加到机密中?
根据来自 https://hub.docker.com/_/wordpress 的文档,您可以将 FILE 附加到任何环境变量并引用 /run/secrets/
我正在使用 docker swarm 和 portainer 来部署之前直接在 proxmox vms 中的应用程序。
我想改进集群集群的部署流程和机密配置。
我用portainer定义了swarm集群中的秘密
我从 wordpress 开始,但秘密并不像我预期的那样有效。我想使用秘密来完成环境变量,但这保持为空:
version: "3.8"
secrets:
mysql_ip_proxmox_lan_real:
external: true
mysql_password_user_wordpress:
external: true
mysql_password_proxmox_wordpress:
external: true
services:
wordpress:
restart: always
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: ${mysql_ip_proxmox_lan_real}:3306
WORDPRESS_DB_USER: ${mysql_password_user_wordpress}
WORDPRESS_DB_PASSWORD: ${mysql_password_proxmox_wordpress}
WORDPRESS_DB_NAME: wordpress
secrets:
- mysql_ip_proxmox_lan_real
- mysql_password_user_wordpress
- mysql_password_proxmox_wordpress
执行此操作的正确方法是什么?
你试过像这样参考秘密吗?:
WORDPRESS_DB_USER:/run/secrets/mysql_password_user_wordpress
据我所知(我不是专家),其他一切都是正确的。我不确定附加端口是否有效。如果上述方法有效,但您的端口仍然有问题,也许只是将其添加到机密中?
根据来自 https://hub.docker.com/_/wordpress 的文档,您可以将 FILE 附加到任何环境变量并引用 /run/secrets/