我有一个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
dockerfile 有将几个文件添加到 docker 镜像的说明,如下所示
ADD file1 .
ADD file2 .
ADD file3 .
GitHub的结构是:
-.github
-folder1------------
|
folder2-------------
|
-----------------------docker--------
| | | |
file1 file2 file3 Dockerfile
问题是GitHub操作无法找到file1、file2和file3,因为它正在文件夹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操作部分添加路径或更改目录呢?
context: "{{defaultContext}}:subdirectory"
https://github.com/docker/build-push-action#git-context
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }
password: ${{ secrets.DOCKER_PASSWORD }}
- name: build-push
uses: docker/build-push-action@v3
with:
context: ./folder1/folder2/docker/
tags: tag
push: true
file: ./<path-to-dockerfile>/Dockerfile
不要使用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
在github操作中使用上下文将解决这个问题。上下文仅适用于v2版本。
我是GitHub操作的新手。我有下面的DockerFile 我正在尝试使用GitHub操作发布Docker,下面是我的操作代码 生成失败,出现以下错误 我假设它无法获取目标文件夹下的jar文件。我是否应该在docker Build之前为Maven Build添加另一个步骤,确保用Jar生成目标文件夹。 我更新了我的操作如下,但仍然存在相同的错误 请参阅我在git上的repo以获取确切代码:http
当我尝试从我的容器内连接到另一个容器的端口时,我不成功并得到, 从docker主持人那里我成功了, 如果我检查iptables,我可以看到问题, 所以我添加了以下内容,一切都很好, 我错过什么了吗? 谢谢
Publishes docker containers This Action for Docker uses the Git branch as the Docker tag for building and pushing the container.Hereby the master-branch is published as the latest-tag. Usage Example p
未使用其缓存。 生成与此相同的输出: 我正在修改Dockerfile,在文件末尾添加命令。所以前面的层应该被缓存并且有效。 我有足够的磁盘空间。 有什么想法吗? Docker版本17.06.1-ce,构建874a737 Dockerfile:
我想做我的第一个码头集装箱 我安装了dokcer-ce,遵循ubuntu的docker教程。 我创建一个文件夹,并把我的Dockerfile在它。 在这个文件夹中,我做了一个: 我总是有这样的输出 编辑:我在sshd,没有工作?!
除了没有之外,我似乎可以运行每个docker命令。我注意到这一点是因为在最近的部署过程中,启动服务的脚本突然失败了。该脚本包括以下命令 很长一段时间以来,它一直保持不变,工作没有问题,但显然系统中的某些东西已经改变了。我已经尝试按照Stack Overflow和其他站点上的许多类似问题中概述的步骤,建议的解决方案是将用户添加到docker组并重新启动服务。例如,从Docker自己的论坛。但问题还是
Docker编写版本3.0。jar_file参数用于将jar-file复制到docker容器下的spring-boot jar