Docker compose up -d 与 Docker restart 的区别
背景 - 有时需要临时在容器内进行修改
Docker给现场部署带来了很大的方便。我们可以把代码和依赖都封到 Docker 镜像里,然后通过Docker 加载成容器,轻松部署。
另外,我们还可以通过 Docker-compose 把多个容器,比如 Nginx 容器,应用容器,数据库容器给编织起来,形成一整套服务。
但是,有些时候,到了现场,我们需要对临时代码进行一些小的调整和修改。
调整之后,往往需要重启容器或服务,使修改生效。这时,人们往往会用到:
docker restart 容器名
, 或者docker-compose up -d
进行容器重启。但是这两者有什么区别呢?
docker-compose up -d
如果我们对 docker-compose.yml 进行了修改,比如,增加或者修改了:
- 暴露的端口
- 映射出来的文件
- 环境变量
这时,使用 docker-compose up -d 可以使这些修改生效。
但是要注意,docker-compose up -d 会:
- 停止原来的容器
- 删除原来的容器
- 使用新的参数,结合原始镜像文件,创建一个新的容器提供服务
这时,在原有容器中做得修改ÿ