gpt4 book ai didi

postgresql - 如何在运行 docker 之前启动 postgres

转载 作者:行者123 更新时间:2023-11-29 11:58:37 27 4
gpt4 key购买 nike

我很不好意思问这个问题,因为它看起来很基础,但不知何故我在文档中找不到答案。

我有一个使用 postgres 的 django 应用程序。在 docker-compose.yaml 中有如下需求:

version: "2"

services:

database:
image: postgres:9.5
environment:
POSTGRES_DB: ${POSTGRES_DATABASE}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DATA: /var/lib/postgresql/data/pgdata

当我运行我的 docker 镜像时:docker run -it --name myapp myimage它不断重复:

The database is not ready.
wait for postgres to start...

我在分离模式下运行 postgres:docker run -it -d postgres:9.5但这并没有帮助

最佳答案

使用 Docker Compose 2.1 语法,您可以指定 healthchecks控制容器启动:

version: '2.1'

services:
application:
depends_on:
database:
condition: service_healthy

查看 https://github.com/docker-library/healthcheck/tree/master/postgres用于构建带有健康检查的 Postgres 的示例 Dockerfile。

关于postgresql - 如何在运行 docker 之前启动 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46664486/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com