簡體   English   中英

使用 spring-boot:build-image 時如何發布 docker 圖像

[英]How to publish a docker image when you use spring-boot:build-image

我正在使用 Github 操作來自動推送借助 maven 插件從 Spring 引導生成的 docker 圖像的過程 (mvn spring-boot:build-image),但我收到 maven 錯誤:

由以下原因引起:org.apache.maven.plugin.PluginExecutionException:執行目標 org.springframework.boot:spring-boot-maven-plugin:3.0.0:build-image 失敗的默認 cli:推送圖像時收到錯誤響應:拒絕:已請求訪問資源被拒絕

使用以下配置:

  - name: Build image & push
    run: |
      cd myFolder
      mvn -X spring-boot:build-image \
        --batch-mode --no-transfer-progress \
        -Dspring-boot.build-image.publish=true \
        -Dspring-boot.build-image.imageName="MY_USER/demo-ms:0.1.0" \
        -DCI_REGISTRY=https://index.docker.io/v1 \
        -DCI_REGISTRY_USER=${{ secrets.DOCKERHUB_USERNAME }} \
        -DCI_REGISTRY_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}

https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#build-image.examples.docker.auth

我缺少什么?

提前謝謝了

胡安·安東尼奧

在 github 動作中,可以運行腳本,所以我找到了一個替代方案:

在 github 操作級別:

  - name: Build image & push
    run: |
      cd myFolder
      ./build-spring-boot.sh ${{ secrets.DOCKERHUB_USERNAME }} ${{ secrets.DOCKERHUB_PASSWORD }}

在腳本級別:

docker login "https://index.docker.io/v1/" -u="$1" -p="$2"

mvn spring-boot:build-image \
    --batch-mode --no-transfer-progress

IMAGE_NAME=$(mvn help:evaluate -Dexpression=docker.image.name -q -DforceStdout)
echo $IMAGE_NAME

docker push $IMAGE_NAME

這樣,您就可以發布您的圖像了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM