Docker Volume:持久化数据以供跨远程主机访问

时间:2018-12-17 14:25:46

标签: docker docker-compose digital-ocean docker-volume

问题

如何跨远程主机访问卷,以便即使实例发生故障,数据也能持久保存?

我的设置

这是使用-

在Digital Ocean小滴上设置的
  • 从cli创建docker计算机
  • eval $(docker-machine env <name_of_machine>)
  • docker-compose -f production.yml build
  • docker-compose -f production.yml up

Docker-Compose文件

我的Postgres服务正在将数据写入两个不同的卷-一个用于数据库,另一个用于备份。

version: '3'

volumes:
  production_postgres_data: {}
  production_postgres_data_backups: {}
  production_caddy: {}

services:

  django: &django
    build:
      context: .
      dockerfile: ./compose/production/django/Dockerfile
    image: mom_production_django
    depends_on:
      - postgres
      - redis
    env_file:
      - ./.envs/.production/.django
      - ./.envs/.production/.postgres
    command: /start

  postgres:
    build:
      context: .
      dockerfile: ./compose/production/postgres/Dockerfile
    image: mom_production_postgres
    volumes:
      - production_postgres_data:/var/lib/postgresql/data
      - production_postgres_data_backups:/backups
    env_file:
      - ./.envs/.production/.postgres

关注

这些体积在该液滴中,我担心的是,如果液滴发生任何变化,这些体积将随之而来。

那么,如何创建一个可以持久保存并在远程主机之间共享的卷,或者在这种情况下,也可以是小滴?

1 个答案:

答案 0 :(得分:0)

您需要添加持久性块存储。有关参考,请参考下面的链接。 add persistence volume support