指定用户运行容器
指定运行容器的用户
如果您需要以非root用户运行容器,则可以使用mtphotos/mt-photos:nodb-latest
镜像;
因postgreSQL、Redis运行需要额外的权限,所以该镜像未集成数据库部分,需要单独安装PostgreSQL和Redis,然后通过添加环境变量来连接外部数据库;
PostgreSQL版本建议选择14.2以上,Redis版本建议5.0以上;这样可以避免数据库版本不一致而导致的问题;
添加环境变量
创建容器时,添加以下环境变量:
PostgreSQL相关的环境变量:
POSTGRES_HOST=192.168.1.108
POSTGRES_PORT=5432
POSTGRES_DATABASE=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=xxx
Redis相关的环境变量:
REDIS_HOST=192.168.1.108
REDIS_PORT=6379
REDIS_PASSWORD=xxx
如果redis没有密码,REDIS_PASSWORD可以不加
命令如下:
docker run -d -u 1000:100 \
--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="数据库用户密码" \
-e REDIS_HOST="192.168.1.108" \
-e REDIS_PORT="6379" \
--restart="unless-stopped" \
mtphotos/mt-photos:nodb-latest
提示:在指定了用户id
-u 1000:100
的情况下,环境变量中不要添加PUID、PGID