错误:服务';api网关&x27;未能生成:添加失败:stat/var/lib/docker/tmp/docker-builder931060141/api网关:没有这样的文件或目录
我在构建基于Go的Docker项目时遇到困难。我的总体目录结构如下所示:错误:服务';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
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网关”是错误的句子。请使用代码块格式化您的问题,因为它更具可读性。我是在图像中添加一个目录,而不仅仅是一个或多个文件。