![]() |
1
1
docker-compose run 是针对这类问题设计的。将其与-rm标志配对,以便在命令完成时删除容器。常见的例子是执行您试图完成的那种迁移和初始化。 这是docker compose run命令手册页面的右侧:
您可以将其视为一种一次性容器,只执行一项任务,然后退出。此技术也可用于带有cron的计划作业。 |
![]() |
2
1
Django文档对
Providing initial data for models
就是把它写成一个
data migration
. 这将在运行时自动加载数据
这样,当应用程序启动时,就可以减少需要运行迁移的问题。您可以编写一个shell脚本,首先运行迁移,然后运行其他一些作为参数传递的命令:
这正是一份工作所需的表格
Docker
(如果您已经有一个入口点包装器脚本,请在那里添加迁移行。如果Dockerfile以某种方式拆分
完成此操作后,容器将在启动时自行运行迁移。如果这是容器第一次运行,它还将加载种子数据。你不需要任何人工干预。 |