docker数据管理2

3. 定义数据卷容器: 只是为了共享数据


docker run -itd -v /data/  --name centeos_testv centos  bash

/data/ 就是虚拟机内的目录,和宿主机没有任何关系


--name centeos_testv 容器名字


docker:/root# docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
192.168.32.150:5000/zjzc_centos6.5_template   latest              f01c69d919d1        2 days ago          975.4 MB


docker:/root# docker run -itd -v /data/  --name centeos_test02 192.168.32.150:5000/zjzc_centos6.5_template   bash
623d933a9f3b42415f9d56bbc214860868895926b3a62092225076321aee1d97

docker:/root# docker run -itd -v /data/  --name centeos_test02 192.168.32.150:5000/zjzc_centos6.5_template   bash
Error response from daemon: Conflict. The name "centeos_test02" is already in use by container 623d933a9f3b. You have to delete (or rename) that container to be able to reuse that name.

不能创建同名的容器:

docker:/root# docker ps
CONTAINER ID        IMAGE                                                COMMAND             CREATED             STATUS              PORTS               NAMES
623d933a9f3b        192.168.32.150:5000/zjzc_centos6.5_template          "bash"              29 seconds ago      Up 29 seconds                           centeos_test02      
77bb193db651        192.168.32.150:5000/zjzc_centos6.5_template:latest   "bash"              8 minutes ago       Up 8 minutes                            test01              
docker:/root# docker exec -it 623d933a9f3b bash
bash-4.1# df -h
Filesystem            Size  Used Avail Use% Mounted on
rootfs                9.9G  955M  8.5G  10% /
/dev/mapper/docker-253:0-131547-623d933a9f3b42415f9d56bbc214860868895926b3a62092225076321aee1d97
                      9.9G  955M  8.5G  10% /
tmpfs                 3.9G     0  3.9G   0% /dev
shm                    64M     0   64M   0% /dev/shm
/dev/mapper/vg00-lv_root
                      490G  3.6G  462G   1% /data



虚拟机里的data:

bash-4.1# ls -ltr
total 0
-rw-r--r-- 1 root root 0 Mar 21 02:43 b.txt
bash-4.1# 


宿主机里的data:
docker:/data# ls -ltr
total 4
-rw-r--r-- 1 root root 12 Mar 21 10:42 aa
-rw-r--r-- 1 root root  0 Mar 21 10:43 b.tx

 -v /data/ 指的是容器里的data和宿主机每关系





新的容器使用旧的容器的数据卷:



docker:/root# docker run -itd --name zjzc_z1 --volumes-from zjzc_awp centos bash


docker:/root# docker exec -it 623d933a9f3b bash



docker:/root# docker run -itd -v /data/  --name centeos_test3  --volumes-from  centeos_test02 192.168.32.150:5000/zjzc_centos6.5_template  bash
4c087d518affba00f846c79d3c5b23e3f38018ec9bbd332d473fdde4fab50ef2



--volumes-from  centeos_test02   旧的容器的数据卷


创建新的容器 挂载老的容器的数据卷:


实际应用:



第一个容器使用:
docker run -itd -v /data/:/data1 centos  bash // -v 用来指定挂载目录,

后面的容器使用之前的容器数据卷


docker:/root# mkdir /data
docker:/root# 

1.创建第一个容器:

docker:/root# docker run -itd -v /data/:/data1 192.168.32.150:5000/zjzc_centos6.5_template bash
f63b2633d146844b4b1c6db90e5dbaf8fb3247ca5b85e608919d4bea612255e0


docker:/root# docker ps
CONTAINER ID        IMAGE                                         COMMAND             CREATED              STATUS              PORTS               NAMES
f63b2633d146        192.168.32.150:5000/zjzc_centos6.5_template   "bash"              About a minute ago   Up About a minute                       distracted_perlman   
docker:/root# docker rename distracted_perlman zjtest01
docker:/root# docker ps
CONTAINER ID        IMAGE                                         COMMAND             CREATED              STATUS              PORTS               NAMES
f63b2633d146        192.168.32.150:5000/zjzc_centos6.5_template   "bash"              About a minute ago   Up About a minute                       zjtest01   


2.后面创建的容器使用第一个容器的数据卷:

docker:/root#  docker run -itd -v /data1  --name zjtest02  --volumes-from  zjtest01  192.168.32.150:5000/zjzc_centos6.5_template  bash
8c47da09300ffc1d180746055586b2a1932fa011b398ec5e0a50ff05a6289c1c


docker:/root# docker exec -it 8c47da09300f bash
bash-4.1# cd /data1
bash-4.1# ls
1  2  3  4  a  b  c










原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6200297.html