您好,登錄后才能下訂單哦!
摘要:Docker Volume,通常翻譯為數據卷,用于保存持久化數據。當我們將數據庫例如MySQL運行在Docker容器中時,一般將數據通過Docker Volume保存在主機上,這樣即使刪除MySQL容器,數據依然保存在主機上,有效保證了數據的安全性。這篇博客將通過簡單的實踐幫助大家理解什么是Docker Volume。
本文所有命令都是在play-with-docker的在線Docker實例上執行,Docker版本為17.05.0-ce。
使用docker run命令,可以運行一個Docker容器
docker run -itd --volume /tmp/data1:/tmp/data2 --name test ubuntu bash
使用docker inspect命令,可以查看Docker容器的詳細信息:
docker inspect --format='{{json .Mounts}}' test | python -m json.tool
[
{
"Destination": "/tmp/data2",
"Mode": "",
"Propagation": "",
"RW": true,
"Source": "/tmp/data1",
"Type": "bind"
}
]
touch /tmp/data1/hello.txt
ls /tmp/data1/
hello.txt
使用docker exec命令,可以在容器中執行命令。
docker exec test ls /tmp/data2/
hello.txt
可知,在本機目錄/tmp/data1/的修改,可以同步到容器目錄/tmp/data2/中。
docker exec test touch /tmp/data2/world.txt
docker exec test ls /tmp/data2/
hello.txt
world.txt
ls /tmp/data1/
hello.txt world.txt
可知,在容器目錄/tmp/data2/的修改,可以同步到主機目錄/tmp/data1/中。
Docker Volume本質上是容器與主機之間共享的目錄或者文件,這樣Docker Volume中的數據可以在主機和容器中實時同步。使用Virtualbox創建虛擬機時,也可以配置共享目錄,這與Docker Volume非常相似。
Fundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了7億+錯誤事件,得到了Google、360、金山軟件、百姓網等眾多知名用戶的認可。歡迎免費試用!
轉載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2017/06/07/what-is-docker-volume/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。