我使用 docker swarm 和 portainer 来部署之前直接在 proxmox vms 中的应用程序。
我想使用集群 swarm 改进部署流程,并使用机密进行配置。
我用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
这样做的正确方法是什么?
答案 0 :(得分:1)
根据来自:https://hub.docker.com/_/wordpress 的文档,您可以将 _FILE 附加到任何环境变量并引用 /run/secrets/
答案 1 :(得分:0)
你有没有试过像这样引用秘密?:
WORDPRESS_DB_USER:/run/secrets/mysql_password_user_wordpress
据我所知(我不是专家),其他一切都是正确的。我不确定附加端口是否有效。如果上述方法有效,而您的端口仍然存在问题,也许只需将其添加到密钥中?