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

    数据卷的特点:

    1. 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中

    2. 数据卷可以在容器之间共享和重用

    3. 可以对数据卷里的内容直接进行修改

    4.数据郑的变化不会影响镜像的更新

    5. 卷会一直存在,即使挂载数据卷的容器已经被删除。

    在宿主机创建卷(下面命令中 nginx-vol 为自定义的数据卷的名称)

    docker volume create nginx-vol

        创建的数据卷的位置是: /var/lib/docker/volumes

    查看卷

    docker volume ls
    docker volume inspect nginx-vol

    用卷创建一个容器

    docker run -d -it --name nginx-test -p 8080:80 --mount src=nginx-vol,dst=/usr/shar/nginx/html nginx

    另外一种为容器添加数据卷的方式:

    docker run -it -v <宿主机的目录>:<docker容器中的目录> <镜像名> <命令> 如:

    docker run -it -v ~/dataVolumn:/data ubuntu /bin/bash

    这样我们在容器的 ./data 目录下创建新文件后,在宿主机的 ~/dataVolumn 目录下就能看见相应的文件。所以这个命令也就是把宿主机的目录和容器里的目录做了一个映射。

    数据卷容器 -- 某个挂载了数据卷的容器。别的容器启动时挂载到数据卷容器上,可以实现多个容器共享数据。

    如: 启动一个挂载了数据卷的容器,并取一个名字    docker run -it -v ~/dataVolumn:/data --name dv1  ubuntu /bin/bash

    启动另外一个容器,并挂载刚才的数据卷容器:  docker run -it --name dv2 --volumes-from dv1 ubuntu /bin/bash

    这样,在dv2 这个容器中就可以看到 dv1 里的数据。

  • 相关阅读:
    leetcode 47 Permutations II ----- java
    leetcode 46 Permutations ----- java
    leetcode 45 Jump Game II ---- java
    leetcode 44 Wildcard Matching ----java
    leetcode 43 Multiply Strings ----java
    leetcode 42 Trapping Rain Water ---java
    leetcode 41 First Missing Positive ---java
    leetcode 40 Combination Sum II --- java
    leetcode 39 Combination Sum --- java
    java 上下文切换
  • 原文地址:https://www.cnblogs.com/langfanyun/p/9574947.html
Copyright © 2011-2022 走看看