如何在Docker Compose中声明Docker卷存在于外部hardrive中

罗博迪斯科

由于本地计算机上的空间限制,我需要确保docker容器将其数据存储在外部硬盘驱动器上。

我正在使用的docker项目有一个docker compose文件,它指定了许多卷,如下所示:

version: "2"
volumes:
  pgdata:
  cache:
services:
  postgres:
    image: "openmaptiles/postgis:${TOOLS_VERSION}"
    volumes:
      - pgdata:/var/lib/postgresql/data

这些卷最终存在于我的本地计算机上。我想将其位置更改为外部驱动器上的某个位置,例如/ Volumes / ExternalDrive / docker /

我该怎么办?

我已经阅读了有关docker-compose的docker文档,但找不到指定卷​​应存在的路径的方法。

如果有人能指出道路,我将不胜感激。

新安德森

您可以使用CLI帮助探索和测试与卷相关的更多功能,然后转置进行撰写。

docker volume create --help

https://docs.docker.com/engine/reference/commandline/volume_create/


请注意,下面的示例可能在Windows上不起作用,因此Windows上的内置本地驱动程序不支持任何选项,但是如果您在Linux上运行docker,则下面的compose文件可以完成此工作:

version: "2"
volumes:
  pgdata:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/path/to/the/external/storage'
  cache:

services:
  postgres:
    image: "openmaptiles/postgis:${TOOLS_VERSION}"
    volumes:
      - pgdata:/var/lib/postgresql/data


您可能还考虑更改docker启动选项,以将其数据存储在您选择的位置。这是一个指南:https : //linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux


另外,如果您更愿意尝试在OS而非docker上解决此问题,则可以尝试在文件系统级别使用一些技巧,以在/ var / lib / docker / volumes /中创建符号链接,以指向您的外部存储设备,但要小心并备份所有内容我个人从未尝试过这样做,但是我认为它对于docker存储驱动程序应该是透明的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Docker Compose中创建Docker卷

在Docker中声明卷

如何在Docker映像中“取消声明”卷?

如何确定卷是否已存在于 OpenShift 3 中?

如何在Docker容器中列出卷?

Docker Compose:卷已声明为外部卷,但找不到

了解Docker Compose中的卷

Docker / Docker-Compose中的NFS卷

检查Docker镜像是否存在于云存储中

如何在Docker Compose中为每个容器创建单独的卷

如何在docker-compose文件中为mongodb附加持久卷?

如何在docker-compose中为当前用户主目录创建卷?

如何在Windows / VirtualBox设置上将./project_dir作为卷挂载在docker-compose中

如何在 Kind 中引用本地卷(docker 中的 kubernetes)

如何在构建时在Docker容器卷中添加文件

如何在Docker 1.9+中列出命名卷的内容?

如何在docker-py中绑定卷?

如何在Docker容器中从主机查找卷文件?

如何在Docker映像中删除配置卷

如何在kubernetes / Docker中更改映射卷的权限

如何在Docker卷中创建到文件的硬链接

如何在 Docker 中创建双向绑定卷?

如何修复未声明的标识符,即使它存在于 ERC721Enumerable 中

如何在Python中检查键是否存在于值中以及键中的值

如何在jquery / javascript中检查数组中的值是否存在于数组中

如何在gitlab-runner容器中运行的docker中的docker中运行docker-compose?

如何更改docker-compose.yml中docker-compose.yml中已安装卷的权限?

docker-compose卷中的类型无效

在 docker-compose.yaml 中定义卷