Mad*_*bat 5 django docker docker-compose
我正在使用docker构建Python + Django开发环境.我在docker-compose.yml中为web服务器(nginx)和数据库(postgres)容器定义了Dockerfile文件和服务,并使用uwsgi运行我们的app.由于这是一个开发环境,我正在从主机系统安装应用程序代码,因此我可以在IDE中轻松编辑它.
我的问题是在哪里/如何运行migrate命令.
如果您不了解Django,则migrate命令会创建数据库结构,然后根据项目的需要对其进行更改.我已经看到人们作为compose命令指令的一部分运行迁移command: python manage.py migrate && uwsgi --ini app.ini,但我不希望迁移在每次容器重启时运行.我只希望它在我创建容器时运行一次,除非我重建,否则永远不会再运行.
我在哪里/怎么做?
编辑:组合团队现在有一个未解决的问题.运气好的话,compose支持一次性命令容器.https://github.com/docker/compose/issues/1896
您无法使用,RUN因为正如您在评论中提到的,您的源是在容器运行期间安装的。
你不能使用CMD其中任何一个,因为您不希望它在每次重新启动容器时都运行。
我建议docker exec在运行容器后手动使用。由于我上面给出的两个原因,我不认为有一种方法可以在 adockerfile或内部自动执行此操作。docker-compose
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |