首页 > 解决方案 > 在 Dockerfile 中启动 postgres

问题描述

当我使用 postgres docker 映像时,我运行

docker run --name mydb -e POSTGRES_PASSWORD=password -d postgres

我看到一个容器正在运行。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                       NAMES
a36b98h8982a        postgres            "docker-entrypoint.s…"   36 minutes ago      Up 36 minutes       5432/tcp                    mydb

所以我制作了我的 Dockerfile,因为我想初始化我的数据库

FROM postgres:latest

COPY pg-setup.sql /docker-entrypoint-initdb.d/

CMD ['postgres']

但是当我使用 Dockerfile 时,容器会立即退出。如何让它像 postgres 图像一样运行?

标签: postgresqldocker

解决方案


如果您的 SQL 文件 pg-setup.sql 没有问题,您可以像这样更改 Dockerfile:

FROM postgres:latest
COPY pg-setup.sql /docker-entrypoint-initdb.d/

再看一个案例。这会很有帮助。


推荐阅读