docker 操作的新位置

Noi*_*art 3 docker github-actions

我在 docker 上使用这个:

- name: Build container image
  uses: actions/docker/cli@master
  with:
    ///// removed

- name: Docker Login
  uses: actions/docker/login@master
  env:
    ///// removed
Run Code Online (Sandbox Code Playgroud)

然而 github.com/actions/docker 似乎不再存在。

我的构建给出了 404:

无法下载操作“ https://api.github.com/repos/actions/docker/tarball/master ”。错误响应状态代码不表示成功:404(未找到)。

有谁知道新地点吗?

pet*_*ans 8

actions/docker操作现已被弃用。在完全删除之前,存储库已使用以下消息存档。

不推荐使用此操作,而是使用新 YAML 语言中的运行脚本步骤来运行 docker cli。

所以推荐使用 Docker 的方式是使用runscript 命令。官方的入门工作流展示了一个构建镜像的简单示例。 https://github.com/actions/starter-workflows/blob/master/ci/docker-image.yml

有关 Docker 映像发布的更完整示例,请参阅以下工作流程。

对于公共 DockerHub 注册表:

name: my workflow
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Login to DockerHub Registry
        run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
      - name: Build the Docker image
        run: docker build -t myimage:latest .
      - name: Tag the Docker image
        run: docker tag myimage:latest myimage:1.0
      - name: Push the Docker image to the registry
        run: docker push myimage:1.0
Run Code Online (Sandbox Code Playgroud)

对于私有注册表,例如新的 GitHub 包注册表,您还需要在登录时指定主机名并适当标记图像:

name: my workflow
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Login to GitHub Package Registry
        run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u ${{ github.repository }} --password-stdin
      - name: Build the Docker image
        run: docker build -t myimage:latest .
      - name: Tag the Docker image
        run: docker tag myimage:latest docker.pkg.github.com/username/repository/myimage:1.0
      - name: Push the Docker image to the registry
        run: docker push docker.pkg.github.com/username/repository/myimage:1.0
Run Code Online (Sandbox Code Playgroud)

  • 登录 GitHub 包注册表: `echo ${{ Secrets.GITHUB_TOKEN }} | docker 登录 docker.pkg.github.com -u ${{ github.repository }} --password-stdin` (2认同)