zoukankan      html  css  js  c++  java
  • docker容器数据卷

    docker容器数据卷

    1. docker容器数据卷作用

    docker当把容器删除后,那么该容器中的数据就会丢失,前面可以使用命令 docker cp命令,将数据复制到宿主机中,当时这不是长久之道,容器数据卷的作用就好比好比redis的aof等,用于数据持久化,以及用于容器间的数据共享等作用

    2. 添加数据卷的两种方式

    2.1 使用命令添加

    2.1.1 命令

    docker run -it -v 宿主机目录:容器中目录 镜像名
    

    以centeros7为例,docker run -it -v /usr/lonely:/usr/lonely centos

    使用该命令,可以在容器中创建 /usr/lonely 目录,与宿主机的 /usr/lonely绑定,实现数据共享

    2.1.2 如何查看是否实现绑定(挂载)

    可以在宿主机中,使用以下命令

    docker inspect 容器id
    

    在展示的信息中,可以明显的看到挂在bing,并且可以看到权限是 RW:true,表示可读写

    2.1.3 当容器退出后,修改宿主机,再次启动容器后会实现同步吗?

    这个可以先退出容器后,在绑定目录修改或者新建文件,然后再次进入容器,查看是否同步,经过测试,发现结果如下:

    即使容器退出,修改宿主机后,再次登入会显示最新同步后的数据信息,即会实现同步
    

    2.1.4 如何实现权限控制

    正常通过以上命令进行添加数据卷,默认权限是 RW:true,即可读写,可以使用以下命令,可以容器数据卷只可以读,即read only

    docker run -it -v 宿主机目录:容器中目录:ro 镜像名
    

    ro:表示 read only , 配置后可以在容器中挂载目录下添加文件试试,会提示该目录为只读。

    2.2 使用DockerFile添加

    2.2.1 操作步骤

    1. 在宿主机上新建一个目录

      mkdir mydockerfile
      

      在宿主机上

    2. 进入目录,新建Dockfile文件,并编辑它

      cd mydockerfile
      
      vim Dockfile
      

      Dockfile文件内容如下:

      FROM centos
      VOLUME ["/test_dockfile_container"]
      CMD echo "lonely --success"
      CMD "/bin/bash"
      

      保存退出

    3. 使用命令docker build 打包构建新镜像

      docker build -f dockerfile文件目录 -t 镜像名以及版本号 .
      最后面有一个 . 表示在当前目录下,用法例如:
      	docker build -f /mydockerfile/Dockerfile -t lonely/mydockerfile .
      

      -f :表示Dockfile文件目录

      -t:表示镜像名以及版本号

      最后的 . :表示使用当前目录的Dockfile文件进行构建

    4. 构建完成后,使用 docker images 查看刚刚生成的镜像

    2.2.2 验证是否构建成功

    1. 运行刚刚创建的镜像

      docker run -it 镜像名
      
    2. 进入容器后,查看是否存在Dockerfile文件中的 VOLUME对应的文件夹

    3. 那么对应宿主机目录上那个呢?

      1. 进入宿主机中,使用命令 docker inspect 查看绑定的 宿主机目录
      2. 去查看生成的宿主机挂载目录中 添加一个文件来测试是否挂载成功
  • 相关阅读:
    python基础--文件操作实现全文或单行替换
    python基础7--集合
    python读写json文件
    python基础6--目录结构
    python基础5--模块
    Ubuntu的一些常用快捷键
    ubuntu dpkg 命令详解
    linux(Ubuntu)安装QQ2013
    fcitx-sogoupinyin下载地址和安装
    Ubuntu下装QQ2014
  • 原文地址:https://www.cnblogs.com/duguxiaobiao/p/10465629.html
Copyright © 2011-2022 走看看