
本镜像包含Lychee照片管理系统、nginx和PHP-FPM,其配置(PHP、nginx等)遵循Lychee官方推荐标准。支持amd64、arm64/aarch64、armv6、armv7多种架构,适用于快速搭建个人或家庭照片库,支持多种数据库后端。
latest:最新Lychee发布版v[NUMBER]:Lychee稳定版本标签(如v4.7.0)nightly(别名dev):当前主分支标签(Lychee主分支保持稳定,通常可安全使用)devtools:包含开发依赖的主分支版本testing:用于测试新分支和拉取请求的标签,主要供LycheeOrg内部使用alpha:当前alpha分支标签(包含未经过同行评审的前沿变更)alpha-devtools:包含开发依赖的alpha分支版本若使用内置SQLite支持,无需外部依赖。最简单的启动命令:
bashdocker run -p 80 lycheeorg/lychee:dev
容器将在本地随机端口启动Lychee服务。更多运行选项见下文。
若使用MySQL、MariaDB或PostgreSQL,需提前准备外部数据库服务(可通过Docker容器部署,例如在docker-compose.yml中定义):
docker run或docker-compose中传递环境变量.env文件并挂载至容器/conf/.env路径-e DB_CONNECTION=,首次访问时通过浏览器完成安装向导确保已连接至数据库容器所在网络!
以下示例使用--net连接数据库所在网络,--link关联数据库容器:
bashdocker run -d \ --name=lychee \ -v /宿主机路径/lychee/conf:/conf \ -v /宿主机路径/lychee/uploads:/uploads \ -v /宿主机路径/lychee/sym:/sym \ -e PUID=1000 \ -e PGID=1000 \ -e PHP_TZ=Asia/Shanghai \ -e TIMEZONE=Asia/Shanghai \ -e DB_CONNECTION=mysql \ -e DB_HOST=mariadb \ -e DB_PORT=3306 \ -e DB_DATABASE=lychee \ -e DB_USERNAME=user \ -e DB_PASSWORD=password \ -p 90:80 \ --net network_name \ --link db_name \ lycheeorg/lychee
注意:若使用MySQL数据库,需确保启用mysql_native_password认证插件。可在启动MySQL时添加--default-authentication-plugin=mysql_native_password选项,或执行以下SQL命令:
sqlalter user 'lychee' identified with mysql_native_password by '<你的密码>';
修改https://github.com/LycheeOrg/Lychee-Docker/blob/master/docker-compose.yml%E4%B8%AD%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E4%BB%A5%E5%8C%B9%E9%85%8D%E6%95%B0%E6%8D%AE%E5%BA%93%E5%87%AD%E6%8D%AE%E3%80%82
为避免明文存储凭据,可创建db_secrets.env文件,并通过env_file指令引用(详见Docker Compose文档)。
若设置ADMIN_USER和ADMIN_PASSWORD(或ADMIN_PASSWORD_FILE)环境变量,首次运行时将自动创建管理员账户。未设置时,首次加载Lychee会在浏览器中提示创建管理员。
除通过环境变量传递敏感信息外,可在部分环境变量后添加_FILE后缀,使初始化脚本从容器内文件加载值(适用于Docker Secrets,文件路径通常为/run/secrets/<secret_name>)。若同时设置原变量和_FILE变量(如DB_PASSWORD和DB_PASSWORD_FILE),将优先使用原变量。
支持的_FILE变量:
DB_PASSWORD_FILEREDIS_PASSWORD_FILEMAIL_PASSWORD_FILEADMIN_PASSWORD_FILE若未提供环境变量或.env文件,将使用https://github.com/LycheeOrg/Lychee/blob/master/.env.example%EF%BC%8C%E5%85%B6%E4%B8%AD%E9%83%A8%E5%88%86Docker%E7%89%B9%E5%AE%9A%E5%8F%98%E9%87%8F%E9%BB%98%E8%AE%A4%E5%80%BC%E5%A6%82%E4%B8%8B%EF%BC%9A
| 变量名 | 默认值 | 说明 |
|---|---|---|
PUID | 1000 | 运行容器的用户ID |
PGID | 1000 | 运行容器的用户组ID |
USER | lychee | 容器内运行用户名称 |
PHP_TZ | UTC | PHP时区 |
STARTUP_DELAY | 0 | 启动延迟时间(秒) |
默认配置中,nginx支持最大100MB文件上传(client_max_body_size 100M),PHP参数已按https://lycheeorg.github.io/docs/faq.html#i-cant-upload-large-photos%E4%BC%98%E5%8C%96%E3%80%82%E5%A6%82%E9%9C%80%E8%BF%9B%E4%B8%80%E6%AD%A5%E8%87%AA%E5%AE%9A%E4%B9%89%EF%BC%9A
方法1:挂载自定义php.ini
将自定义php.ini挂载至/etc/php/8.2/fpm/php.ini,但此方式会覆盖所有PHP参数,且PHP版本更新时需重新适配。
方法2:通过nginx配置自定义PHP参数(推荐)
fastcgi_param PHP_VALUE [...]开头的行upload_max_filesize = 200M)client_max_body_size)/etc/nginx/nginx.conf如需添加(非修改)nginx指令,可将文件挂载至/etc/nginx/conf.d/,这些文件会在http上下文中被自动包含。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务