Docker 镜像
从注册表部署任何预构建镜像 —— 无构建步骤。
最简单的部署 —— 按名称选择 Docker 镜像、设置端口和任何 env vars 并发布。Pier 拉取镜像、运行容器、将其附加到 Traefik 以获得 HTTPS,并提供日志/重启/env 控制。无构建,无 Dockerfile,无 Compose。
使用 Pier 部署
- 1 打开 Pier 控制台,点击 Add service。
- 2 从模板列表中选择 Docker Image。
- 3 选择版本、设置服务名称,Pier 会自动配置容器、存储和端口。
- 4 如需 HTTPS,请绑定域名。Traefik 会自动签发 Let's Encrypt 证书。
什么是 Pier 上的 Docker 镜像?
最简化的部署模板 —— 粘贴 Docker 镜像引用,设置端口 / env vars / 卷 / 域名,
Pier 运行它。无 Dockerfile,无 Compose YAML,无构建步骤。每当有人说”docker
pull 这个镜像并运行它”时有用,你希望结果是一个托管的 Pier 服务,而不是
主机上手工的 docker run。
Pier 将容器连接到其 Traefik 前置网络以获得 HTTPS,管理你声明的卷,公开 env-var 和命令覆盖,并提供与原生模板相同的日志 / 重启 / redeploy 控件。
Pier 如何部署它
你给 Pier 镜像名称(例如 nginx:latest 或 ghcr.io/your-org/your-app:v1.2.3)、
镜像监听的内部端口、可选卷和 env vars 以及域名。
Pier 拉取镜像、用配置的卷和 env 启动容器、在所选域名附加 Traefik 路由用于 HTTPS 终止,并跨主机重启持久化容器。
对于私有注册表,在 Pier Settings → Registries 中添加凭证 —— Pier 在拉取时 使用它们。
更新 —— 单击 Redeploy 强制新鲜拉取配置标签。要升级到新版本,编辑镜像引用 并 redeploy。
何时不要使用 Docker 镜像
当你有源代码但没有预构建镜像时,使用 Dockerfile 或 Railpack 模板 —— 它们 为你构建。当服务是多容器时,使用 Docker Compose。当服务存在原生 Pier 模板时(PostgreSQL、Gitea、Grafana 等),专用模板带托管备份、版本选择器 和通用模板没有的生命周期功能。
核心功能
来自任何注册表的任何镜像
Docker Hub、GitHub Container Registry (ghcr.io)、Quay、GitLab Registry、AWS ECR、Google Artifact Registry —— 任何可拉取的东西都工作。
一个字段 —— 镜像名称
nginx:latest、postgres:17-alpine、ghcr.io/your-org/your-app:v1.2.3 —— 粘贴镜像引用,就是这样。
Env vars、端口、卷
用于添加 env vars、映射端口、附加持久卷的 Pier UI。与原生模板相同的控制。
私有注册表身份验证
在 Pier 中添加注册表凭证;后续拉取进行身份验证。支持每注册表凭证。
通过 Traefik 的 HTTPS
附加自定义域名,Traefik 处理 TLS 终止。无需配置反向代理。
日志 + 重启 + redeploy
从 UI 实时跟踪日志、重启、强制相同标签的新鲜拉取和部署(或固定摘要)。
应用场景
现成服务
nginx、postgres、redis、任何社区维护的镜像 —— 无需编写配置即可部署。
你自己的预构建镜像
CI 构建镜像并推送到 ghcr.io / 你的注册表。Pier 拉取并运行。
尝试社区项目
GitHub 项目说"docker pull foo/bar"。你将 foo/bar:latest 粘贴到 Pier 中就运行了。
轻量级 sidecar
单个小镜像 —— 备份运行器、日志运输器、指标导出器、隧道 —— 与你的其他服务一起部署。
快速原型
启动镜像、测试、销毁。镜像名称下拉是运行容器的最快路径。
代码示例
Image: nginx:latest
Internal port: 80
Domain: site.example.com (在 Pier 中附加)
→ Pier 拉取、运行、用 HTTPS 前置 Image: ghcr.io/your-org/my-api:v2.3.0
Internal port: 8080
Env vars:
DATABASE_URL = postgres://...
API_KEY = sk-...
Volume: /app/uploads → pier 管理 Pier Settings → Registries → 添加
Registry: ghcr.io
Username: your-org-bot
Password: <带 read:packages 范围的 PAT>
后续拉取自动进行身份验证 Image: nginx@sha256:abcdef0123...
→ Pier 永远拉取此确切摘要 —— 无 "latest" 惊喜 对比
| vs Dockerfile(本目录) | Dockerfile 从你的源代码构建镜像。Docker 镜像运行你已有的预构建镜像。当 CI 为你构建时使用镜像;想要 Pier 构建时使用 Dockerfile。 |
| vs Railpack(本目录) | Railpack 自动检测你的语言并在没有 Dockerfile 的情况下构建。Docker 镜像运行你已在其他地方构建的镜像。构建/部署链中的不同点。 |
| vs Docker Compose(本目录) | Compose 一起运行多个容器。Docker 镜像运行一个。使用镜像用于单服务应用;Compose 用于多服务。 |
| vs 原生 Pier 模板 | 原生模板(PostgreSQL、Gitea、Grafana 等)预连线带备份、版本选择器、扩展功能。Docker 镜像是任何未原生模板化的通用逃生舱口。 |
常见问题
如果镜像需要特殊 args / 命令?
卷如何工作?
我可以固定特定标签或摘要吗?
资源限制?
Traefik 路由如何工作?
私有镜像?
如何更新?
相关服务
在你的 VPS 上部署
最简单的部署 —— 按名称选择 Docker 镜像、设置端口和任何 env vars 并发布。Pier 拉取镜像、运行容器、将其附加到 Traefik 以获得 HTTPS,并提供日志/重启/env 控制。无构建,无 Dockerfile,无 Compose。
部署此服务 →