Docker 容器數據持久化
阿新 • • 發佈:2018-02-17
pre reat 數據持久化 方便 whoami create 之間 ash spec
Docker Volumn 卷
提供了一種容器數據持久化的技術,可以將容器中的目錄掛載至本機上。同時也為容器之間的數據共享提供了方便。
不指定掛載到宿主機
比如運行docker run -d --name nginx -v /usr/share/nginx/html whoami/hello-nginx
-d
在daemon中運行
--name nginx
將容器命名為nginx
-v /usr/share/nginx/html
指定需要持久化的目錄,即需要掛載的目錄。
使用sudo docker inspect nginx
查看
inspect可以查看很多有關容器的信息,但是此刻我關註的是掛載的信息:
在掛載目標目錄的地方找到了index.html中並在其中追加了<b>hello the cruel world!!</b>
下面使用docker exec -it nginx /bin/bash
進入容器之中
可以看到在宿主機之中做的更改與容器中的同步了!
指定掛載到宿主機
使用命令sudo docker run -d -p 80:80 -v $PWD/html:/var/www/html nginx
其中
$PWD
為shell的宏變量代表的是當前路徑-p 80:80
將宿主機的80端口映射為容器的80端口
效果不多說了!
指定掛載到容器
- 創建數據容器
docker create -v $PWD/data:/var/mydata --name Data ubuntu
- 創建需要掛載的容器
docker run -it --volumes-from Data ubuntu /bin/bash
mount | grep mydata
進行掛載的目錄,然後創建文件`makeit`
可以看到掛載到容器也是可以同步數據的。
Docker 容器數據持久化