首页 > 解决方案 > 如何在我的 github 操作中指定 dockerfile 位置?

问题描述

我正在向我的 asp.net 核心应用程序添加一个 dockerfile,它位于一个子目录中。我正在尝试创建一个 github 操作来运行 dockerfile,但该操作很难找到它。我的文件夹结构是:

api/
|--Data/
|--Service/
|--|--Dockerfile
|--Tests/
|--MyProject.sln
frontend/

我的 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)

当操作运行时,我在 docker build 上收到以下错误。

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.

任何帮助,将不胜感激!

标签: dockerasp.net-coregithub-actions

解决方案


这一行有一个问题:

run: docker build ./api/Service/ --file Dockerfile --tag my-image-name:$(date +%s)

--file标志的使用是错误的。正确的方法是:

run: docker build --file ./api/Service/Dockerfile --tag my-image-name:$(date +%s)

推荐阅读