我正在使用 Synology Container Manager。我只有两个容器。一种使用 ProjectSend,另一种使用 Mariadb。两个容器都已启动并正在运行(根据容器管理器)。
首次从 Firefox 访问 ProjectSend 时,您必须将 ProjectSend 连接到其数据库。有一个“检查”按钮,一旦一切通过,您就可以继续并开始使用 ProjectSend。
问题是我无法连接。
ProjectSend 的“数据库配置”GUI 检查主机、数据库名称、用户名和密码。这些都没有得到证实。我正在努力获得所有绿色支票。
使用 SSH,我从另一台 PC 访问了 Synology,然后是 Container,最后是 MariaDB 本身。我可以使用 SSH 与 Mariadb 交互。由于我有限的知识和大量的网络研究,我对一些事情提出了疑问。看来我的用户帐户(其中两个: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 吗?
提前非常感谢。
COMPOSE...(密码更改为x)
version: "2.1"
services:
projectsend:
image: linuxserver/projectsend
container_name: projectsend
environment:
- PUID=998
- PGID=100
- TZ=America/Denver
- MAX_UPLOAD=5000
volumes:
- /volume1/docker/projectsend/config:/config #Config Volume Goes Here
- /volume1/docker/projectsend:/data #File Storage Volume Goes Here
ports:
- 8010:80
restart: unless-stopped
db:
image: mariadb
container_name: mariadb-projectsend
environment:
MYSQL_ROOT_PASSWORD: xxxxxxx
MYSQL_DATABASE: projectsend
MYSQL_USER: user
MYSQL_PASSWORD: xxxxxxx
TZ: America/Denver
volumes:
- /volume1/docker/projectsend/mariadb:/var/lib/mysql #Database Volume Goes Here
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
restart: unless-stopped
通过使用 compose.yml 示例,用命名卷替换路径配置,我只需要输入
mariadb-projectsend
作为主机名。容器主机名可由撰写文件中的其他节点访问。
compose.yml 更改:
volumes:
- psconfig:/config #Config Volume Goes Here
- psdata:/data #File Storage Volume Goes Here
....
volumes:
- dbdata:/var/lib/mysql #Database Volume Goes Here
...
volumes:
psdata:
driver: local
psconfig:
driver: local
dbdata:
driver: local