有没有办法使用 github 动作插件 docker/build-push-action@v1 为 docker 构建设置路径
Is there a way to set path for docker build with the github action plugin docker/build-push-action@v1
我有一个 docker 构建操作如下
- name: build-push
uses: docker/build-push-action@v1
with:
username: ${{ DOCKER_USERNAME }}
password: ${{ DOCKER_PASSWORD }}
repository: <repo>
tags: tag
push: true
dockerfile: ./<path-to-dockerfile>/Dockerfile
docker 文件包含将几个文件添加到 docker 图像的说明,如下所示
ADD file1 .
ADD file2 .
ADD file3 .
github的结构是:
-.github
-folder1------------
|
folder2-------------
|
-----------------------docker--------
| | | |
file1 file2 file3 Dockerfile
问题是 GitHub 操作无法找到 file1、file2 和 file3 因为它在 folder1 的级别中查找。产生的错误是
ADD failed: file not found in build context or excluded by .dockerignore: file1: file does not exist
我不想将 docker 文件中的路径修改为 ADD ./folder1/folder2/file1 .
。
那么如何使用 docker/build-push-action@v1 从 GitHub 操作部分添加路径或更改目录?
不要使用 docker/build-push-action@v1,而是使用 docker/build-push-action@v2,因为 v1 是旧版本。
修改GitHub动作如下
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }
password: ${{ secrets.DOCKER_PASSWORD }}
- name: build-push
uses: docker/build-push-action@v2
with:
context: ./folder1/folder2/docker/
tags: tag
push: true
dockerfile: ./<path-to-dockerfile>/Dockerfile
使用 context 和 github 操作将解决这个问题。 上下文 仅适用于 v2 版本。
我有一个 docker 构建操作如下
- name: build-push
uses: docker/build-push-action@v1
with:
username: ${{ DOCKER_USERNAME }}
password: ${{ DOCKER_PASSWORD }}
repository: <repo>
tags: tag
push: true
dockerfile: ./<path-to-dockerfile>/Dockerfile
docker 文件包含将几个文件添加到 docker 图像的说明,如下所示
ADD file1 .
ADD file2 .
ADD file3 .
github的结构是:
-.github
-folder1------------
|
folder2-------------
|
-----------------------docker--------
| | | |
file1 file2 file3 Dockerfile
问题是 GitHub 操作无法找到 file1、file2 和 file3 因为它在 folder1 的级别中查找。产生的错误是
ADD failed: file not found in build context or excluded by .dockerignore: file1: file does not exist
我不想将 docker 文件中的路径修改为 ADD ./folder1/folder2/file1 .
。
那么如何使用 docker/build-push-action@v1 从 GitHub 操作部分添加路径或更改目录?
不要使用 docker/build-push-action@v1,而是使用 docker/build-push-action@v2,因为 v1 是旧版本。 修改GitHub动作如下
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }
password: ${{ secrets.DOCKER_PASSWORD }}
- name: build-push
uses: docker/build-push-action@v2
with:
context: ./folder1/folder2/docker/
tags: tag
push: true
dockerfile: ./<path-to-dockerfile>/Dockerfile
使用 context 和 github 操作将解决这个问题。 上下文 仅适用于 v2 版本。