【问题标题】:Docker-Compose scale and persistant data storageDocker-Compose 规模和持久的数据存储
【发布时间】:2018-07-09 20:24:04
【问题描述】:

目前,我正在开发一个使用 postfix 邮件服务器实现自定义 docker 映像的项目。 Docker 将为我们提供向上/向下扩展邮件服务的能力。

我的问题是关于数据存储的。在每个容器实例中,如果可能,我想将 /var/log 的内容写入主机甚至远程主机。正如预期的那样,我当前的 docker-compose 文件缩放实例都使用相同的存储位置。

我要查找的是是否存在动态存储之类的东西。

例如,如果我扩展到 3 个实例,那么我希望在 /var/lib/docker/volumes/MYVOLUME/ 下查看 3 个子目录

以下是我的 docker-compose.yml 文件供参考。

version: '3.2'
services:
  sd-corp:
    build: ./Corporate
    tty: true
    networks:
      corpnet:
    volumes:
      - type: volume
        source: corp
        target: /var/log
        volume:
          nocopy: true
  sd-ent:
    build: ./Entertainment
    tty: true
    networks:
      entnet:
    volumes:
      - type: volume
        source: ent
        target: /var/log
        volume:
          nocopy: true
  sd-soft:
    build: ./Software
    tty: true
    networks:
      softnet:
    volumes:
      - type: volume
        source: soft
        target: /var/log
        volume:
          nocopy: true
networks:
  corpnet:
    driver: bridge
    ipam:
      config:
      - subnet: 10.9.50.0/24
  entnet:
    driver: bridge
    ipam:
      config:
      - subnet: 10.9.51.0/24
  softnet:
    driver: bridge
    ipam:
      config:
      - subnet: 10.9.52.0/24
volumes:
  corp:
  ent:
  soft:

【问题讨论】:

    标签: docker docker-compose dockerfile docker-swarm


    【解决方案1】:

    这些只是标准的系统日志文件吗?他们不应该记录到文件,他们应该很多到 STDOUT 并让 docker handle them with a logging driver,这是处理容器日志的一种更简单的方法。

    Here's how the official Nginx image does it,通过将日志符号链接到 stdout/stderr。

    【讨论】:

    • 基本上 logrotate 被用来生成 /var/log/mail.log
    • 感谢您的帮助,希望今天实施。
    猜你喜欢
    • 2021-01-15
    • 2017-06-06
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多