12-docker 数据管理

1.docker数据管理分为

a.数据卷 b.数据卷容器

2.数据卷管理,指定docker容器目录,可以是目录,也可以是文件

[root@docker02 ~]# docker run -itd --name node --rm -v /data sunmmi/nginx bash
[root@docker02 ~]# docker run -it --name node2 --rm -v /opt:/opt sunmmi/nginx bash
eee983c6e01cd48f1e66dde62c891f397f0ee8117decc53c7e861c852e2890c0
[root@docker02 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                NAMES
eee983c6e01c        sunmmi/nginx        "bash"              About a minute ago   Up About a minute                        node
f3d9ed0ee34b        sunmmi/nginx        "nginx"             12 minutes ago       Up 12 minutes       0.0.0.0:80->80/tcp   nginx

[root@docker02 ~]# docker exec -it eee983c6e01c sh sh-4.2# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/docker-8:3-100900611-ba4629b65af387edf9aedae3ef1f2460b62d240cf35c67e8fa8edc13eb4d3291 10G 409M 9.6G 4% / tmpfs 64M 0 64M 0% /dev tmpfs 488M 0 488M 0% /sys/fs/cgroup /dev/sda3 20G 3.0G 18G 15% /data shm 64M 0 64M 0% /dev/shm tmpfs 488M 0 488M 0% /proc/scsi tmpfs 488M 0 488M 0% /sys/firmware
# 查看挂载在本地的数据目录 [root@docker02 docker]# docker inspect eee983c6e01c | grep Source "Source": "/var/lib/docker/volumes/920e88f9b9ed6df1d220ddb38de9ede68e10fe089401b5ec121dc5422e186828/_data", # docker数据盘读取宿主机的,docker容器读取本地宿主机的/opt -v挂载数据 [root@docker02 ~]# cd /opt/ [root@docker02 opt]# touch docker_node [root@docker02 opt]# docker run -it --name node2 --rm -v /opt:/opt sunmmi/nginx bash [root@1ea124651b21 /]# cd /opt/ [root@1ea124651b21 opt]# ls centos.tar.gz docker_node # 挂载数据只读 ,数据盘 [root@docker02 opt]# docker run -it --name node2 --rm -v /opt/aa:/opt/aa:ro sunmmi/nginx bash

3.数据卷容器,挂载另一个容器

# 挂载数据只读 ,数据卷容器,应用场景,当某个容器挂了,数据依然在,容器node2的数据来源于node
[root@docker02 opt]# docker run -d --name node -v /data:/data sunmmi/nginx bash
[root@docker02 opt]# docker run -d --name node2 --volumes-from node sunmmi/nginx bash

 

posted @ 2018-03-20 17:17  sunmmi  阅读(172)  评论(0)    收藏  举报