容器和主機、容器與容器之間需要資料共享時可以使用資料卷技術解決
容器中管理資料的主要方式有兩種:資料卷、資料卷容器
1 資料卷
1.1 資料卷特性
1.2 在容器內建立乙個資料卷的方式,在啟動的時候使用 -v 標記,可以建立乙個資料卷掛載到容器指定目錄中,也可以掛載本地目錄到容器中作為資料卷。
說明:本地目錄路徑必須是絕對路徑,如果不存在,docker會自動建立。
例如:使用mysql 容器時可以指定主機資料目錄掛載到容器內部。預設情況下,mysql 容器的資料庫檔案和日誌檔案都會存在容器的 aufs 檔案層,不便於資料遷移、備份。而且容器也會變得越來越臃腫。
可以建立乙個目錄資料夾存放mysql資料檔案
mkdir -p /home/ubuntu/work/data/database/mysql20180128
執行容器
docker run --name some-mysql -p 3306:3306 -v /home/ubuntu/work/data/database/mysql20180128:/var/lib/mysql -e mysql_root_password=my-secret-pw -d mysql:tag
1.3 資料卷容器,可以在容器之間共享一些持續更新的資料。
--name 可以指定容器名稱
2 容器網路基礎配置,再啟動容器時,如果不指定引數,在容器外部是無法通過網路來訪問容器內部服務的。可以通過 -p 或 -p 指定埠對映。
-p docker 會隨機對映乙個 49000-49900的埠到容器內部開放的網路埠
-p 可以指定要對映的埠,支援的格式 ip:hostport:containerport | ip::containerport | hostport:containerport
--link 可以在容器之間建立安全隧道,用法 --link name:alias , 其中 name 是要連線的容器名稱, alias 是這個鏈結的別名。
資料卷容器
多個mysql同步資料 啟動3個容器,通過我們剛才自己寫的映象啟動 測試 可以刪除docker01,檢視一下docker02和docker03是否可以訪問這個檔案 測試依舊可以訪問 因為容器之間的資料其實是乙個雙向拷貝的概念 多個mysql實現資料共享 docker run d p 3310 330...
資料卷容器
容器間資料同步 啟動3個容器,通過我們剛才自己構建的映象啟動。docker images docker run it name docker01 lwemwu centosctrl p q退出容器 繼續執行 在docker01中增加檔案docker01,到docker02檢視資料同步。進入docke...
資料卷容器
如果使用者需要在多個容器之間共享一些持續更新的資料,最簡單的方式是使用資料卷容器。資料卷容器也是乙個容器,但是它的目的是專門提供資料卷給其他容器掛載 1.新建資料卷容器 docker run di name db data v db data centos 7注 v 後面接的共享資料真實存放路徑,把...