docker数据卷管理-06

一、添加一块硬盘

1.1、添加一块50G硬盘,并挂载分区到/data目录

fdisk /dev/sdb

 

n

 

w

partprobe

#格式化

mkfs.ext4 /dev/sdb1

#创建挂载点

mkdir -p /data

#设置开机自动挂载

echo "/dev/sdb1 /data ext4 defaults 0 0" >>/etc/fstab

#挂载

mount -a

#查看分区

[root@docker-node1 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   36G  2.7G   33G   8% /
devtmpfs                 2.0G     0  2.0G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /dev/shm
tmpfs                    2.0G  8.7M  2.0G   1% /run
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1                497M  107M  391M  22% /boot
tmpfs                    394M     0  394M   0% /run/user/0
/dev/sdb1                 50G   53M   47G   1% /data

[root@docker-node1 ~]# cd /data/

[root@docker-node1 data]# ll
total 16
-rw-r--r--. 1 root root     0 Jun 21 06:28 10.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 1.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 2.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 3.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 4.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 5.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 6.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 7.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 8.jpg
-rw-r--r--. 1 root root     0 Jun 21 06:28 9.jpg
drwx------. 2 root root 16384 Jun 21 06:26 lost+found

1.2、数据卷,在容器中挂载方法 

参数加:-v 

[root@docker-node1 ~]# docker run -it --name node --rm -v /data centos bash

[root@a11e983acd0d /]# cd  

[root@a11e983acd0d ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
overlay                   36G  2.7G   33G   8% /
tmpfs                    2.0G     0  2.0G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root   36G  2.7G   33G   8% /data
shm                       64M     0   64M   0% /dev/shm
tmpfs                    2.0G     0  2.0G   0% /proc/scsi
tmpfs                    2.0G     0  2.0G   0% /sys/firmware

[root@a11e983acd0d ~]# cd /data/

[root@a11e983acd0d data]# touch {1..10}.png

[root@a11e983acd0d data]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 20 22:51 1.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 10.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 2.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 3.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 4.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 5.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 6.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 7.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 8.png
-rw-r--r--. 1 root root 0 Jun 20 22:51 9.png

1.3、挂载opt目录下的docker_test文件 (备注:用法:挂载一些不容易修改的文件)

#创建一个docker_test文件
[root@docker-node1 ~]# cd /opt/
[root@docker-node1 opt]# touch docker_test

#挂载这个文件
[root@docker-node1 opt]# docker run -it --name node --rm -v /opt:/opt/ centos bash
[root@229423b9bc34 /]# cd /opt/
[root@229423b9bc34 opt]# ls
docker_test

1.4、挂载宿主机的/etc/hosts文件

[root@docker-node1 opt]# docker run -it --name node --rm -v /etc/hosts:/opt/hosts/ centos bash
[root@26c10964d88c /]# cd /opt/
[root@26c10964d88c opt]# ls
hosts
[root@26c10964d88c opt]# cat hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

1.5、挂载宿主机的/etc/hosts文件,并设置为只读,加:ro 参数

[root@docker-node1 opt]# docker run -it --name node --rm -v /etc/hosts:/opt/hosts:ro centos bash

[root@3c1c9122beda /]# cd /opt/     
[root@3c1c9122beda opt]# ll
total 4
-rw-r--r--. 1 root root 158 Jun  7  2013 hosts

#被设置为只读
[root@3c1c9122beda opt]# echo "1111" >> hosts
bash: hosts: Read-only file system

1.6、数据卷管理

[root@docker-node1 ~]# docker run -it --name node -v /opt/:/opt/ centos bash
[root@ee1d235d161f /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
overlay                   36G  2.6G   34G   8% /
tmpfs                    2.0G     0  2.0G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root   36G  2.6G   34G   8% /opt
shm                       64M     0   64M   0% /dev/shm
tmpfs                    2.0G     0  2.0G   0% /proc/scsi
tmpfs                    2.0G     0  2.0G   0% /sys/firmware
[root@ee1d235d161f /]# cd
[root@ee1d235d161f ~]# ls
anaconda-ks.cfg

1.7、在容器中,创建过的文件,其它容器也可以使用。

#进入容器,容器必须是启动状态
[root@docker-node1 ~]# docker start node
node

#查看所有状态
[root@docker-node1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                  PORTS               NAMES
ee1d235d161f        centos              "bash"                   3 minutes ago       Up 3 seconds                                node
213fcf70e3c2        nginx               "nginx -g 'daemon ..."   4 days ago          Exited (0) 4 days ago                       web2
787ef1c1ff44        nginx               "nginx -g 'daemon ..."   4 days ago          Exited (0) 4 days ago                       web1

#进入容器
[root@docker-node1 ~]# docker exec -it node bash
[root@ee1d235d161f /]# cd /opt/
[root@ee1d235d161f opt]# ls
docker_test

#新建文件
[root@ee1d235d161f opt]# touch aaa
[root@ee1d235d161f opt]# ls
aaa  docker_test
[root@ee1d235d161f opt]# exit
exit

#再创建一个node1的容器,查看/opt目录,也可以看到上面那个容器,创建的aaa文件。
[root@docker-node1 ~]# docker run -it --name node1 -v /opt/:/opt/ centos bash
[root@45a19effc812 /]# cd /opt
[root@45a19effc812 opt]# ls
aaa  docker_test
[root@45a19effc812 opt]# exit
exit

1.8、删除方法 (备注:加-v参数)

[root@docker-node1 ~]# docker rm -fv node1
node1
[root@docker-node1 ~]# ls
anaconda-ks.cfg  docker_init.sh

  

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2018-06-20 21:31  努力哥  阅读(120)  评论(0编辑  收藏  举报