docker容器中產生的資料在容器關閉後會被清除,下次容器啟動時會恢復到映象初始狀態。如何儲存容器中建立的資料? docker 提供了兩種方法可以把在容器執行中產生的資料儲存到宿主機的檔案系統中。
當啟動乙個容器時可以mount 資料卷(乙個宿主機的目錄或者檔案)到容器中,容器中產生的資料可以儲存在資料卷中。
:ro 表示掛載的資料卷是read only的,預設的許可權是wr讀寫。
docker run -rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash
檔案.bash_history 如果被某些工具修改了inode,docker會報告錯誤。
docker volume create myvolume #建立乙個名為myvolume的資料卷物件。
docker volumen ls # 列出資料卷物件
docker volume rm myvolume #刪除指定的資料卷
dokcer volume inspect myvolume #檢視資料卷的詳細資訊
docker run --name testcontainer -d -v myvolume:/usr/share #建立乙個容器把資料卷myvolume掛載到容器的/usr/share目錄。
建立並掛在資料捲到乙個命名的容器(如上文),這個命名容器被稱為資料卷容器。 其他的容器可以通過指定這個資料卷容器來實現掛載資料卷。掛載同一資料卷容器的容器共享資料卷。
docker run -d --v /dbdata --name dbdata training/postgres echo data-only container.
其他的容器使用--volume-from 引數引用這個容器,實現對資料卷的訪問。
docker run -d --volumes-from dbdata --name db1 training/postgres
docker run -d --volumes-from dbdata --name db2 training/postgres
每個容器相當與乙個簡裝linux os,容器之間是隔離的,容器互聯可以容器對另乙個容器的訪問。
下面先建立乙個新的資料庫容器。
docker run -d --name db training/postgres
--link 引數的格式為 --link name:alias ,其中 name 是要鏈結的容器的名稱, alias 是這個連線的別名。
db_name=/web2/db
db_port=tcp:
db_port_5000_tcp=tcp:
db_port_5000_tcp_proto=tcp
db_port_5000_tcp_port=5432
db_port_5000_tcp_addr=172.17.0.5
可以通過ping 命令來檢查聯通性。
ping db
Docker從入門到實踐
mark docker從入門到實踐 1.docker整體介紹 1.1 docker的基本概念 講開發程式自動部署到容器的 引擎 伺服器為貨船,容器為貨櫃,應用程式為貨櫃的貨物,碼頭工人為docker 1.2 docker總體架構 三要素 映象image 容器container 倉庫reglstry ...
python從入門到實踐筆記
1.字串的一些方法,title 首字母大寫顯示單詞,upper 大寫,lower 轉化為小寫,儲存資料時,此方法很有用,一條原則,一般將字串轉換為小寫,儲存資料 weather cold print weather.title print weather.upper print weathe.low...
《Python程式設計 從入門到實踐》學習筆記(2)
列表是什麼 概念 列表由一系列按特定序列排列的元素組成。可以包含字母 數字0 9或者字串等,列表中的元素之間沒有任何的關係。在python中列表通常用方括號來表示。列表的命名和列印結果如下。infomation rick 20001110 boy print infomation 結果 rick 2...