学习笔记Day3-Docker数据管理

数据卷:容器内的数据直接映射到主机环境上。

数据卷容器:使用特定的容器维护数据卷。

一、数据卷的操作

1、创建数据卷

创建:docker create test;//创建一个名字为test的数据卷,位置在/var/lib/docker/volumes目录下;

查看详情inspect、

列出ls、

清理无用数据卷prune、

删除数据卷rm

2、绑定数据卷

数据卷类型参数:volume,bind,tmpfs

volume:普通数据卷,位置在/var/lib/docker/volumes目录下;

bind:绑定数据卷,映射在自己指定的位置

tmpfs:临时数据卷。只存于内存中

例1:docker run -it -d --name web --mount type=bind,source=/webapp,destination=/opt/webapp training/webapp:latest

-it 带伪终端,不然无法start

-d后台运行

--name容器的命名为web

--mount绑定----------type数据盘类型,source映射主机地址,dinatination容器内地址

training/webapp:latest所用镜像

例2:docker run -it -d --name web -v /webapp:/opt/webapp training/webapp:latest

同上

设置挂载数据卷的权限为只读(默认是读写)

docker run -it -d --name web -v /webapp:/opt/webapp:ro training/webapp:latest

ro指定为只读

二、数据卷容器

1、创建数据卷容器

docker run -it -v /dbdata --name dbdata ubuntu:latest

/dbdata:新建容器里面的位置

2、其他容器中挂载数据卷容器、

注:使用--volumes-from挂载容器卷时,容器本身并不需要保持运行状态

docker run -it --volumes-from dbdata --name db1 ubuntu:latest

dbdata:刚刚创建的那个名字为dbdata的容器。

三、根据数据卷容器迁移数据

1、备份

例:docker run -it --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu:latest tar cvf /backup/backup.tar /dbdata

docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu:latest:创建一个worker容器同样挂载数据容器dbdata

-v $(pwd):/backup:挂载本地的当前目录到worker容器的/backup目录

tar cvf /backup/backup.tar /dbdata容器启动后将/dbdata备份为容器内的/backup/backup.tar

2、恢复

例:

x先创建一个带有数据卷的容器dbdata2

1、docker run -it -v /dbdata --name dbdata2 ubuntu:latest /bin/bash

在另外创建一个新的容器,挂载dbdata2容器,并使用untar解压文件到所挂载的容器中

2、docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值