Dockerfile小記之操作檔案的命令ADD&COPY

村望老弟發表於2021-11-28

Dockfile中操作檔案的命令ADD&COPY

COPYADD命令,在複製普通檔案的時候,並沒有什麼太大的不同,兩個命令都可以把本地檔案,複製到映象裡。(如果複製的路徑不存在,則會自動建立)

準備:

目錄檔案

image-20211127234143824

FROM node:15.10.0-slim

COPY . ./app # ADD ./app

WORKDIR /app 

RUN npm install --registry=https://registry.npm.taobao.org # 安裝node依賴的命令

CMD node app.js 

構建景象完成之後我們使用 docker exec -it <Container> /bin/bash進入容器的shell

image-20211127234321370

可以看到檔案通過COPY命令把宿主機器的專案檔案成功放入了映象中!

ADDCOPY命令的區別

ADD 構建映象和COPY最直觀的一點不同,是ADD命令可以直接解壓gzip壓縮檔案,這當我們有很多檔案要上傳操作的時候,就會變的簡單很多。

image-20211128002743616

這裡我們把專案檔案都打包到一個app.tar包中,然後構建映象的時候通過ADD命令幫我們解壓,我們試一試吧!

FROM node:15.10.0-slim

ADD ./app.tar.gz  /app

WORKDIR /app

RUN npm install --registry=https://registry.npm.taobao.org # 安裝node依賴的命令

CMD node app.js 

注意這個包必須是通過tar的相關壓縮命令去壓縮,不要通過其他壓縮方式去壓縮然後改名字(別問我怎麼知道的~)

image-20211128002851759

通過檢視容器內的目錄結構可以看出,ADD命令幫我們把tar包給解壓了!

4.WORKDIR

在寫Dockerfile檔案時,預設的操作目錄,是映象的根目錄。但有時候需要拷貝很多內容到映象裡是二級目錄,就可以使用WORKDIR命令。把工作目錄切換到二級,WORKDIR命令像我們操作linux下的cd命令。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
CunWang@Ch

相關文章