Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:服务';api网关&x27;未能生成:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有这样的文件或目录_Docker_Docker Compose_Dockerfile - Fatal编程技术网

错误:服务';api网关&x27;未能生成:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有这样的文件或目录

错误:服务';api网关&x27;未能生成:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有这样的文件或目录,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我在构建基于Go的Docker项目时遇到困难。我的总体目录结构如下所示: api网关 │ ├─处理者 │ └─资源 --Dockerfile 我的Dockerfile包含: 来自阿尔卑斯山的:3.2 添加api网关/api网关 添加资源/pri_key.pem资源/pub_key.pem/resource/ #添加资源/ca-certificates.crt/etc/ssl/certs/ 卷/资源/ 入口点[“/api网关”] 即使我使用ADD在图像中包含一个文件,我仍然会收到一个错误a

我在构建基于Go的Docker项目时遇到困难。我的总体目录结构如下所示:

api网关
│  ├─处理者
│  └─资源
--Dockerfile
我的Dockerfile包含:

来自阿尔卑斯山的
:3.2
添加api网关/api网关
添加资源/pri_key.pem资源/pub_key.pem/resource/
#添加资源/ca-certificates.crt/etc/ssl/certs/
卷/资源/
入口点[“/api网关”]
即使我使用ADD在图像中包含一个文件,我仍然会收到一个错误<代码>api网关是一个目录,其中包含
Dockerfile

D:\FileWithDocument\ExtraCodeProject\shop micro-master>docker-compose-up
构建api网关
步骤1/5:来自阿尔卑斯山:3.2
--->98f5f2d17bd1
步骤2/5:添加api网关/api网关
错误:服务“api网关”生成失败:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有此类文件或目录
我在Windows中使用Docker桌面。 Docker引擎版本为:

客户端:Docker引擎-社区
版本:18.09.2
API版本:1.39
Go版本:go1.10.8
Git提交:6247962
建造日期:2019年2月10日星期日04:12:31
OS/Arch:windows/amd64
实验性:错误
服务器:Docker引擎-社区
发动机:
版本:18.09.2
API版本:1.39(最低版本1.12)
Go版本:go1.10.6
Git提交:6247962
建造日期:2019年2月10日星期日04:13:06
OS/Arch:linux/amd64
实验性的:真的
当我下载github项目并运行docker build时,它仍然输出此错误

错误:服务“api网关”生成失败:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有此类文件或目录


当您运行
docker build
时,您为其指定的目录将成为上下文目录;您只能引用该目录树中的文件路径,并且
COPY
ADD
语句中的任何文件路径始终与该目录相关。这意味着,如果您正在从名为
api网关
的目录运行
docker build
,该目录包含
Dockerfile
是同一目录。您的Dockerfile可能更像:

来自阿尔卑斯山的
:3.2
#这将在映像中创建目录,如果
#还不存在。
WORKDIR/api网关
#将整个当前目录复制到映像中。
#(除非您特别想要,否则宁愿复制也不要添加。)
#自动存档提取或HTTP回迁。)
复制
#复制一些附加文件。
#(请记住,拥有该图像的任何人都可以提取任何
#文件:这会泄露一个私钥。)
复制资源/pri_key.pem资源/pub_key.pem/resource/
复制资源/ca-certificates.crt/etc/ssl/certs/
#将默认命令设置为启动。
#(更喜欢CMD而不是ENTRYPOINT:更容易获得调试
#容器和外壳,并且有一个有用的模式
#使用入口点包装器在安装之前进行首次安装
#启动CMD。)
CMD[“/api网关/处理程序”]

如果您看到“docker-Builder 12345678/…:没有这样的文件或目录”错误,您应该始终将长数字后的路径组件解释为相对于传递到
docker build

的目录,首先编写
添加资源/…
,然后编写
卷/资源/
是否确定路径相同?一个路径以
/
开头,另一个路径没有。我只是下载了github项目,没有做任何更改。“添加api网关/api网关”是错误的句子。请使用代码块格式化您的问题,因为它更具可读性。我是在图像中添加一个目录,而不仅仅是一个或多个文件。