0

我正在使用 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

这样做的正确方法是什么?

4

2 回答 2

1

根据来自https://hub.docker.com/_/wordpress的文档,您可以将 _FILE 附加到任何环境变量并引用 /run/secrets/<secret_filname>

于 2021-04-07T22:56:42.433 回答
0

您是否尝试过像这样引用秘密?:

WORDPRESS_DB_USER:/run/secrets/mysql_password_user_wordpress

据我所知(我不是专家),其他一切都是正确的。我不确定附加端口是否可行。如果上述方法有效,并且您仍然对端口有疑问,也许只需将其添加到密钥中?

于 2021-03-13T14:03:45.710 回答