docker学习笔记03-持久化存储

1.docker架构

2.docker持续化存储-数据卷

//以后台方式运行容器 (推荐)
docker run -d -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]

执行下面命令
docker run -p 1122:3306 --name mysql99 \
-v /app/mydata99/mysql/log:/var/log/mysql \
-v /app/mydata99/mysql/data:/var/lib/mysql \
-v /app/mydata99/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7


  -v:指定挂载主机目录/文件 到容器目录/文件 上,即挂载容器数据卷,可以使用多个-v做多个目录或文件映射,默认为rw读写模式ro表示只读。 

        容器被删除,容器中的数据也随之被删除。
        于是便产生了需求:容器中的数据持久化
        容器之间 有一个数据共享技术,将docker 中产生的 数据 同步到本地。这就是 卷技术,将容器的内目录挂载到 本地,也就是Linux 服务器上。-v参数 

           如下如,我在本地加一个文件,进入容器里查看也是有的,再删除容器,发现本地的文件还是在的,嗯,大概了解意思了

 

所有为指定具体位置的卷 都会在/app/docker/volumes/xxxx(默认 /var/lib/docker/volumes/xxxx )下的位置。

//平时使用的时候 尽量使用 指定路径挂载和 具名挂载,
-v /容器内路径                                 匿名挂载
-v 卷名:/容器内路径                         具名挂载


-v /宿主机路径:/容器内路径             指定路径挂载

docker inspect 容器id ,挂在完成的这样哦

 

3 持久化的两种方式

(volume和volume container)

Docker 持久化数据包含两个方式:

        一个是直接在运行的容器中直接创建volume

        另一个是创建一个存储内外部映射关系的路径,然后其它容器使用-volumes-from进行引用,这种情况主要用于多个容器共享一组数据的情况。

volume

        前面说的匿名和具名、指定路径

volume container

        第二种创建持久化数据的方式为创建一个专门用于存储数据的容器,该容器管理持久化存储。其它容器对该容器进行引用,实现对于持久化数据的共享。

        例如:创建一个/mnt为持久化路径的数据卷容器

docker create -v /mnt \
data_volume_container ubuntu

        创建一个容器,引用该数据卷容器

docker run -t -i --volumes-from\
data_volume_container ubuntu /bin/bash

        此时,第二个容器如果写入到/mnt,实际上写入的是第一个容器的/mnt下,也就是第一个容器/mnt映射的“母机”的路径下。

4 删除容器

删除容器时,同时删除volume

docker rm -v container-name

由于删除容器时如果不使用-v参数,往往容器会保留volume,此时如果这些volume没有任何引用的容器,就处于一个dangling的状态,下面的指令就用于删除这些卷。

1.docker volume ls -f dangling=true
2.docker volume rm <volume name>

相关推荐

  1. 如何实现Docker容器数据的持久存储

    2023-12-29 14:06:03       13 阅读
  2. 持久存储 StorageClass

    2023-12-29 14:06:03       32 阅读
  3. 项目四 完成学生信息的持久存储

    2023-12-29 14:06:03       21 阅读
  4. vuex实现持久存储

    2023-12-29 14:06:03       48 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-29 14:06:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-29 14:06:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-29 14:06:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-29 14:06:03       20 阅读

热门阅读

  1. Docker Harbor私有镜像image仓库安装

    2023-12-29 14:06:03       40 阅读
  2. 出版实务 | 工具书

    2023-12-29 14:06:03       32 阅读
  3. C练习——一元二次方程求解

    2023-12-29 14:06:03       38 阅读
  4. 当 ML 遇到 DevOps:如何理解 MLOps

    2023-12-29 14:06:03       36 阅读
  5. js获取文件夹中的所有文件和子文件夹

    2023-12-29 14:06:03       30 阅读
  6. linux shell脚本分享!一个系统信息查询的工具箱

    2023-12-29 14:06:03       39 阅读
  7. C++基础普及:如何学好常用的数据结构

    2023-12-29 14:06:03       47 阅读
  8. (C)一些题19

    2023-12-29 14:06:03       28 阅读
  9. python字符串编码解码基础知识

    2023-12-29 14:06:03       36 阅读
  10. 矩阵的转置

    2023-12-29 14:06:03       29 阅读
  11. bash 变量作用域

    2023-12-29 14:06:03       33 阅读