Постоянные тома postgres на разных компьютерах Windows - PullRequest
0 голосов
/ 29 мая 2019

Я хочу разработать Django-cookiecutter с приложением Docker локально на моем ноутбуке (работа) и моем ПК (дома), которые оба Windows. Я хотел бы, чтобы база данных postgres была перенесена, когда я перемещаюсь назад и вперед между ними (я сохраняю проект на USB-ключ). Я считаю, что мне нужно привязать его, но у меня проблемы с этим. Я, очевидно, не профессиональный программист, поэтому я ценю ваше терпение и ответы с более подробной информацией. Также обратите внимание, что путь к файлу на обоих компьютерах будет одинаковым, поскольку имя пользователя на обоих компьютерах одинаковое. Я не уверен, поможет ли это вообще.

Я попытался изменить громкость в local.yml с:

local_postgres_data:/var/lib/postgresql/data

до:

./local_postgres_data:/var/lib/postgresql/data

но поскольку я нахожусь на окнах, это не работает. Я также пытался создать контейнер postgres в докере cli, но я не могу получить том, чтобы указать, где я хочу, чтобы он находился в каталоге моего проекта. Я прошел докерский курс по uDemy и многому научился, но все еще не могу заставить его работать.

Файл docker-compose local.yml:

version: '3'

volumes:
  local_postgres_data:
    external: true
  local_postgres_data_backups: {}

services:
  django:
    build:
      context: .
      dockerfile: ./compose/local/django/Dockerfile
    image: projname_local_django
    depends_on:
      - postgres
    volumes:
      - .:/a
    env_file:
      - ./.envs/.local/.django
      - ./.envs/.local/.postgres
    ports:
      - "8000:8000"
    command: /start

  postgres:
    build:
      context: .
      dockerfile: ./compose/production/postgres/Dockerfile
    image: projname_production_postgres
    volumes:
      - local_postgres_data:/var/lib/postgresql/data
      - local_postgres_data_backups:/backups
    env_file:
      - ./.envs/.local/.postgres

  node:
    build:
      context: .
      dockerfile: ./compose/local/node/Dockerfile
    image: projname_local_node
    depends_on:
      - django
    volumes:
      - .:/app
      # http://jdlm.info/articles/2016/03/06/lessons-building-node-app-docker.html
      - /app/node_modules
    command: npm run dev
    ports:
      - "3000:3000"
      # Expose browsersync UI: https://www.browsersync.io/docs/options/#option-ui
      - "3001:3001"

Я думаю, что я должен ожидать увидеть что-то в папке local_postgres_data в моей основной папке проекта django, но никогда ничего там не вижу.

Как сохранить базу данных postgres в папке проекта на одном компьютере, а затем загрузить ее на другой компьютер, чтобы узнать, где я остановился?

Заранее спасибо!

...