有没有办法使用 github 操作插件 docker/build-push-action@v1 设置 docker build 的路径

Posted

技术标签:

【中文标题】有没有办法使用 github 操作插件 docker/build-push-action@v1 设置 docker build 的路径【英文标题】:Is there a way to set path for docker build with the github action plugin docker/build-push-action@v1 【发布时间】:2021-12-23 08:11:56 【问题描述】:

我有一个如下的 docker build 操作

      - 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

dockerfile 有向 docker 镜像添加一些文件的说明,如下所示

ADD file1 .
ADD file2 .
ADD file3 .

github的结构是:

-.github
-folder1------------
                   |
                   folder2-------------
                                       |
               -----------------------docker--------
               |             |           |          |
            file1          file2        file3      Dockerfile

问题是 GitHub 操作无法找到 file1file2file3,因为它正在查看 级别>文件夹1。产生的错误是

ADD failed: file not found in build context or excluded by .dockerignore: file1: file does not exist

我不想将 dockerfile 中的路径修改为 ADD ./folder1/folder2/file1 .。 那么如何使用 docker/build-push-action@v1 从 GitHub Action 部分添加路径或更改目录?

【问题讨论】:

【参考方案1】:

不要使用 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@v1
        with:
          context: ./folder1/folder2/docker/
          tags: tag
          push: true
          dockerfile: ./<path-to-dockerfile>/Dockerfile

在 github 操作中使用 context 将解决此问题。 上下文仅适用于 v2 版本。

【讨论】:

以上是关于有没有办法使用 github 操作插件 docker/build-push-action@v1 设置 docker build 的路径的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法通过 jquery 选择的插件动态 ajax 添加元素?

有没有办法通过 GitHub 操作推送更改?

Dock Tile 插件不起作用

防止 Java 图标在 Dock 中弹出

Qt 设计器和 Dock 小部件

ssi-uploader上传图片插件,点击选择文件按钮自动提交表单解决办法