下面就给您详细讲解一下 Docker 容器中数据卷 volumes 的使用攻略。
数据卷 volumes 介绍
Docker 中的数据卷 volumes 是用于将主机文件系统中的目录或文件挂载到容器中的一种方法。在容器中使用 volumes 可以方便地将容器生成的数据,例如日志文件、数据库文件等持久化到主机上,如此一来,容器本身就不再担任数据的存储管理任务,而只需要专注于负责容器应该担任的任务了。
使用 volumes 创建容器
在创建容器时使用 -v
选项就可以将一个目录或文件挂载为容器中的 volumes。
例如,我们要创建一个名为 web
的 CentOS 容器,并将主机的 ~/site
目录挂载到容器的 /usr/share/nginx/html
目录上,执行命令如下:
$ docker run -itd --name web -v ~/site:/usr/share/nginx/html centos /bin/bash
执行上述命令后,容器就会被创建出来,并且 ~/site
目录也被挂载到了 /usr/share/nginx/html
目录上。
查看 volumes
想要查看容器中已创建的 volumes 可以使用 docker inspect
命令。例如,我们想查看名为 web
的容器中已挂载的 volumes,执行下面的命令即可:
$ docker inspect -f '{{json .Mounts}}' web
执行上述命令后,就可以看到该容器中挂载的 volumes 以 JSON 格式进行展示。
示例说明
挂载 MySQL 数据库目录到主机
假设我们有一份 MySQL 数据库数据存储在容器的 /var/lib/mysql
目录上。为了保证数据的持久化,我们应该将该目录挂载到主机上。
使用如下命令即可将 /path/to/mysql
目录挂载到容器 /var/lib/mysql
目录上:
$ docker run -d --name mysql -v /path/to/mysql:/var/lib/mysql mysql
使用如下命令即可查看 volumes 的挂载情况:
$ docker inspect -f '{{json .Mounts}}' mysql
挂载 Nginx 日志目录到主机
假设我们有一份 Nginx 日志需要进行持久化存储。为了实现这个功能,我们可以将容器中的 /var/log/nginx
目录挂载到主机的 /path/to/logs
目录上。
使用如下命令即可将 /path/to/logs
目录挂载到容器 /var/log/nginx
目录上:
$ docker run -d --name nginx -v /path/to/logs:/var/log/nginx nginx
使用如下命令即可查看 volumes 的挂载情况:
$ docker inspect -f '{{json .Mounts}}' nginx
好了,以上就是 Docker 容器中数据卷 volumes 的使用攻略的全部内容了。希望能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker容器中数据卷volumes的使用 - Python技术站