如何共享數據?- 天天5分鐘玩轉 Docker 容器技術(41)

數據共享是 volume 的關鍵特性,本節咱們詳細討論經過 volume 如何在容器與 host 之間,容器與容器之間共享數據。html

容器與 host 共享數據

咱們有兩種類型的 data volume,它們都可實如今容器與 host 之間共享數據,但方式有所區別。web

對於 bind mount 是很是明確的:直接將要共享的目錄 mount 到容器。具體請參考前面 httpd 的例子,再也不贅述。docker

docker managed volume 就要麻煩點。因爲 volume 位於 host 中的目錄,是在容器啓動時才生成,因此須要將共享數據拷貝到 volume 中。請看下面的例子:spa

docker cp 能夠在容器和 host 之間拷貝數據,固然咱們也能夠直接經過 Linux 的 cp 命令複製到 /var/lib/docker/volumes/xxx。code

容器之間共享數據

第一種方法是將共享數據放在 bind mount 中,而後將其 mount 到多個容器。仍是以 httpd 爲例,不過此次的場景複雜些,咱們要建立由三個 httpd 容器組成的 web server 集羣,它們使用相同的 html 文件,操做以下:server

  1. 將 $HOME/htdocs mount 到三個 httpd 容器。
    201.pnghtm

  2. 查看當前主頁內容。
    it

  3. 修改 volume 中的主頁文件,再次查看並確認全部容器都使用了新的主頁。
    集羣

另外一種在容器之間共享數據的方式是使用 volume container,下節討論。容器

有個好消息:出版社如今搞促銷,《天天5分鐘玩轉OpenStack》全網最低價銷售,有興趣的同窗能夠訪問 https://detail.tmall.com/item.htm?id=543416839771 瞭解詳情 。

二維碼+指紋.png

相關文章
相關標籤/搜索