Docker: 数据管理

218 阅读1分钟

数据卷

  1. 数据卷 是一个可提供一个或多个容器使用的特殊目录

    • 数据卷可以在容器之间共享和重用
    • 对数据卷的修改会立马生效
    • 对数据卷的更新, 不会影响镜像
    • 数据卷会一直存在, 即使容器被删除
  2. 创建一个数据卷

    docker volume create my-vol
    
  3. 查看所有的数据卷

    docker volume ls
    
  4. 查看指定数据卷的信息

    docker volume inspect my-vol
    
    # 内容
    [
        {
            "Driver": "local",
            "Labels": {},
            "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
            "Name": "my-vol",
            "Options": {},
            "Scope": "local"
        }
    ]
    
    
  5. 启动一个挂载数据卷的容器

    # 在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里。在一次 docker run 中可以挂载多个 数据卷。
    
    下面创建一个名为 web 的容器,并加载一个 数据卷 到容器的 /webapp 目录。
    
    docker run -d -P \
        --name web \
        # -v my-vol:/wepapp \
        --mount source=my-vol,target=/webapp \
        training/webapp \
        python app.py
    
  6. 删除数据卷

    docker volume rm my-vol
    

挂载主机目录

  1. 使用 --mount 标记可以指定挂载本地主机的目录到容器中

    docker run -d -P \
        --name web \
        # -v /src/webapp:/opt/webapp \
        --mount type=bind,source=/src/webapp,target=/opt/webapp \
        training/webapp \
        python app.py