首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-compose up重新启动后重建映像

docker-compose up重新启动后重建映像
EN

Stack Overflow用户
提问于 2019-08-20 15:17:28
回答 1查看 57关注 0票数 0

我在我的开发机器上工作,并使用postgres数据库镜像,我在其中加载了相当大量的数据(加载整个过程需要大约15分钟)。作为我的应用程序的一部分,我有一个次映像从这个数据库读取数据。由于我不打算在将数据加载到数据库中后更改数据库中的任何内容,因此我不希望每次运行docker-compose up时它都重新构建映像。为了避免这种情况,我总是调用

docker-compose build my_flask

docker-compose up

但似乎在我重新启动计算机后,调用docker-compose up决定无论如何都要重建postgres镜像,这迫使我在任何时候重新启动计算机时都要坐下来完成漫长的加载过程。我如何才能阻止这种情况的发生?

docker-compose.yaml:

代码语言:javascript
复制
version: "3"

services:

  postgis:
    image: mdillon/postgis 
    hostname: leni_prototype_postgis
    container_name: leni_prototype_postgis
    environment:
      - POSTGRES_PASSWORD=postgres
    networks:
      - mynetwork
    expose:
      - "5432"
      - "22"
    ports:
      - "5433:5432"
    volumes:
      - ./mnt/pg_init_data:/docker-entrypoint-initdb.d:z
    restart: always

  flask_server:
    build: ./flask/Docker/
    hostname: my_flask
    container_name: my_flask
    networks:
      - my-network
    expose:
      - "5005"
    ports:
      - "5005:5005"
    volumes:
      - ./flask/Docker/app/grass_data:/grass_data
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - postgis
    restart: always

networks:
  my-network:
    driver: bridge
EN

回答 1

Stack Overflow用户

发布于 2019-08-20 15:34:28

如果不希望每次都初始化数据库数据文件夹,则需要持久化该文件夹:

代码语言:javascript
复制
    volumes:
      - ./mnt/pg_init_data:/docker-entrypoint-initdb.d:z
      - ./data:/var/lib/postgresql/data
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57568473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档