Docker Volume数据卷 常用命令

2023-01-23  本文已影响0人  Leo_23

Docker Volume数据卷

查看数据卷命令 docker volume --help

Usage:  docker volume COMMAND

Manage volumes

Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused local volumes
  rm          Remove one or more volumes

创建数据卷

docker volume create html

查看已存在数据卷docker volume ls

DRIVER    VOLUME NAME
local     b454567071717a862b64d95791165d89e5d98c03eec23637f31b56d476078461
local     html

查看具体数据卷详情

leo@lijianshundeMacBook-Pro  ~  docker volume inspect html
[
    {
        "CreatedAt": "2023-01-24T12:02:55Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/html/_data", # 挂载点
        "Name": "html",
        "Options": {},
        "Scope": "local"
    }
]

删除数据卷

 leo@lijianshundeMacBook-Pro  ~  docker volume rm html
html

删除未使用的数据卷

 leo@lijianshundeMacBook-Pro  ~  docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
b454567071717a862b64d95791165d89e5d98c03eec23637f31b56d476078461

Total reclaimed space: 101B

数据卷挂载

创建一个nginx容器,修改html目录内的index.html内容,nginx的html目录在/usr/share/nginx/html ,把这个目录挂载在html这个数据卷上,方便操作。使用-v参数挂载卷

创建容器并挂载数据卷到容器内的html目录

leo@lijianshundeMacBook-Pro  ~  docker run --name mynginx -p 80:80 -d -v html:/usr/share/nginx/html nginx:1.23
eb810b3b2914397f5a46672bc35594488808d038275e6355d6357ab792472db2

 leo@lijianshundeMacBook-Pro  ~  docker inspect html
[
    {
        "CreatedAt": "2023-01-24T12:23:09Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/html/_data", #挂载目录
        "Name": "html",
        "Options": null,
        "Scope": "local"
    }
]

结果mac找不到挂载目录,先运行这条命令

docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

然后输入 ls 查看当前路径下目录信息
然后 cd /var/lib/docker/volumes

 leo@lijianshundeMacBook-Pro  ~  cd /var/lib/docker/volumes/html/_data
cd: no such file or directory: /var/lib/docker/volumes/html/_data
 ✘ leo@lijianshundeMacBook-Pro  ~  docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
c345c9e441f5: Downloading
latest: Pulling from library/debian
c345c9e441f5: Pull complete
Digest: sha256:534da5794e770279c889daa891f46f5a530b0c5de8bfbc5e40394a0164d9fa87
Status: Downloaded newer image for debian:latest
/ # ls
bin          etc          lib          proc         srv          var
boot         grpcfuse.ko  media        root         sys
containers   home         mnt          run          tmp
dev          init         opt          sbin         usr
/ # cd /var/lib/docker/volumes
/var/lib/docker/volumes # ls
backingFsBlockDev  html               metadata.db
/var/lib/docker/volumes #

开启mysql服务,并挂载

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7
上一篇 下一篇

猜你喜欢

热点阅读