天天看點

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

docker内部資料管理和docker之間的資料共享為資料卷和資料卷容器,執行個體解析1.将本地的檔案作為容器的資料卷,2.資料卷flocker插件實作容器叢集(或者docker swarm)的資料共享3.資料卷容器作為其他容器的資料卷.降低磁盤開銷.4.資料的備份,恢複和遷移.5.docker hub的常用操作.

data volumes是一個或者多個容器特别指定的目錄,它差別于聯合檔案系統的(union file system,或稱unionfs,通過底層的操作的檔案系統,具有輕量級和快速的特性,docker 容器也是使用聯合檔案系統去建立資料塊的.),并且,對容器的資料管理以及容器之間資料共享提供了以下幾點:

- 當容器被建立的同時,資料卷已經被初始化了.當鏡像資料在制定的挂載點上時,存在的資料會複制到新的卷上.(但是,如果挂載的是主機路徑不适用)

- 容器之間的資料卷可以重用和共享.

- 可以直接更改資料卷

- 鏡像更新不會更改資料卷.

- 容器被删除,資料卷不受影響.

在<code>docker create</code>和<code>docker run</code>指令中,使用<code>-v</code> 為容器增加一個資料卷.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

可見.把<code>training/webapp</code>命名為<code>myweb</code>,并且通過<code>-v</code>建立了資料卷 /webapp

tip,在<code>dockerfile</code>建立新的容器時,可以通過-v來建立更多的資料卷.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

其中,mount資訊,包含了剛剛建立的資料卷詳細資訊.<code>source</code>指定了本機路徑,而<code>destination</code>則指定容器内部路徑.

将本機的路徑如/src/webapp作為volumeweb的資料卷.這樣做的好處是,如果本地有代碼可很友善在本地修改,在容器裡檢視修改後的效果.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

僅僅在/src/webapp:/opt/webapp:ro 增加了ro,指明隻讀模式.

使用<code>-v</code>标志可以挂載單一檔案,如将主機的bash_history檔案内容,添加至新建立的容器中,此時新建立的容器的bash_history中的記錄删除而存上主機bash_history的内容.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

挂載一個共享資料作為docker容器的資料卷

容器除了可以在本機上的路徑作為資料卷外,還可以通過docker volume plugins來允許一些共享資料作為資料卷,如iscsi,nfs或者fc.這樣做的好處是,共享的資料卷的位置不受容器的影響,而且隻要某個容器擁有volume plugins并且能夠通路,就可以将共享資料卷作為該容器的資料卷.

資料卷的一個插件,用來管理共享資料,支援容器之間(容器叢集)的共享資料進行遷移,打包.

注意:a.最後一步下載下傳flocker插件時,可能因為網速而下載下傳時間很長,建議下載下傳的flocker時跳過.docker 資料卷flocker插件實作容器叢集的資料管理,共享和遷移等.步驟,不影響後續操作.b.本過程需要flocker正确安裝,dcoker叢集環境,如果提示沒有flocker插件錯誤,可以跳過本步驟,docker swarm不是本次解析重點.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

安裝flocker node services(略過,過程繁瑣,不再贅述,可以去clusterhq官方文檔檢視.)

本過程需要flocker正确安裝,dcoker叢集環境,如果提示沒有flocker插件錯誤,可以跳過本步驟,docker swarm不是本次解析重點.

建立新的資料卷的容器目的是,友善一些持久性(存儲)的資料在容器和容器之間共享.

使用postgres鏡像建立一個資料卷容器,該容器沒有應用運作,是以,其他容器的可以作為應用層,而存儲的資料放在資料卷容器中,這樣可以節省磁盤空間.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

docker容器的資料卷備份,恢複,遷移一般是通過<code>--volumes-from</code>标志實作的.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作
執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

docker hub是docker官方提供的容器管理工程,類似與github,不同在于在docker hub中搜尋存放的不是源碼而是容器.

docker hub可以存放我們建立的容器,如果是公開的則大家都以拿來用,也支援不公開.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

登陸資訊存放在了<code>$home/.docker/config.json</code>下.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作

使用<code>docker push yourname/newimage</code>來push自己的容器到hub上.

執行個體解析Docker資料卷+資料卷容器+flocker資料共享+DockerHub操作1.0.資料卷(Data volumes)2.flocker插件實作容器叢集的資料管理,共享和遷移等.(如果未配置Docker Swarm,建議跳過本步驟)2.1.安裝Docker容器卷驅動flocker3.建立一個新的資料卷容器,作為其他應用層容器的資料卷4.0.備份,恢複,遷移資料卷5.Docker Hub常見操作