1. 程式人生 > >docker2-docker儲存持久化|資料管理

docker2-docker儲存持久化|資料管理

按照 Docker 最佳實踐的要求,容器不應該向其儲存層內寫入任何資料容器儲存層要保持無狀態化

檢視容器內應用產生的資料,或者需要把容器內的資料進行備份,甚至多個容器之間進行資料的共享,這必然涉及容器的資料管理操作。

所有的檔案寫入操作,都應該使用 資料卷(Volume)、或者繫結宿主目錄,在這些位置的讀寫會跳過容器儲存層,直接對宿主(或網路儲存)發生讀寫,其效能和穩定性更高。資料卷的生存週期獨立於容器,容器消亡,資料卷不會消亡。因此,使用資料卷
後,容器可以隨意刪除、重新 run ,資料卻不會丟失

映象分層

[[[[接docker1內容]]]]]docker每一行都產生一個新層(RO:可讀,RW:可寫)

Volume   提供獨立於容器之外的持久化儲存

容器中的改動 預設是不會儲存的,Volume可以提供容器之間的共享資料

第一種持久化方式   -v:

docker run -d --name nginx(給容器取名) -v /usr/share/nginx/html nginx(映象名)

容器執行之後檢查    nginx為容器名

docker inspect nginx

mac下不能開啟這個位置(linux下可以正常開啟)

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

第二種持久  資料卷

ps:

當使用 -P 標記時,Docker 會隨機對映一個 49000~49900 的埠到內部容器開放的網路埠。

-p   把容器80埠對映為宿主8888埠   

-v 把宿主機當前   $PWD/code   的目錄  掛載到   容器內   /var/www/html

mkdir code
touch Dockerfile
docker build -t my-nginx .
docker run -d -p 8888:80 -v $PWD/code:/var/www/html my-nginx

mysql例項

docker run -p 3306:3306 --name mymysql-v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql-containername

在容器啟動時  改變宿主機內檔案內容 ,容器內容隨之改變

第三種持久化方式

建立

unbuntu 為基礎映象,如果沒有會從倉庫下載,

mkdir data
docker create -v $PWD/data:/var/mydata --name data_container ubuntu

從另一個容器載入這個卷(ubuntu為基礎映象    -it)

docker run -it --volumes-from data_container ubuntu /bin/bash

相關推薦

docker2-docker儲存持久化|資料管理

