Dockerfile文件COPY指令作用是將從構建上下文目錄中 <源路徑> 的文件/目錄復制到新的一層的鏡像內的 <目標路徑> 位置。
語法格式
COPY 源路徑... 目標路徑
COPY ["源路徑1",... "目標路徑"]
COPY指令和 RUN 指令一樣,也有兩種格式,一種類似于命令行,一種類似于函數調用。
COPY 指令可以將源路徑的文件復制到新的一層的鏡像內的目標路徑位置,例如:
COPY package.json /usr/src/app/
源路徑可以是多個,甚至可以是通配符,其通配符規則要滿足 Go 的 filepath.Match 規則,如:
COPY hom* /mydir/
COPY hom?.txt /mydir/
目標路徑可以是容器內的絕對路徑,也可以是相對于工作目錄的相對路徑(工作目錄可以用 WORKDIR 指令來指定)。目標路徑不需要事先創建,如果目錄不存在會在復制文件前先行創建缺失目錄。
此外,還需要注意一點,使用 COPY 指令,源文件的各種元數據都會保留。比如讀、寫、執行權限、文件變更時間等。這個特性對于鏡像定制很有用。特別是構建相關文件都在使用 Git 進行管理的時候。








