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

mfuanj7w  于 5个月前  发布在  Docker
关注(0)|答案(1)|浏览(77)

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

字符串

pbgvytdp

pbgvytdp1#

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


的数据
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

字符串

相关问题