我正在使用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)
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
字符串
1条答案
按热度按时间pbgvytdp1#
通过使用compose.yml示例,将路径配置替换为命名卷,我只需要输入
mariadb-projectsend
作为主机名。compose文件中的其他节点可以访问容器主机名。的数据
compose.yml更改:
字符串