docker--数据卷与数据卷容器

1、数据卷:

创建一个volumes的文件夹:

[root@docker01 /]# mkdir volumes

[root@docker01 /]# ls

bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volumes

创建一个名为vol的容器,并将容器的/opt目录挂载到本地的/volumes文件夹下。(-v参数可以在容器中创建一个数据卷)

[root@docker01 /]# docker run -it --name vol -v /volumes:/opt docker.io/centos /bin/bash

[root@d49b2d5408e3 /]# cd /opt

[root@d49b2d5408e3 opt]# ls

在容器的/opt目录中创建一个名为date_vol的文件夹。

[root@d49b2d5408e3 opt]# mkdir date_vol

[root@d49b2d5408e3 opt]# ls

date_vol

[root@d49b2d5408e3 opt]#

在本地系统中查看/volumes文件夹下是否有date_vol文件夹:

[root@docker01 /]# cd volumes/

[root@docker01 volumes]# ls

date_vol

[root@docker01 volumes]#

数据卷使容器内的数据直接映射到了本地主机。

2、数据卷容器:

创建一个数据卷容器命名为volumes,并在数据卷中创建一个文件夹为date01

[root@docker01 /]# docker run -it -v /date_vol --name volumes docker.io/centos /bin/bash

[root@7869a30c62e3 /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@7869a30c62e3 /]# cd date_vol/

[root@7869a30c62e3 date_vol]# ls

[root@7869a30c62e3 date_vol]# mkdir date01

[root@7869a30c62e3 date_vol]# ls

date01

[root@7869a30c62e3 date_vol]#

创建一个名为app01的容器,并使用--volumes-form命令挂载数据卷容器volume的date01数据卷,创建一个文件夹名称为app01。

[root@docker01 /]# docker run -it --name app01 --volumes-from volumes docker.io/centos /bin/bash

[root@04042b20bdbe /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@04042b20bdbe /]# cd date_vol/

[root@04042b20bdbe date_vol]# ls

date01

[root@04042b20bdbe date_vol]# mkdir app01

[root@04042b20bdbe date_vol]# ls

app01  date01

创建一个名为app02的容器,并使用--volumes-form命令挂载数据卷容器volume的date01数据卷,创建一个文件夹名称为app02。

[root@docker01 volumes]# docker run -it --name app02 --volumes-from volumes docker.io/centos /bin/bash

[root@bc087cca62b0 /]# ls

anaconda-post.log  date_vol  etc   lib    lost+found  mnt  proc  run   srv  tmp  var

bin                dev       home  lib64  media       opt  root  sbin  sys  usr

[root@bc087cca62b0 /]# cd date_vol/

[root@bc087cca62b0 date_vol]# ls

app01  date01

[root@bc087cca62b0 date_vol]# mkdir app02

[root@bc087cca62b0 date_vol]# ls

app01  app02  date01

[root@bc087cca62b0 date_vol]#

使用数据卷容器的时候,可以实现多个容器之间共享一些持续更新的数据。

docker--数据卷与数据卷容器的更多相关文章

  1. 聊聊Docker数据卷和数据卷容器

    当程序在容器运行的时候,特别是需要与其他容器中的程序或容器外部程序进行沟通交流,这时需要进行数据交换,作为常用的两种沟通数据的方式,网络通信与文件读写是需要提供给程序的支持, [数据卷] 文件是数据持 ...

  2. Docker 数据卷和数据卷容器

    1.本节课主要讲解如何在Docker内部及容器之间管理数据.容器中管理数据主要有两种方式:数据卷(Data volumes)数据卷容器(Data volume containers) 2.数据卷:是一 ...

  3. Docker学习笔记:镜像、容器、数据卷

    核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...

  4. Docker数据卷和数据卷容器

    是什么 数据卷设计的目的,在于数据的永久化,他完全独立于容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制对容器引用的数据卷进行处理.类似我们Redis ...

  5. Docker-数据卷和数据容器卷

    容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 使用-v可以挂载一个本地的目录到容器中作为数据卷. [root ...

  6. Docker 使用指南 (四)—— 数据卷的使用

    一.数据卷的使用 有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据.数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用 ...

  7. Docker:网络及数据卷设置 [四]

    一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...

  8. Docker Kubernetes Volume 本地数据卷

    Docker Kubernetes Volume 本地数据卷 emptyDir 当Pod分配到Node时,首先创建一个空卷,并挂载到Pod中的容器. Pod中的容器可以读取和写入卷中的文件. 当Pod ...

  9. Docker Kubernetes Volume 网络数据卷

    Docker Kubernetes Volume 网络数据卷 由于支持网络数据卷众多 今天只拿nfs作为案例. 支持网络数据卷 nfs iscsi glusterfs awsElasticBlockS ...

随机推荐

  1. fgets()函数以及fputs()函数

    fgets() fgets() 该函数是一个文件操作相关的函数 暂时使用这个函数可以从键盘接收一个字符串,保存到字符数组中 原来接收字符串保存到数组中的方法: char str[50]; 1) sca ...

  2. Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法

    DELIMITER $$ USE `qrsoft_dyj_db`$$ DROP PROCEDURE IF EXISTS `proc_withdraw_approve`$$ CREATE PROCEDU ...

  3. redis-key相关命令

    本篇主要介绍和redis的key进行操作的相关命令. 命令 描述 复杂度 返回值 DEL key [key ...] 删除给定的一个或多个 key .不存在的 key 会被忽略.删除单个列表.集合.有 ...

  4. UART通信

    UART0串口调试过程:1.配置DTS节点 在Z:\rk3399\kernel\arch\arm64\boot\dts\rockchip路径下打开rk3399.dtsi文件,里面已经有UART0相关节 ...

  5. JS解决通过按钮切换图片的问题

    我是JS初学者,本想通过JS解决轮播图的特效,上网看了下:大部分都是JQ解决的,对于初学者的我来说理解上有点困难.于是我自己只做了一个不那么高大上的JS轮播图,下面我简单介绍下我的步骤:在HTML中创 ...

  6. AMD及requireJS

    前面的话 由CommonJS组织提出了许多新的JavaScript架构方案和标准,希望能为前端开发提供统一的指引.AMD规范就是其中比较著名一个,全称是Asynchronous Module Defi ...

  7. Gitlab使用Webhook实现Push代码自动部署

    1.Jenkins 安装完成以后,首先我们在Jenkins中需要安装一下,Gitlab Hook Plugin 插件: 2.插件安装完成我们创建任务,在任务重构建触发器下获取回调URL: 注意: 注意 ...

  8. centos mysql5.7 二进制包安装

    此种方式安装非常简单 cd /usr/local 下载安装包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux- ...

  9. 在CentOS上使用Jexus托管运行 ZKEACMS

    ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上使用Jexus托管运行 ZKEACM ...

  10. java虚拟机内存分配