这个问题与这个有关: Docker - How can run the psql command in the postgres container?
但是上面提供的解决方案仅在手动操作时有效,而这里希望使用docker-compose自动化操作。
因此,这个Docker容器可以工作:
但是这个 Docker 容器失败了:
因此,这个Docker容器可以工作:
FROM postgres
COPY init.sql /docker-entrypoint-initdb.d/
但是这个 Docker 容器失败了:
FROM postgres
RUN psql -U postgres -c "CREATE USER user WITH PASSWORD 'pass';"
因为在运行时,postgresql服务器尚未启动!
有没有办法克服这个限制?
CMD["postgres"]
命令是自动调用的吗?在哪里插入exec postgres
呢?...能否给出一个示例? - George Pligoropoulosdocker-compose up -d
。所有步骤,包括创建数据库等都应该自动运行。希望这能更清晰地说明问题。 - George Pligoropoulos