django - docker-compose 和初始化数据库
问题描述
我有两个 docker 容器,一个 Django 和一个 PostgreSQL。我的问题是,当我第一次运行容器时,包括创建步骤,使用docker-compose up [--force-recreate] --build
Django 实例失败,因为它无法连接到数据库。后续使用docker-compose up
就好了。
在我看来,在 Django 启动之前数据库初始化还没有完成。我正在使用常见的“环境变量”方法来初始化数据库。
在相关的说明中,有没有办法让 Djangomigrate
在第一个 docker 映像创建时也完成?
解决方案
您可以使用像https://github.com/ufoscout/docker-compose-wait/releases/download/2.5.0/wait这样的库
要使用它,请将其放入 Docker Compose 文件的 CMD 部分。像这样:
CMD /wait && <INSERT THE REST OF YOUR EXECUTION COMMAND>
推荐阅读
- javascript - 使用表示大于 Number.MAX_SAFE_INTEGER 的值的字符串调用 parseInt
- python - 如何防止选择第一行作为索引列
- c# - 在 C# 中使用 Enumerable 初始化具有相同值的数组数组
- apache-kafka - Kafka Streams - 我可以对具有相同应用程序 ID 的多个流实例使用相同的状态目录吗
- python - ValueError:检查输入时出错:预期 conv1d_3_input 有 3 个维度,但得到的数组形状为 (1500, 1)
- amazon-ec2 - Apache服务器无法在公共IP地址上工作
- fipy - 如何表示涉及坐标的扩散源?
- google-cloud-platform - GCP 从另一个帐户访问一个帐户的快照以创建 VM 实例
- java - 向 UI 发送参数并使用 Java/Vaadin 更新 UI
- c# - 每次启动场景时制作一个 DontDestroyOnLoad 脚本来运行一个函数