Docker Compose
在一台主机上运行一个 Human Plugin 容器,并连接到您的 PostgreSQL 数据库。
前提条件
- Docker Engine 24 或更高版本,以及 Docker Compose v2。
- 一个专供 Human Plugin 使用、且可从该主机访问的 PostgreSQL 数据库。请参阅前提条件与访问权限。
- 由 Unico 提供的镜像仓库凭据和访问密钥。
1. 登录镜像仓库
每台主机只需执行一次。Docker 会将凭据保存在 ~/.docker/config.json 中。
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
2. 编写设置
为 Human Plugin 创建一个目录,并创建仅所有者可读的 .env 文件:
mkdir -p /opt/human-plugin && cd /opt/human-plugin
.env
HUMAN_API_ACCESS_KEY=<your access key>
POSTGRES_ADDRESS_HOST=<database host>
POSTGRES_USER=human_plugin
POSTGRES_PASSWORD=<database password>
chmod 600 .env
仅当您的数据库与配置中的默认值不同时,才添加 POSTGRES_ADDRESS_PORT、POSTGRES_DATABASE 或 POSTGRES_SSL_MODE。切勿提交 .env 文件。
3. 编写 compose.yaml
compose.yaml
services:
human-plugin:
image: pkg.unico.run/human-plugin-api:latest
pull_policy: always
restart: unless-stopped
stop_grace_period: 60s
env_file: .env
ports:
- "127.0.0.1:8080:8080"
ports: 仅在127.0.0.1或私有网络接口上发布,切勿使用0.0.0.0。Human Plugin 自身没有身份验证:请参阅网络与安全。stop_grace_period: 60s: Human Plugin 在停止时最多会等待 55 秒,以处理正在进行的请求。更短的宽限期可能会中断一次创建操作。pull_policy: always: 每次执行up都会检查最新镜像,因此您始终运行最新版本。
4. 启动
docker compose up -d
curl --fail http://127.0.0.1:8080/health/ready
只有在 /health/ready 返回 200 之后,才将流量路由到 Human Plugin。然后针对它运行快速入门中的创建请求。
日志与状态
docker compose ps
docker compose logs -f human-plugin
正常启动会以 human plugin listening 这一行结束。完整的启动日志请参阅健康检查与监控。如果容器陷入循环重启,日志会说明原因:请参阅故障排查。
更新
docker compose pull && docker compose up -d
仅当镜像发生变化时,Compose 才会替换容器。更新后需要检查的内容,请参阅运维。
停止
docker compose down
您的数据保存在您的 PostgreSQL 数据库中,因此停止或删除容器不会丢失任何数据。