akr*_*rea 4 mysql mariadb docker docker-compose
我一直在尝试使用 Linux 服务器映像设置Nextcloud和MariaDB,但当我想要完成 Nextcloud 的首次运行向导时遇到了障碍:

即向导给我的第一次Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory。
这是从哪里来的以及如何解决这个问题?
我正在使用Amahi 11并已从存储库安装了 docker。码头工人版本:
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:48:52 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:19:08 2018
OS/Arch: linux/amd64
Experimental: false
Run Code Online (Sandbox Code Playgroud)
我正在使用 docker-compose 启动 nextcloud 和 mariadb。以下是 mariadb 的内容:
version: '2'
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=XX
- PGID=YYY
- MYSQL_ROOT_USER=root
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=nextcloud
volumes:
- <path/to/my/folder>:/config
ports:
- 3307:3306
restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)
大量的研究,结果都是空的,或者引导我做下一点:
因此,从错误信息开始,我开始检查数据库是否确实存在:sudo docker exec -it mariadb bash。我发现,由于未设置密码,root 的“mysql”命令行访问被拒绝。(嗯...我的 docker-compose-file 有问题吗?)无论如何,我用mysql -u root -pSECRET和纠正了这个问题mysql -u root --password=SECRET。我发现show databases;没有nextcloud数据库。(我的 docker-compose-file 一定有问题。)所以我也创建了它(create database nextcloud;)。数据库现在已正确显示,我在<path/to/my/folder>. 结果:没有变化,问题仍然存在。
我对我的 docker-compose-file 做了一些更多的编辑:
version: '2'
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=nextcloud
- PUID=XX
- PGID=YYY
volumes:
- <path/to/my/folder>:/config
ports:
- 3307:3306
restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)
所以我改变了层次结构并消除了这条MYSQL_ROOT_USER=root线。重新启动时我可以mysql -u root --password=SECRET显示nextcloud数据库。然而,我不确定这些更改是否仍保留在我上次(手动)更改的卷中。结果:问题仍然存在。
| 归档时间: |
|
| 查看次数: |
21925 次 |
| 最近记录: |