docker - 我无法使用 Github 操作在 Github 内部 docker 注册表中发布图像
问题描述
我创建了以下存储库:https ://github.com/d3vpasha/docker
我有一个用于创建节点应用程序的 Dockerfile:
FROM node:12 as node
RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
RUN apt-get update && \
apt-get install -y zip
RUN npm i -g npm@latest
我还创建了以下 GitHub 工作流程来从 dockerfile 构建图像并将其推送到 GitHub 注册表:
name: webapp
on:
push:
branches: ['main']
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build:
name: "build webapp"
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout the repo
uses: actions/checkout@v2
- name: Login to Github container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v1
with:
push: true
一旦我推送到主分支,GitHub 工作流程就会启动并成功完成,但回购的包菜单中没有任何内容,我自己组织的包菜单中也没有。这些是“构建和推送 Docker 映像”步骤的最后几行:
Successfully built 98edd82e75d5
Pushing image []
我按照官方教程进行了所有操作,但仍然无法正常工作。
有人知道吗?
解决方案
你错过了tags
,正确的是:
- name: Build and push Docker image
uses: docker/build-push-action@v1
with:
push: true
tags: $your_dockerhub_account/$your_dockerhub_repository
顺便说一句,docker/build-push-action
现在在 v2 中,您可以考虑使用它。如果您使用 v2,如果您不指定,它将清楚地告诉您下一个错误tags
:
错误:推送到注册表时需要标记
错误:buildx 失败:错误:推送到注册表时需要标记
推荐阅读
- sql - 按特定顺序对包含字母和数字的值列表进行排序
- java - 使用 PrintWriter 时已为此响应调用 getOutputStream()
- python - 使用 pandas 中的数据框,我如何附加一个只有某些列相同的数据框?
- python - 如果 A 列中的单元格为空,则修改 B 列中的单元格
- php - 如果值匹配则更新行 else 插入新行
- c# - How to compare a two Cursor objects?
- react-native-android - 在 React-Native Android 应用程序中使用 3rd Party AAR
- reactjs - cypress input field wont get cleared
- python - Insert list in sqlite table with django
- rest - JWT Token generation in Grails with Preauthentication