ave*_*mia 4 docker asp.net-core github-actions
我正在向我的 asp.net core 应用程序添加一个 dockerfile,它位于一个子目录中。我正在尝试创建一个 github 操作来运行 dockerfile,但该操作很难找到它。我的文件夹结构是:
api/
|--Data/
|--Service/
|--|--Dockerfile
|--Tests/
|--MyProject.sln
frontend/
Run Code Online (Sandbox Code Playgroud)
我的action.yml是:
name: Docker Image CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: docker build ./api/Service/ --file Dockerfile --tag my-image-name:$(date +%s)
Run Code Online (Sandbox Code Playgroud)
当操作运行时,我在 docker 构建上收到以下错误。
Run docker build ./api/Service/ --file Dockerfile --tag my-image-name:$(date +%s)
docker build ./api/Service/ --file Dockerfile --tag my-image-name:$(date +%s)
shell: /bin/bash -e {0}
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/runner/work/MyProject-actions/MyProject-actions/Dockerfile: no such file or directory
##[error]Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
这一行有一个问题:
run: docker build ./api/Service/ --file Dockerfile --tag my-image-name:$(date +%s)
Run Code Online (Sandbox Code Playgroud)
标志的使用--file是错误的。正确的方法是:
run: docker build --file ./api/Service/Dockerfile --tag my-image-name:$(date +%s)
Run Code Online (Sandbox Code Playgroud)
小智 5
指定文件的另一种方法是以这种方式执行步骤部分。我从 GitHub 操作工作流程中复制粘贴。
steps:
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and push register app
uses: docker/build-push-action@v3
with:
push: true
file: ./register/Dockerfile
tags: ${{ secrets.DOCKERHUB_USERNAME }}/register:latest
Run Code Online (Sandbox Code Playgroud)
您可以检查此链接https://github.com/docker/build-push-action以获取在构建和推送 docker 映像时可以包含的更多选项。
| 归档时间: |
|
| 查看次数: |
4846 次 |
| 最近记录: |