docker compose up在重新启动后重建映像

docker compose up在重新启动后重建映像,docker,docker-compose,Docker,Docker Compose,我在开发机器上工作,使用postgres数据库映像,在其中加载了大量数据(加载整个过程大约需要15分钟)。我有一个次映像,作为我的应用程序的一部分从这个数据库读取数据。因为我不打算在将数据加载到数据库中后更改数据库中的任何内容,所以我不希望每次运行docker compose时都重新生成图像。为了避免这种情况,我总是打电话 docker compose build my\u flask docker编写 但似乎在我重新启动计算机后,调用docker compose up决定无论如何重建postg

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

docker compose build my\u flask

docker编写

但似乎在我重新启动计算机后,调用
docker compose up
决定无论如何重建postgres映像,迫使我在任何时候重新启动计算机时都要经历漫长的加载过程。我怎样才能阻止这种事情发生

docker-compose.yaml:

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

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

    volumes:
      - ./mnt/pg_init_data:/docker-entrypoint-initdb.d:z
      - ./data:/var/lib/postgresql/data

您如何知道图像正在重建?你怎么知道其他东西没有引起延迟?@7_R3X我可以在终端输出中看到它正在经历插入数据的过程(一个不断滚动的
INSERT 1 0
)你是否将数据加载到容器或图像中?你能看到正在生成的图像的输出吗?请解释一下为什么?我会尝试一下。请自己尝试解决方案。