美文网首页
Docker_镜像分层和数据卷

Docker_镜像分层和数据卷

作者: 魔曦帝天 | 来源:发表于2019-10-15 20:55 被阅读0次
    写时复制

    当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
    所有对容器的改动 - 无论添加、删除、还是修改文件都只会发生在容器层中。只有容器层是可写的,容器层下面的所有镜像层都是只读的。
    只有当需要修改时才复制一份数据,这种特性被称作 Copy-on-Write。可见,容器层保存的是镜像变化的部分,不会对镜像本身进行任何修改。

    这样就解释了我们前面提出的问题:容器层记录对镜像的修改,所有镜像层都是只读的,不会被容器修改,所以镜像可以被多个容器共享

    挂载卷

    docker run -d -p 80:80 -v /data:/usr/share/nginx/html nginx:latest
    容器内站点目录: /usr/share/nginx/html
    
    
    echo 'kulong' >/data/index
    curl 10.0.122.156
    

    设置共享挂载卷

    挂载同一目录
    docker run -d -p 8080:80 -v /data:/usr/share/nginx/html nginx:latest
    

    docker 数据卷管理

    docker volume ls (查看卷列表)
    docker volume create  (创建一个简单卷)
    docker volume create  --name nginx (指定名字)
    docker volume inspect nginx (查看卷路径)
    
    创建 Docker 时挂载卷
    docker run -d -p 9000:80 -v nginx:/usr/share/nginx/html nginx:latest 
    echo 'blog.qf.com' >/var/lib/docker/volumes/nginx/_data/index.html
    # 宿主机测试
    [root@docker01 ~] curl 10.0.0.100:9000
    blog.qf.com
    
    Docker 共享卷挂载
    docker run  -d  -P  --volumes-from 079786c1e297 nginx:latest 
    
    docker run -P (生成随即端口)
    docker run -v (指定挂载卷的对应路径    宿主机文件:容器内的文件    以绝对路径的方式   )
    

    相关文章

      网友评论

          本文标题:Docker_镜像分层和数据卷

          本文链接:https://www.haomeiwen.com/subject/cyfemctx.html