鍍金池/ 問答/Linux/ 構(gòu)建Docker鏡像時,ADD或COPY文件的路徑問題

構(gòu)建Docker鏡像時,ADD或COPY文件的路徑問題

Dockerfile當(dāng)前目錄下,使用build命令構(gòu)建鏡像時

docker build --rm -t image-name .

出現(xiàn)異常:

ADD failed: stat /var/lib/docker/tmp/docker-builder055888630/install/xxx.zip: no such file or directory

目錄結(jié)構(gòu)是這樣的:

.
├── Dockerfile
└── install
    └── xxx.zip

Dockerfile文件的內(nèi)容也比較簡單:

FROM openjdk:8u131-jre-alpine
ADD install/xxx.zip /opt/
...

之前在windows上這樣執(zhí)行ADD命令是沒有問題的,現(xiàn)在換到Ubantu上才發(fā)現(xiàn)有這樣的問題。。。
另外,Docker version 17.09.0-ce
在網(wǎng)上也查了一下,也有類似的問題,
說是添加.dockerignore文件,命令指定-f參數(shù)。。。
這些也都試了下,沒啥用。。。

回答
編輯回答
初念

我一般都是ADD ./install/xxx.zip /opt/

2018年7月1日 13:20
編輯回答
夢若殤

查了一下stackoverflow
搬運一下答案,大概有以下解決辦法

  1. 如果想要add/copy,文件必須在Dockerfile同一個根目錄下

  2. 可以設(shè)置上下文

    version: '3.3'    
    services:
          yourservice:
            build:
              context: ./
              dockerfile: ./docker/yourservice/Dockerfile
  3. 掛載文件

引用鏈接

2018年6月16日 14:22
編輯回答
獨特范

需要檢查拷貝的文件名字與路徑是否與所求一致,我剛剛也遇到了。調(diào)了很長時間,發(fā)現(xiàn)有個字母錯了。。真是汗顏。。

2017年10月24日 09:51