Docker数据管理

1 数据卷简介

为了解决:

  1. 容器中的文件会随容器删除而删除
  2. 宿主机与容器之间不能相互访问文件
  3. 容器与容器之间不能相互访问文件

Docker引入了数据卷机制(volumes),
实现了 主机与容器 或 容器与容器 共享文件

2 数据卷的使用

在使用docker run 命令时添加 -v 参数,就可以创建并挂载一个到多个数据卷到当前运行的容器中

sudo docker run -dit --name [容器名字] -v [宿主机目录/文件]:[容器目录/文件] [镜像名称] [命令(可选)]

3 数据卷容器的使用

将宿主机的某个目录,使用容器的方式来表示,然后其他的应用容器将数据保存在这个容器中,达到大批量应用数据同时存储的目的

(1) 创建一个数据卷容器

注意:

  1. 容器数据卷目录要这样写/docker_data, 名称随便取, 不要加~, 这只是个虚拟目录名, 它不在宿主机上!!!
  2. 数据卷容器不启动
sudo docker create -v [容器数据卷目录] --name [容器名字] [镜像名称]
# 示例:
sudo docker create -v /docker_data --name vcontainer ubuntu:16.04

在这里插入图片描述

(2) 创建两个容器, 同时挂载数据卷容器

sudo docker run -dit --volumes-from [数据卷容器名] --name [容器名字] [镜像名称] [命令(可选)]
# 示例:
sudo docker run -dit --volumes-from vcontainer --name ccc1 ubuntu:16.04 /bin/bash
sudo docker run -dit --volumes-from vcontainer --name ccc2 ubuntu:16.04 /bin/bash

在ccc2容器中操作, 在ccc1容器中会同步数据
但在宿主机中操作, 在ccc1和ccc2容器中均不会同步
因为数据是保存在数据卷容器内,并没有保存到宿主机的文件目录中
在这里插入图片描述
在这里插入图片描述

4 数据操作指令

(1) 查看所有数据卷

sudo docker volume ls

在这里插入图片描述

(2) 查看数据卷详情

sudo docker volume inspect [VOLUME NAME]

在这里插入图片描述
进入该目录, 可以看到里面存的是什么数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值