Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步
Posted 小小工匠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步相关的知识,希望对你有一定的参考价值。
Pre
数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
- 数据卷 可以在容器之间共享和重用
- 对 数据卷 的修改会立马生效
- 对 数据卷 的更新,不会影响镜像
- 数据卷 默认会一直存在,即使容器被删除
数据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会复制到数据卷中(仅数据卷为空时会复制)。
docker volume
https://docs.docker.com/engine/reference/commandline/volume_create/
基本操作
# 创建数据卷
[root@VM-0-7-centos ~]# docker volume create artisan
artisan
# 查看所有的 数据卷
[root@VM-0-7-centos ~]# docker volume ls
DRIVER VOLUME NAME
local artisan
[root@VM-0-7-centos ~]# 查看指定 数据卷 的信息
[root@VM-0-7-centos ~]# docker volume inspect artisan
[
{
"CreatedAt": "2021-10-06T23:42:22+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/artisan/_data",
"Name": "artisan",
"Options": {},
"Scope": "local"
}
]
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
挂载一个主机目录作为数据卷
步骤
- 在主机的 /root 目录下新建一个文件夹 artisan
- 命令 docker run -it -v 主机目录: 容器内目录
- 将主机上的 /root 文件夹下面的artisan的文件夹与容器内的home文件夹绑定
[root@VM-0-7-centos ~]# pwd
/root
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# mkdir artisan
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# docker run -it -v /root/artisan:/home centos /bin/bash
[root@b7424d27ae0f /]#
[root@b7424d27ae0f /]#
[root@b7424d27ae0f /]# 容器内的 home 文件夹
[root@b7424d27ae0f /]# cd /home
[root@b7424d27ae0f home]# ls
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#
# 切到宿主机上,/root/artisan目录
[root@VM-0-7-centos ~]# cd /root/artisan/
[root@VM-0-7-centos artisan]# ll
total 0
[root@VM-0-7-centos artisan]#
[root@VM-0-7-centos artisan]# touch artisan.log
[root@VM-0-7-centos artisan]#
# 切到容器内,切到映射的/home目录下 ,发现已经同步了
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]# ls
artisan.log
[root@b7424d27ae0f home]#
[root@b7424d27ae0f home]#
现在,在容器内的 home 文件夹下面创建一个artisan.log文件 ,然后在主机的/root/artisan文件夹下面查看一下是否有artisan.log文件, 容器内的数据与主机实现了同步。
容器内创建个文件,宿主机目录下也有相同的文件
以上是关于Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步的主要内容,如果未能解决你的问题,请参考以下文章
Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
Docker Review - 图形化工具 Portainer
Docker Review - docker 容器 常用命令