Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Dockerfile不';如果入口点为';没有完成_Postgresql_Docker_Cmd_Dockerfile_Docker Entrypoint - Fatal编程技术网

Postgresql Dockerfile不';如果入口点为';没有完成

Postgresql Dockerfile不';如果入口点为';没有完成,postgresql,docker,cmd,dockerfile,docker-entrypoint,Postgresql,Docker,Cmd,Dockerfile,Docker Entrypoint,我正在尝试运行一个运行PostgreSQL的Dockerfile,然后向其中添加一些表 这是我的Dockerfile: FROM postgres:9.6 MAINTAINER agomez@ikerlan.es USER postgres ADD ./backup.sql /backup.sql ADD ./deploy/import_database.sh /import_database.sh USER root RUN chmod +x /import_database.sh U

我正在尝试运行一个运行PostgreSQL的Dockerfile,然后向其中添加一些表

这是我的Dockerfile:

FROM postgres:9.6

MAINTAINER agomez@ikerlan.es

USER postgres
ADD ./backup.sql /backup.sql
ADD ./deploy/import_database.sh /import_database.sh

USER root
RUN chmod +x /import_database.sh

USER postgres

ENTRYPOINT ./docker-entrypoint.sh postgres
CMD ./import_database.sh
入口点没有完成,因为它运行postgres服务器。 例如,在运行入口点20秒后,但没有完成入口点,如何运行CMD


可能吗?

这不是
CMD
ENTRYPOINT
的工作方式。我建议阅读并查看图表,以便更好地了解
入口点
CMD
是如何相互作用的

也就是说,如果您只想在运行时导入一个SQL文件或运行一个脚本,那么官方的PostgreSQL映像已经涵盖了您。有关如何执行此操作的信息,请参阅

对于
Dockerfile
(如果您只想导入SQL文件)的示例是执行以下操作:

FROM postgres:9.6
ADD ./backup.sql /docker-entrypoint-initdb.d/backup.sql

当从此
Dockerfile
上的映像构建启动容器时,默认的
ENTRYPOINT
脚本将启动一个临时PostgreSQL实例,等待它准备就绪,导入数据,然后重新启动以提供连接。

这不是
CMD
ENTRYPOINT
的工作方式。我建议阅读并查看图表,以便更好地了解
入口点
CMD
是如何相互作用的

也就是说,如果您只想在运行时导入一个SQL文件或运行一个脚本,那么官方的PostgreSQL映像已经涵盖了您。有关如何执行此操作的信息,请参阅

对于
Dockerfile
(如果您只想导入SQL文件)的示例是执行以下操作:

FROM postgres:9.6
ADD ./backup.sql /docker-entrypoint-initdb.d/backup.sql

从该
Dockerfile
上的映像生成启动容器时,默认的
ENTRYPOINT
脚本将启动一个临时PostgreSQL实例,等待它准备就绪,导入数据,然后重新启动以提供连接。

真的谢谢!!它非常适合我:),我会读到
CMD
ENTRYPOINT
是如何一起工作的。真的谢谢!!它非常适合我:),我会读到
CMD
ENTRYPOINT
是如何协同工作的。