《Netkiller Virtualization 手札》Docker 卷管理

本文节选择《Netkiller Virtualization 手札》Docker 卷管理

1.5. 卷管理

1.5.1. 列出卷

docker volume ls

# docker volume ls
DRIVER              VOLUME NAME
local               dbac41b6de88c75d2932d5949367b17f347f482977d508195375dbc71518ab27			

1.5.2. 创建卷

# docker volume create --name WebVolume1
WebVolume1			
# docker volume ls
DRIVER              VOLUME NAME
local               WebVolume1
local               dbac41b6de88c75d2932d5949367b17f347f482977d508195375dbc71518ab27			

1.5.3. 挂在镜像

# docker run -ti --rm -v WebVolume1:/www ubuntu
# docker run -ti --rm -v WebVolume1:/www docker.io/centos:7			

查看卷的挂载情况

# df | grep /www
/dev/vda1       20510332 7943940  11501484  41% /www			

创建测试文件

			# mkdir -p /www/netkiller.cn/www.netkiller.cn
# echo Helloworld > /www/netkiller.cn/www.netkiller.cn/index.html
# cat /www/netkiller.cn/www.netkiller.cn/index.html
Helloworld
# exit
exit			

1.5.4. 检查卷

# docker volume inspect WebVolume1
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/WebVolume1/_data",
        "Name": "WebVolume1",
        "Options": {},
        "Scope": "local"
    }
]			

1.5.5. 删除卷

# docker volume create AppVolume1
# docker volume rm AppVolume1			

1.5.6. 销毁所有未使用的卷

# docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
WebVolume1
3fd379f8c2cf8727d2e83e84e434ea1f122016957bd7cf78a0f05b6e5a69cf2b
app

Total reclaimed space: 11 B			

1.5.7. 在多个容器间共享卷

容器一

			# docker run -ti --name=Container1 -v DataVolume1:/opt/data ubuntu			

容器二

			# docker run -ti --name=Container2 --volumes-from Container1 ubuntu			

进入容器一中查看数据

			# docker start -ai Container1			

容器三,挂在只读卷

			# docker run -ti --name=Container3 --volumes-from Container2:ro ubuntu						

删除上面三个测试容易和卷

			# docker rm Container1 Container2 Container3
# docker volume rm DataVolume1			

1.5.8. 容器绑定本地文件系统

Bind mount a volume (default [])

			# docker run -it --name mycentos1 -v /www:/tmp/test docker.io/centos:7 /bin/bash

# docker run -d -v ~/logs:/var/log/nginx -p 80:80 -i nginx			

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2017-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始的linux

安装单机hbase

安装jdk 下载hbase wget http://archive.apache.org/dist/hbase/hbase-1.0.0/hbase-1.0.0-...

3565
来自专栏Hadoop实操

如何在Kerberos环境下的CDH集群部署Spark1.6 Thrift及spark-sql客户端

1583
来自专栏Hadoop实操

如何通过CM升级CDK至3.1.0(Kafka-1.0.1)

在前面的文章《如何通过CM升级Kafka0.11及Spark2.2》中Fayson介绍了升级Kafka的方式。本篇文章Fayson主要介绍在CDH中如何升级CD...

1393
来自专栏Hadoop实操

如何通过CM为HDFS启用Federation

本文主要讲述如何通过CM为HDFS启用Federation。如果你对HDFS的Federation不太了解或者想知道Federation能够解决什么问题的话,建...

863
来自专栏挖掘大数据

教程说明:HBase下载、安装与配置

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库,本文将介绍HBase的下载、安装与配置。

2300
来自专栏分布式系统和大数据处理

配置Hadoop集群客户端

在Hadoop和Spark集群搭建好了以后,如果我们需要向集群中发送、获取文件,或者是执行MapReduce、Spark作业,通常是搭建一个外围的、集群的客户端...

1594
来自专栏Hadoop实操

如何使用Hue创建Spark2的Oozie工作流(补充)

目前Oozie 的 SparkAction 仅支持Spark1.6, 而并不支持Spark2, 这是 CDH Spark2已知的局限性(https://www....

7706
来自专栏星汉技术

Hadoop问题:DataNode线程不见了

1956
来自专栏Hadoop实操

如何在Kerberos的Linux上安装及配置Impala的ODBC驱动

Impala提供了多种访问方式如impala-shell、beeline、JDBC以及ODBC等方式,关于beeline、JDBC的连接方式可以参考Fayson...

3795
来自专栏Hadoop实操

如何使用CDSW在CDH集群通过sparklyr提交R的Spark作业

继上一章介绍如何使用R连接Hive与Impala后,Fayson接下来讲讲如何在CDH集群中提交R的Spark作业,Spark自带了R语言的支持,在此就不做介绍...

3516

扫码关注云+社区