Skip to main content
[ PIER ]

Docker 镜像

从注册表部署任何预构建镜像 —— 无构建步骤。

Application #docker#container

最简单的部署 —— 按名称选择 Docker 镜像、设置端口和任何 env vars 并发布。Pier 拉取镜像、运行容器、将其附加到 Traefik 以获得 HTTPS,并提供日志/重启/env 控制。无构建,无 Dockerfile,无 Compose。

使用 Pier 部署

  1. 1 打开 Pier 控制台,点击 Add service。
  2. 2 从模板列表中选择 Docker Image。
  3. 3 选择版本、设置服务名称,Pier 会自动配置容器、存储和端口。
  4. 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:latestghcr.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

单个小镜像 —— 备份运行器、日志运输器、指标导出器、隧道 —— 与你的其他服务一起部署。

快速原型

启动镜像、测试、销毁。镜像名称下拉是运行容器的最快路径。

代码示例

普通 nginx text
Image: nginx:latest
Internal port: 80
Domain: site.example.com   (在 Pier 中附加)
→ Pier 拉取、运行、用 HTTPS 前置
你的 CI 构建镜像 text
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 管理
私有注册表凭证 text
Pier Settings → Registries → 添加
  Registry: ghcr.io
  Username: your-org-bot
  Password: <带 read:packages 范围的 PAT>
后续拉取自动进行身份验证
固定摘要(不可变部署) text
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 / 命令?
Pier 公开"命令"覆盖字段。替换镜像的默认 CMD/ENTRYPOINT。
卷如何工作?
在 UI 中选择挂载点。Pier 创建出现在卷页面上的管理卷。
我可以固定特定标签或摘要吗?
是 —— 使用 foo/bar:1.2.3 或 foo/bar@sha256:... 固定摘要是最可重现的选项。
资源限制?
Pier UI 有每容器的 CPU 和内存限制字段。
Traefik 路由如何工作?
Pier 根据你附加的域名自动创建 Traefik 路由。你不添加 Compose 风格的标签 —— Pier 为你做。
私有镜像?
在 Pier 设置中添加注册表凭证。也支持每镜像身份验证。
如何更新?
单击"Redeploy" —— Pier 拉取配置标签的最新并滚动容器。要部署不同标签,编辑镜像字段。

相关服务

在你的 VPS 上部署

最简单的部署 —— 按名称选择 Docker 镜像、设置端口和任何 env vars 并发布。Pier 拉取镜像、运行容器、将其附加到 Traefik 以获得 HTTPS,并提供日志/重启/env 控制。无构建,无 Dockerfile,无 Compose。

部署此服务 →