1. 程式人生 > >Docker volume 掛載卷

Docker volume 掛載卷

    最簡單的hello world輸出映象的製作是最簡單的開始,但是如果我們需要修改我們的執行程式碼,或者有輸入輸出檔案的時候,我們就沒有辦法了,每一個container執行完畢後,其分配的資源以及檔案系統都會消失,那麼我們就需要在本地給docker container掛載一個卷,這樣在container執行的時候,container的掛載點下的檔案操作,也同樣會影響到給container掛載的本地卷。就像linux中的mount一樣。這樣我們只需要修改本地卷中的程式碼,而不需要修改image即可。

    例如我們建立一個Dockerfile檔案:

    其中:

    VOLUME

:是在container中建立一個掛載點,我們可以將本地的一個檔案卷掛載在container的/data下面,這樣我們在container的data目錄下的操作就和在本地卷的操作是一樣的。

    CMD: 在container啟動的時候執行的命令,也只能有一條存在。

    建立的映象所要作的操作是統計一個檔案中的資訊然後將其輸入到2.txt中。利用$docker build –t count:v1 ./ 來建立映象,並檢視

     在執行的時候,我們需要加上 -v /root/laipeng.han/file:/data來將本地檔案/root/laipeng.han/file 掛載在container的/data下面,那麼/root/laipeng.han/file下面的所有檔案,在container的/data/下面全部都可以看到。

    執行指令為:docker run -v /root/laipeng.han/file:/data count:v1

     最終container在/data/下面輸出的結果的檔案2.txt,在/root/laipeng.han/file/下面也是同樣可以看到的。這樣我們修改/root/laipeng.han/file/下面的countfile.py程式碼也是可以直接執行的,不必再建立新的映象檔案。

    以上程式碼都是親自測試,請大家放心執行,謝謝