如何将 Docker 镜像发布到 GitHub 的容器注册表
在暑期实习期间,我学习了如何使用 GitHub Actions 将 Docker 镜像发布到 GitHub 的容器镜像仓库。我觉得分享一下应该不错,所以写了一篇博文。
步骤 1:创建新的存储库
在本教程中,我将我的仓库命名为“publish-to-gcr”。命名完成后,我们需要确保仓库是公开的。
第 2 步:创建文件
你可以用任意文件创建任何程序,但为了方便我的示例,我将创建一个app.js
文件。在文件内部app.js
,我将使用 console.log 命令记录“Hello, world!”
步骤 3:创建 Docker 文件
在项目的根目录下,我创建了一个包含以下内容的 Docker 文件。
FROM node:alpine
COPY . /app
WORKDIR /app
CMD node app.js
步骤 4:创建操作
我在项目的根目录下创建了一个.github/workflows
文件夹。在其中创建了一个名为 的文件publish.yml
。在 文件中publish.yml
,我编写了以下代码(请注意,您需要替换一些值,例如用户名):
name: publish
on: [push]
jobs:
publish-hello-docker-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build the hello-docker Docker image
run: |
docker build . --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest
docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest
docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest
步骤 5:推送并提交更改以触发操作
前往代码库中的“操作”图标。您应该会看到我们使用文本编辑器创建的操作。如果一切操作正确,该操作应该已经运行,我们可以检查该操作执行的所有步骤,以确保它已正确发布。
第 6 步:检查已在 GitHub 容器注册表上发布的包!
在你的仓库中,向下滚动,你会看到一个部分,突出显示了与你的仓库关联的软件包。它应该就是你刚刚创建的那个!
如果你更喜欢视频教程而不是博客教程,我制作了一个视频教程供你参考。快来看看吧!