简介
本文介绍如何使用 GitHub Container Registry (GHCR.io)。这是一个适合个人开发者和小型项目的官方容器镜像托管服务。
1. 创建个人访问令牌
在 GitHub 账号设置中生成专用令牌。
- 进入 Settings > Developer settings > Personal access tokens。
- 选择生成新令牌。
- 勾选
write:packages和read:packages权限。 - 复制保存生成的令牌(离开页面后无法再次查看)。
2. 登录 GHCR.io
使用 Docker 命令登录。
docker login ghcr.io
输入用户名(GitHub 用户名)和密码(刚才生成的令牌)。成功提示为 Login Succeeded。
3. 构建 Python 应用镜像
创建一个简单的 Python Flask 应用示例。
Dockerfile 内容:
FROM python:3.9-slim
WORKDIR /app
COPY . .
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]
构建命令:
docker build -t ghcr.io/你的用户名/镜像名:标签 .
注意命名格式必须符合 ghcr.io/用户名/镜像名:标签。
4. 标记镜像
如需添加额外标签,使用 docker tag。
docker tag ghcr.io/你的用户名/镜像名:版本 ghcr.io/你的用户名/镜像名:latest
5. 推送到 GHCR.io
docker push ghcr.io/你的用户名/镜像名:标签
推送成功后,可在 GitHub 仓库页面的 Packages 选项卡查看。
6. 拉取并运行
docker pull ghcr.io/你的用户名/镜像名:标签
docker run -p 5000:5000 ghcr.io/你的用户名/镜像名:标签
访问 localhost:5000 验证应用。
优势总结
GHCR.io 与 GitHub 账号无缝集成,私有仓库免费,界面简洁,适合个人及小团队使用。

