连接外部数据库
连接外部PostgreSQL数据库的方法
如果您在使用过程中,遇到容器内的PostgreSQL数据库无法正常运行;
那么可以单独安装PostgreSQL,然后通过添加环境变量来连接外部数据库;
PostgreSQL版本建议选择14.x版本;这样可以避免数据库版本不一致而导致的问题;
一、安装PostgreSQL数据库
Unriad可在APPS中搜索
postgresql14
安装;
提示:仅支持PostgreSQL数据库,不支持其他的数据库
1.1. 下载镜像;
docker pull postgres:14.6
1.2. 创建用于存放数据库数据的目录;
由于docker容器在更新、重新创建后,内部的文件都会被重置;
所以需要映射宿主机的目录来用于持久化存储;
1.3. 新建并启动容器;
docker run -d \
--name postgres14 \
-e POSTGRES_PASSWORD=myDbPassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v /custom/mount:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:14.6
说明:
/custom/mount
为上一步创建的目录(即宿主机中的目录)- myDbPassword 为数据库密码,请记得修改
二、创建容器时增加环境变量
创建容器时,添加以下环境变量:
PostgreSQL相关的环境变量:
POSTGRES_HOST=192.168.1.108
POSTGRES_PORT=5432
POSTGRES_DATABASE=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=myDbPassword
192.168.1.108、myDbPassword 仅为举例,请记得替换
新建并启动容器:
docker run -d \
--name="mt-photos" \
-v /appdata/mt_photos/config:/config \
-v /appdata/mt_photos/upload:/upload \
-v /photos/folder1:/folder1 \
-v /photos/folder2:/folder2 \
-p 8063:8063 \
-e TZ="Asia/Shanghai" \
-e POSTGRES_HOST="192.168.1.108" \
-e POSTGRES_PORT="5432" \
-e POSTGRES_DATABASE="postgres" \
-e POSTGRES_USER="postgres" \
-e POSTGRES_PASSWORD="myDbPassword" \
--restart="unless-stopped" \
mtphotos/mt-photos:latest