我在我的开发机器上工作,并使用postgres数据库镜像,我在其中加载了相当大量的数据(加载整个过程需要大约15分钟)。作为我的应用程序的一部分,我有一个次映像从这个数据库读取数据。由于我不打算在将数据加载到数据库中后更改数据库中的任何内容,因此我不希望每次运行docker-compose up时它都重新构建映像。为了避免这种情况,我总是调用
docker-compose build my_flask
docker-compose up
但似乎在我重新启动计算机后,调用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发布于 2019-08-20 15:34:28
如果不希望每次都初始化数据库数据文件夹,则需要持久化该文件夹:
volumes:
- ./mnt/pg_init_data:/docker-entrypoint-initdb.d:z
- ./data:/var/lib/postgresql/datahttps://stackoverflow.com/questions/57568473
复制相似问题