Docker 容器技术 — 容器存储

目录

容器存储

数据卷管理

核心选项:

  • -v 宿主机目录:指定挂载到容器内的目录。

映射多个宿主机目录,只需要多写几个 -v 即可。

挂载时创建卷

  • 挂载卷:
docker run -d -p 80:80 -v /data:/usr/share/nginx/html nginx:latest
  • 设置共享卷,使用同一个卷启动一个新的容器:
docker run -d -p 8080:80 -v /data:/usr/share/nginx/html nginx:latest 

创建卷后挂载

  • 查看卷列表:
docker volume ls

  • 查看未被容器使用的数据盘
docker volume ls -f dangling=true
  • 创建一个卷:
$ docker volume create 
f3b95f7bd17da220e63d4e70850b8d7fb3e20f8ad02043423a39fdd072b83521

$ docker volume ls 
DRIVER              VOLUME NAME
local               f3b95f7bd17da220e63d4e70850b8d7fb3e20f8ad02043423a39fdd072b83521
  • 查看卷路径:
$ docker volume inspect <volume_name> 
[
    {
        "CreatedAt": "2018-02-01T00:39:25+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/clsn/_data",
        "Name": "clsn",
        "Options": {},
        "Scope": "local"
    }
]
  • 使用卷创建容器:
docker run -d -p 9000:80 -v <volume_name>:/usr/share/nginx/html nginx:latest 
  • 删除卷
docker rm -v <volume_name>

数据容器管理

可以创建一个特殊的容器,来充当数据容器,也就是在创建容器时指定这个容器的数据盘,然后让其他容器可以使用这个数据容器作为他们的数据盘。

  • 创建一个数据容器:
docker create -v /mnt -it --name newnginx docker.io/nginx /bin/bash
  • 利用此数据容器容器运行一个容器
docker run --volumes-from newnginx --name nginx1 -it docker.io/nginx /bin/bash

猜你喜欢

转载自blog.csdn.net/Jmilk/article/details/108900443