之前一直在国内博客上查阅这两个命令的区别。有的存在一些误导。现结合docker官方文档,简单看下这两个命令的用法
一、docker-compose up 与docker-compose up -d 用法和区别
两者都是通过提前编写好的yml 文件在当前宿主机上创建或者重新创建容器,除此之外,除非容器服务已经运行,否则启动所有链接服务。
docker-compose up 本质是docker-compose logs -f,它会收集所有容器的日志输出直到退出docker-compose up命令,或者容器都停止运行,比如创建容器时失败,会退出当前命令行
docker-compose up -d 以后台的方式运行容器。不会在终端上打印运行日志
二、关于docker-compose up 修改容器
文档上指出,如果容器的配置或者镜像发生改变,则会停止并删除之前的容器重新创建,但是之前容器的数据卷依旧保留
如果不想Compose扫描更改。和重新创建容器,使用 --no-recreate 标志 。
如果要强制Compose停止并重新创建所有容器,使用 --force-recreate标志。
----------------- 文章如有问题,请下方回复指出,感谢查阅😁 -----------------