跨不同Windows计算机的持久postgres卷

时间:2019-05-29 17:17:04

标签: docker-compose cookiecutter-django

我想在我的笔记本电脑(办公电脑)和PC(家庭电脑)(都是Windows)上本地开发带有docker app的Django-cookiecutter。当我在两者之间来回移动时(我将项目保存到USB密钥),我希望Postgres数据库能够传输。我相信我需要绑定安装它,但是在成功完成此过程中遇到了麻烦。我显然不是专业的程序员,因此,我非常感谢您的耐心和回复。还要注意,两台计算机上的文件路径实际上是相同的,因为两者的用户名相同。我不确定这是否有帮助。

我尝试从以下位置更改local.yml中的音量:

local_postgres_data:/var/lib/postgresql/data

收件人:

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

但是因为我在Windows上,所以无法正常工作。我也尝试过在docker cli中创建postgres容器,但是无法在我的项目目录中使该卷指向我想要的位置。我在uDemy上学习了docker课程,学到了很多东西,但是仍然无法正常工作。

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"

我想我应该期望在我的主要django项目文件夹的local_postgres_data文件夹中看到某些东西,但是在那里什么也看不到。

我如何将我的postgres数据库保存到一台计算机上的项目文件夹中,然后将其加载到另一台计算机上,以重新开始我的工作?

提前谢谢!

0 个答案:

没有答案