docker 在Synology Container Manager上连接到相邻容器中的Mariadb

mfuanj7w  于 2024-01-06  发布在  Docker
关注(0)|答案(1)|浏览(323)

我正在使用Synology Container Manager。我只有两个容器。一个是ProjectSend,一个是Mariadb。两个容器都已启动并运行(根据Container Manager)。
第一次从Firefox访问ProjectSend时,你必须将ProjectSend连接到它的数据库。有一个按钮,一旦事情通过,你就可以继续并开始使用ProjectSend。
问题是我无法连接。
ProjectSend的“数据库配置”GUI检查主机、数据库名称、密码和密码。这些都没有确认。我正在尝试获得所有绿色检查。
enter image description here
使用SSH,我已经从另一台PC访问了Synology,然后是Container,然后是MariaDB本身。我可以使用SSH与MariaDB交互。凭借我有限的知识和大量的Web研究,我查询了一些东西。似乎我的用户帐户(其中两个:root和另一个)都在那里,它们都标记为%,我认为这意味着这些用户,如果密码正确,可以从任何地方进入Mariadb。
我还在编写文件中包含了以下命令:--default-authentication-plugin=mysql_native_password
为了告诉MariaDB接受一个SHA1密码,这显然是ProjectSend所需要的。我也在以root身份登录数据库时直接通过SSH执行了这个命令。
从红色的复选标记来看,ProjectSend似乎甚至找不到主机,更不用说身份验证了。我已经尝试了主机字段的各种方法,包括localhost,Mariadb容器的IP,MariaDB,以及所有这些与:3306端口连接的方法,只是为了笑。
Synology Container Manager创建了一个名为“projectsend_default”的网络,这两个容器都包含在这个使用172.17.X.X的“网络”中。
用于创建容器的两个映像都是映像注册表中的“最新”映像,并且都可以正常安装(错误代码=0)。
我已经停止并启动了容器。我先启动了MariaDB,等了几分钟,然后启动了ProjectSend。

有人知道为什么ProjectSend在其容器中看不到相邻容器中的MariaDB吗?

非常感谢提前。
合成...(密码更改为x)

  1. version: "2.1"
  2. services:
  3. projectsend:
  4. image: linuxserver/projectsend
  5. container_name: projectsend
  6. environment:
  7. - PUID=998
  8. - PGID=100
  9. - TZ=America/Denver
  10. - MAX_UPLOAD=5000
  11. volumes:
  12. - /volume1/docker/projectsend/config:/config #Config Volume Goes Here
  13. - /volume1/docker/projectsend:/data #File Storage Volume Goes Here
  14. ports:
  15. - 8010:80
  16. restart: unless-stopped
  17. db:
  18. image: mariadb
  19. container_name: mariadb-projectsend
  20. environment:
  21. MYSQL_ROOT_PASSWORD: xxxxxxx
  22. MYSQL_DATABASE: projectsend
  23. MYSQL_USER: user
  24. MYSQL_PASSWORD: xxxxxxx
  25. TZ: America/Denver
  26. volumes:
  27. - /volume1/docker/projectsend/mariadb:/var/lib/mysql #Database Volume Goes Here
  28. ports:
  29. - "3306:3306"
  30. command: --default-authentication-plugin=mysql_native_password
  31. restart: unless-stopped

字符串

pbgvytdp

pbgvytdp1#

通过使用compose.yml示例,将路径配置替换为命名卷,我只需要输入mariadb-projectsend作为主机名。compose文件中的其他节点可以访问容器主机名。


的数据
compose.yml更改:

  1. volumes:
  2. - psconfig:/config #Config Volume Goes Here
  3. - psdata:/data #File Storage Volume Goes Here
  4. ....
  5. volumes:
  6. - dbdata:/var/lib/mysql #Database Volume Goes Here
  7. ...
  8. volumes:
  9. psdata:
  10. driver: local
  11. psconfig:
  12. driver: local
  13. dbdata:
  14. driver: local

字符串

展开查看全部

相关问题