正如标题所要求的;到--build
的{{1}}和--force-recreate
标志之间有什么区别?
在我看来,这些功能可以做同样的事情,但也许我缺少一些东西。
答案 0 :(得分:4)
如doc中所述,或借助docker-compose up
--build
:在启动容器之前构建映像。
--force-recreate
:即使容器的配置和映像未更改,也要重新创建容器。
--build
很简单,它将在启动容器之前创建docker映像。 --force-recreate
标志将强制停止当前正在运行的容器,并再次旋转所有容器,即使您没有对其配置进行任何更改。因此,如果有任何更改,将在保留卷状态的同时将这些更改收集到新创建的容器中。与此相反的是,--no-recreate
将容器保持在其现有状态,并且不会考虑对配置的相应更改。
希望这会有所帮助。
答案 1 :(得分:0)
--build:
-根据最新更改重建图像(不是容器,就像--force-recreate
一样),通常不会自动更新/构建图像
--force-recreate:
-重新创建容器,这意味着将保留命令历史记录之类的内容以及一些已安装的实用程序,因此,当然,必须停止先前的容器,因此很多时候“不正确地”被误用作快捷方式例如,当一个容器进行了可影响运行时的更改时,例如使用环境变量来配置php值,并希望立即,快速查看它们等,则可以使用单个命令停止和启动=重新启动容器。