什么是容器数据卷

容器的持久化和同步操作!容器也是可以数据共享的。

使用数据卷

直接使用命令来挂载

  1. -v
  2. docker run -it -v 主机目录:容器内目录

实验

# 安装镜像
docker pull centos
# 挂载
docker run -it -v /Users/inisl/software/docker/centeros:/home centos /bin/bash
docker image inspect image_id

image.png
这样我们不论操作容器内还是服务器内数据都是互相绑定的。

测试: MySQL同步数据

Data目录共享

docker run 
-d 
-p 3333:3306 
-v /home/docker/mysql/conf:/etc/mysql/conf.d 
-v /home/docker/mysql/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456
--name imysql
mysql 

#
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
--name 容器名字

image.png

具名挂载与匿名挂载

✗ docker volume

Usage:    docker volume COMMAND

Manage volumes

Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused local volumes
  rm          Remove one or more volumes

匿名挂载

-v 容器内路径

查看所有volumn的情况

✗ docker volume ls

image.png

docker volume inspect [容器名称]

具名挂载

# 通过 -v 卷名:容器内路径

区别

image.png

image.png

容器同步

image.png

--volumes-from

两个或者多个容器 实现数据共享。

# 1
docker run -it --name docker1 mysql
# 2
docker run -it --name docker2 --volumes-from docker1 mysql

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。

但是一旦持久化到本地,这个时候,本地是不会删除的。