使用 mariaDB 错误消息通过 Docker 部署 mariaDB 和 nextcloud
Deploy mariaDB and nextcloud via Docker with a mariaDB error message
我有一个关于 nextcoud、mariaDB 和 Docker 的问题。
初始情况:
我有一台 Synology NAS,想通过 Docker.
安装 mariaDB 和 nextcloud
我在这里找到了教程:https://mariushosting.com/synology-how-to-install-nextcloud-using-docker/
在教程中我也使用了 portainer。
这是我的配置文件格式:
version: '2.9'
services:
mariadb:
container_name: mariadb
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_PASSWORD=mysqlpassword
- MYSQL_DATABASE=nextcloudatabasename
- MYSQL_USER=nextclouduser
nextcloud:
container_name: nextcloud
ports:
- 40010:80
links:
- mariadb
environment:
- PUID=1024
- PGID=100
- TZ=Europe/Berlin
volumes:
- /volume1/docker/nextcloudStable/html:/var/www/html
- /volume1/docker/nextcloudStable/custom_apps:/var/www/html/custom_apps
- /volume1/docker/nextcloudStable/config:/var/www/html/config
- /volume1/docker/nextcloudStable/data:/var/www/html/data
- /volume1/docker/nextcloudStable/themes:/var/www/html/themes/
image: nextcloud
restart: always
volumes:
mariadb: # nextcloud
部署后在NAS的IP下也得到了nextcloud的安装页面:http://192.168.1.10:40010/
我输入 mariadb 作为主机并收到以下错误消息:
Error while trying to create admin user:
Failed to connect to the database: An exception occurred in driver:
SQLSTATE[HY000] [1045] Access denied for user 'nextclouduser'@'172.17.0.7' (using password: YES)
有人可以向我解释为什么会出现错误以及我该如何解决它。
非常感谢
首先我用 Portainer 设置了我的容器。这里我登录了mariaDB容器,手动设置了PW
mysql -u root -p
SET PASSWORD FOR 'nextclouduser'@'%' = PASSWORD('X123');
我还尝试使用 docker-compose.yml 文件和 docker-compose up -d
命令进行部署。无需手动设置 PW。
下面对我有用,只需在 portainer 中将其作为堆栈即可
version : '3.8'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_PASSWORD=passt
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
cloud:
image: nextcloud
restart: always
ports:
- 8888:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=pass
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
我有一个关于 nextcoud、mariaDB 和 Docker 的问题。
初始情况: 我有一台 Synology NAS,想通过 Docker.
安装 mariaDB 和 nextcloud我在这里找到了教程:https://mariushosting.com/synology-how-to-install-nextcloud-using-docker/
在教程中我也使用了 portainer。
这是我的配置文件格式:
version: '2.9'
services:
mariadb:
container_name: mariadb
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_PASSWORD=mysqlpassword
- MYSQL_DATABASE=nextcloudatabasename
- MYSQL_USER=nextclouduser
nextcloud:
container_name: nextcloud
ports:
- 40010:80
links:
- mariadb
environment:
- PUID=1024
- PGID=100
- TZ=Europe/Berlin
volumes:
- /volume1/docker/nextcloudStable/html:/var/www/html
- /volume1/docker/nextcloudStable/custom_apps:/var/www/html/custom_apps
- /volume1/docker/nextcloudStable/config:/var/www/html/config
- /volume1/docker/nextcloudStable/data:/var/www/html/data
- /volume1/docker/nextcloudStable/themes:/var/www/html/themes/
image: nextcloud
restart: always
volumes:
mariadb: # nextcloud
部署后在NAS的IP下也得到了nextcloud的安装页面:http://192.168.1.10:40010/
我输入 mariadb 作为主机并收到以下错误消息:
Error while trying to create admin user:
Failed to connect to the database: An exception occurred in driver:
SQLSTATE[HY000] [1045] Access denied for user 'nextclouduser'@'172.17.0.7' (using password: YES)
有人可以向我解释为什么会出现错误以及我该如何解决它。
非常感谢
首先我用 Portainer 设置了我的容器。这里我登录了mariaDB容器,手动设置了PW
mysql -u root -p
SET PASSWORD FOR 'nextclouduser'@'%' = PASSWORD('X123');
我还尝试使用 docker-compose.yml 文件和 docker-compose up -d
命令进行部署。无需手动设置 PW。
下面对我有用,只需在 portainer 中将其作为堆栈即可
version : '3.8'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_PASSWORD=passt
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
cloud:
image: nextcloud
restart: always
ports:
- 8888:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=pass
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db