docker compose up在重新启动后重建映像
我在开发机器上工作,使用postgres数据库映像,在其中加载了大量数据(加载整个过程大约需要15分钟)。我有一个次映像,作为我的应用程序的一部分从这个数据库读取数据。因为我不打算在将数据加载到数据库中后更改数据库中的任何内容,所以我不希望每次运行docker compose时都重新生成图像。为了避免这种情况,我总是打电话docker compose up在重新启动后重建映像,docker,docker-compose,Docker,Docker Compose,我在开发机器上工作,使用postgres数据库映像,在其中加载了大量数据(加载整个过程大约需要15分钟)。我有一个次映像,作为我的应用程序的一部分从这个数据库读取数据。因为我不打算在将数据加载到数据库中后更改数据库中的任何内容,所以我不希望每次运行docker compose时都重新生成图像。为了避免这种情况,我总是打电话 docker compose build my\u flask docker编写 但似乎在我重新启动计算机后,调用docker compose up决定无论如何重建postg
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
)你是否将数据加载到容器或图像中?你能看到正在生成的图像的输出吗?请解释一下为什么?我会尝试一下。请自己尝试解决方案。