我无法使用 Github 操作在 Github 内部 docker 注册表中发布图像
Posted
技术标签:
【中文标题】我无法使用 Github 操作在 Github 内部 docker 注册表中发布图像【英文标题】:I cannot publish images in Github internal docker registry with Github actions 【发布时间】:2021-11-22 11:57:54 【问题描述】:我创建了以下存储库: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 []
我按照官方教程按照要求做了所有事情,但仍然无法正常工作。
有人知道吗?
【问题讨论】:
【参考方案1】:你错过了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 失败:错误:推送到注册表时需要标记
【讨论】:
谢谢@atline,确实是这样。添加以下行使其工作:标签:$ env.REGISTRY /$ github.actor /$ github.repository :latest以上是关于我无法使用 Github 操作在 Github 内部 docker 注册表中发布图像的主要内容,如果未能解决你的问题,请参考以下文章
无法在 GitHub 操作中将 Node.js 与 Docker MySQL 数据库连接
无法使用 github 操作将 React Web 应用程序部署到 Firebase 项目