zoukankan      html  css  js  c++  java
  • Docker进阶之七:管理应用程序数据

    管理应用程序数据:Volume

    Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumesbind mountstmpfs
    volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
    bind mounts:可以存储在宿主机系统的任意位置。
    tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。
              

     
    管理卷:

    # docker volume create nginx-vol

    宿主机存储地址:/var/lib/docker/volumes/

    # docker volume ls
    # docker volume inspect nginx-vol

    [
        {
            "CreatedAt": "2019-03-07T13:28:47+08:00",
            "Driver": "local",
            "Labels": {},
            "Mountpoint": "/var/lib/docker/volumes/nginx-vol/_data",
            "Name": "nginx-vol",
            "Options": {},
            "Scope": "local"
        }
    ]

    用卷创建一个容器:(数据卷nginx-vol 相当于 宿主机和容器之间创建一个软连接 容器删除,数据卷还在)

    # docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx

    bind方式创建容器(切记源目录必须存在)

    # docker run -d -it --name=nginx-test1 --mount type=bind,src=/app/www,dst=/usr/share/nginx/html nginx

    适用场景 java项目中打包后 targer/*.war 或者 targer/*.jar  直接挂载到容器中实现项目直接部署
    清理:
    # docker container stop nginx-test

    # docker container rm nginx-test

    # docker volume rm nginx-vol

    删除所有容器:

    # docker rm -f $(docker ps -q -a)

    注意:
    1. 如果没有指定卷,自动创建。

    2. 建议使用—mount,更通用。

    官方文档:https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume
  • 相关阅读:
    windows下用python转换markdown到html
    windows下安装pip和easy_install
    Getting Real 摘记
    使iis支持asp.net扩展
    Linux IO模型
    kdissert:linux下的自由脑图软件
    debian下配置双核cpu
    内核:为了fan的健康,我的重新编译记录
    科研在每个人的生活中
    Donald Ervin Knuth:最年轻的图灵奖高德纳
  • 原文地址:https://www.cnblogs.com/521football/p/10489175.html
Copyright © 2011-2022 走看看