发现个问题,重启后容器的地址会bu不停地随机变化,导致 nextcloud 与 mariadb 数据库失联。需要指定 ip 地址创建容器。
举例如下
1、查看docker网络
docker network ls
2、首先建立网络,并指定网段
docker network create --driver bridge --subnet 172.19.0.0/24 --gateway 172.19.0.1 docker_net
3、验证网络配置
docker network inspect docker_net
建立 mariadb 容器,指定 ip 地址
sudo -i
mkdir /volume2/docker/
mkdir /volume2/docker/mariadb
docker run --name mariadb --restart=always --network docker_net --ip 172.19.0.201 -p 3306:3306 -v /volume2/docker/mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=12345678! -d mariadb:latest
docker run --name myadmin --restart=always -d --link mariadb:db --network docker_net --ip 172.19.0.202 -p 8050:80 phpmyadmin
cp -f /volume2/docker/phpmyadmin---config.inc.php.org.mj /volume2/docker/phpmyadmin/config.inc.php
docker inspect mariadb | grep IPAddress
172.19.0.201
172.19.0.201 :3306填入 nextcloud
这一点非常非常关键
其实重启后容器的地址会不停地随机变化,导致 nextcloud 与 mariadb 数据库失联。需要指定 ip 地址创建容器。
举例如下
1、查看docker网络
docker network ls
2、首先建立网络,并指定网段
docker network create --driver bridge --subnet 172.19.0.0/24 --gateway 172.19.0.1 docker_net
3、验证网络配置
docker network inspect docker_net
建立 mariadb 容器,指定 ip 地址
sudo -i
mkdir /volume2/docker/
mkdir /volume2/docker/mariadb
docker run --name mariadb --restart=always --network docker_net --ip 172.19.0.201 -p 3306:3306 -v /volume2/docker/mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=12345678 -d mariadb:latest
docker run --name myadmin --restart=always -d --link mariadb:db --network docker_net --ip 172.19.0.202 -p 8050:80 phpmyadmin
cp -f /volume2/docker/phpmyadmin---config.inc.php.org.mj /volume2/docker/phpmyadmin/config.inc.php
docker inspect mariadb | grep IPAddress
172.19.0.201
172.19.0.201 :3306填入 nextcloud
获取mariadb的ip地址
输入docker network inspect bridge找到mariadb的地址
例如:按照下面结果,应该填写 172.17.0.3:3307
"Name": "mariadb",
"EndpointID": "a36b6023d44b75dfbc65316e273c1ac726380cf46cbd138d55e8c6180bd0a0f1",
"MacAddress": "02:42:ac:11:00:13",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
关注数量超出限制,
请先删除部分内容再尝试