按照 Docker 最佳實踐的要求,容器不應該向其儲存層內寫入任何資料,容器儲存層要保持無狀態化。 檢視容器內應用產生的資料,或者需要把容器內的資料進行備份,甚至多個容器之間進行資料的共享,這必然涉及容器的資料管理操作。 所有的檔案寫入操作,都應該使用 資料卷(Volum

Docker之應用資料管理(volume/bind mount/tmpfs)

雖然我們可以在docker容器中儲存寫入的資料,但還是有這樣幾個不足: 容器中的資料會隨著容器的停止執行而消失, 而且當其他的程序需要這些資料時,很難將這些資料從容器中提取出來;容器的資料寫入層是緊密地對應著他的宿主作業系統的,資料不能容易的被遷移到其他地方;要將資料寫

第六篇 : Docker 容器的資料管理

一、容器的資料卷 1. 什麼是資料卷? docker的理念之一就是將應用和執行的環境打包,因此docker容器的生存週期通常都是與在容器中執行的程式相同的,而我們對資料的要求是持久化,docker容器之間也需要一個共享資料的渠道。這些需求就催生了docker資料卷的誕生。 doc

Docker 儲存資料卷(Volume)

Volume提供了獨立於容器之外的持久化儲存,以及容器與容器之間的共享資料。 建立資料卷 在docker run 命令中加-v選項可以建立資料卷。下面執行一個ngnix容器,通過-v掛載一個卷。 當我們建立一個容器的時候,docker會自動對它進行

Docker容器的資料管理】- 資料卷的使用

資料卷的使用-為資料卷新增訪問許可權 啟動一個容器新增只讀的資料卷 [email protected]:~# docker run -it -v~/datavolume:/data:ro--name dvt1 ubuntu /bin/bash 測試是否可

Docker容器的資料管理】- 資料卷的使用-為容器新增資料

資料卷的使用-為容器新增資料卷 啟動容器並新增資料卷 [email protected]:~#docker run -it -v ~/datavolume:/data ubuntu /bin/bash [email protected]:/# ls

11: docker儲存資料卷以及資料卷容器

在使用容器的過程中,我們可能需要共享資料: 共享本地主機資料到容器; 共享容器資料到另一個容器。 Docker裡的資料卷及資料卷容器恰好滿足了這個需求。 1 資料卷 資料卷(Data Volumes)是一個可供容器使用的特殊目錄,它提供了很多有用的特性: 對資

TiKV 在京東雲物件儲存資料管理的實踐

京東雲物件儲存是在 2016 年作為公有云對外公開的,主要特點是可靠、安全、海量、低成本,應用於包括一些常用的業務場景,比如京

s5 Docker持久化儲存資料共享

資料庫容器的資料如何才能不會丟失?Docker的持久化儲存技術。Docker的資料共享技術能極大提高開發人員的開發效率,邊寫程式碼,邊看執行結果。 資料持久化之Data Volume   Docker持久化資料的方案 ·基於本地檔案系統的Volume。可以在執行Docker create

Docker容器進階--建立映象、資料管理、網路、儲存型別

一、Docker映象建立方法--基於已有映象、基於本地模板; 基於已有映象: 1.準備映象: 2.準備容器: 3.將容器建立成為docker映象檔案: 基於本地模板: 1.下載本地作業系統模板: https://download.open

Docker持久化儲存資料共享

一.Docker持久化資料的方案 基於本地檔案系統的Volume:可以在執行docker create或docker run時,通過-v引數將主機的目錄作為容器的資料卷。這部分功能便是基於本地檔案系統的volume管理。 基於plugin的Volume:支援第三方的儲存

從零開始學習docker(九)持久化儲存資料共享

有些時候容器會產生一些資料,而我們不希望這些資料隨著容器的刪除而刪除。想保證資料的安全,一般用在資料庫。 首先看一下contai

從零開始學習docker(九)持久化儲存資料共享之 bind Mounting

資料持久化的第一種方式Data Volume 使用Data Volume: 首先在Dockerfile中定義 Volu

Atitit 儲存方法大總結 目錄 1. 儲存方式分類 2 1.1. 按照資料分類為 結構化 半結構化 非結構化 2 1.2. 按照內外部可分類 內部儲存和外部儲存持久化 2 1.3. 按照本地遠

Atitit 儲存方法大總結   目錄 1. 儲存方式分類 2 1.1. 按照資料分類為  結構化 半結構化 非結構化 2 1.2. 按照內外部可分類 內部儲存和外部儲存持久化 2 1.3. 按照本地遠端分類 分散式儲存等 2 1.4. 臨時性cach

習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡、住址),教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績),兩個部門分別編寫了本部門的學生資料管理程式,其中都用。。

C++程式設計(第三版) 譚浩強 習題14.3 個人設計 習題 14.3 學校的人事部門儲存了有關學生的部分資料(學號、姓名、年齡、住址),教務部門也儲存了學生的另外一些資料(學號、姓名、性別、成績),兩個部門分別編寫了本部門的學生資料管理程式,其中都用了Student作為類名。現在

Docker Swarm volume 資料持久化

Docker Swarm volume 資料持久化 volume 是將宿主級的目錄對映到容器中,以實現資料持久化。 可以用兩種方式來實現: volume 預設模式:工作節點宿主機資料同步到容器內。 volume NFS 共享儲存模式:管理節點宿主同步到工作節點宿主,工作節點宿主同步到容器。

Docker Swarm bind 資料持久化

Docker Swarm bind 資料持久化 bind:主要將工作節點宿主級檔案或目錄,同步掛載到容器中。 環境: 系統:Centos 7.4 x64 應用版本:Docker 18.09.0 管理節點:192.168.1.79 工作節點:192.168.1.78 工作節

Docker 外部訪問容器Pp、資料管理volume、網路network 介紹

Docker 外部訪問容器Pp、資料管理volume、網路network 介紹  外部訪問容器 容器中可以執行一些網路應用,要讓外部也可以訪問這些應用,可以通過 -P 或 -p 引數來 指定埠對映。 當使用 -P 標記時,Docker 會隨機對映一個埠到內部容器開放的網路埠。 ╭─wi

docker筆記之資料持久化(即開即用)

資料卷: 將宿主機目錄掛載到容器目錄 資料卷特點: 在容器啟動初始化時,如果容器使用的宿主機掛載點有資料,這些資料會拷貝到容器中 資料卷可以在容器直接共享和使用 可以直接對資料卷裡的內容進行修改 資料卷的變化不會影響映象的更新 卷會一直存在

Docker容器和資料視覺化管理工具Flocker

Flocker 可輕鬆實現 Docker 容器及其資料的管理。這是一個數據卷管理器和多主機的 Docker 叢集管理工具,你可以通過它來控制資料。可用來在 Docker 中執行你的資料庫、查詢和 K/V 儲存,並在應用中輕鬆使用這些服務。 Flocker 同時也提供了 API 和命令列工具來進行功能的操