Docker数据管理

数据卷:

 

在Docker容器内将里面的数据直接写到硬盘上

-v /data

[root@node121 data]# docker run -it --namevolume-test1 -h centos -v /docker/data centos

        -i :让终端保持打开的状态

        -t:启动一个tty

        -h:指定主机名

        -v:使用数据卷

           

 

查看docker里面的数据存入目录与宿主机数据目录对应关系表:

[root@node121 data]# docker inspect -f {{.Volumes}}volume-test1

map[/docker/data:/var/lib/docker/volumes/7149e73dd4b158608efdb1bd68eeb42b03b20e3d861ad29d39024fc8cdae5029/_data]

 

docker下写入文件:

[root@centos /]# cd docker/data/

[root@centos data]# ls

rscpass.dock

[root@centos data]# pwd

/docker/data

[root@centos data]# >hehe

[root@centos data]# ls

hehe rscpass.dock

 

对应物理机的目录:

[root@node121 _data]# pwd

/var/lib/docker/volumes/7149e73dd4b158608efdb1bd68eeb42b03b20e3d861ad29d39024fc8cdae5029/_data

[root@node121 _data]# ls

hehe rscpass.dock

 

将宿主机的目录挂载到docker里面:

-v src:dst

[root@node121 data]# docker run -it --namevolume-test1 -h centos -v /opt:/opt  centos

-v /opt:/opt 第一个opt为宿主机的目录,第二个opt为容器的目录

 

宿主机:

[root@node121 opt]# mkdir rscpass

[root@node121 opt]# ls

rh  rscpass

 

docker:

[root@centos opt]# ls

rh  rscpass

 

 

将宿主机的目录挂载到docker里面设置为只读 Docker里面不能写

[root@node121 data]# docker run -it --namevolume-test1 -h centos -v /opt:/opt:ro  centos

 

 

数据卷容器

--volumes--

from

使用一个容器专门用来存数据,其它容器从这个容器里面来记取数据,即使这个容器停机了不影响访问:

[root@node121 ~]# docker run -it --name volume-test4--volumes-from volume-test1 centos

 

在volume-test4上面,可以访问到 volume-test1里面的数据

[root@01996f095ed6 data]# pwd

/docker/data

[root@01996f095ed6 data]# ls

hehe rscpass.dock

 

在volume-test1上面:

[root@centos data]# pwd

/docker/data

[root@centos data]# ls

hehe rscpass.dock

 

 

 

 

 

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS