gpt4 book ai didi

Docker Compose 相对路径与 Docker 卷

转载 作者:行者123 更新时间:2023-12-01 22:53:12 66 4
gpt4 key购买 nike

我有一个用于网站的 docker compose 文件,该文件在一堆其他用于各种目的的容器中,包括一个具有持久数据的 mysql 数据库。目前,撰写文件指定数据的相对路径,例如:


mysql:
图片:mysql:5.7
容器名称:sqldb
卷:
- ./mysql_data/_data:/var/lib/mysql

和文件夹结构:

--mysql_data
--static_content
docker -compose.yml

这意味着在任何时候我都可以通过复制整个文件夹并运行 docker-compose up 将整个站点(包括持久化内容)移动到另一台服务器。

但是阅读 docker 卷听起来像是首选方法(加上使用“docker run”似乎不支持相对绑定(bind)安装路径,但在 compose 中工作)所以我想知道是否需要将这种方法更改为使用卷?这种相对绑定(bind)方法是否存在固有的错误?如果我确实切换到卷,在移动容器时是否必须手动移动卷(例如此方法 How to port data-only volumes from one host to another? )?

最佳答案

Docker中数据的持久化
有四种可能的选项可以挂载任何卷:

  • 相对路径
  • 绝对路径
  • Docker 卷默认路径
  • 具有绝对路径的 Docker 卷

  • 这是上面的示例:
    version: '3'
    services:
    sample:
    image: sample
    volumes:
    - ./relative-path-volume:/var/data-two
    - /home/ubuntu/absolute-path-volume:/var/data-one
    - docker-volume-default-path-volume:/var/data-three
    - docker-volume-absolute-path-volume:/var/data-four
    volumes:
    docker-volume-default-path-volume: {}
    docker-volume-absolute-path-volume:
    driver: local
    driver_opts:
    o: bind
    type: none
    device: /home/path/of/your/folder
    相对路径 : ./relative-path-volume:/var/data-two 绝对路径 : /home/ubuntu/absolute-path-volume:/var/data-one Docker 卷默认路径 : docker-volume-default-path-volume:/var/data-three 具有绝对路径的 Docker 卷 : docker-volume-absolute-path-volume:/var/data-four这适用于任何服务器,因为我们将卷设备属性自定义为相应的目录路径。

    关于Docker Compose 相对路径与 Docker 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907558/

    66 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com