如何解决docker swarm:对环境变量使用秘密
我使用 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
这样做的正确方法是什么?
解决方法
根据来自:https://hub.docker.com/_/wordpress 的文档,您可以将 _FILE 附加到任何环境变量并引用 /run/secrets/
你有没有试过像这样引用秘密?:
WORDPRESS_DB_USER:/run/secrets/mysql_password_user_wordpress
据我所知(我不是专家),其他一切都是正确的。我不确定附加端口是否有效。如果上述方法有效,而您的端口仍然存在问题,也许只需将其添加到密钥中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。