互联网技术 / 互联网资讯 · 2023年11月20日 0

解析docker-compose命令up、run和start的区别

一般情况下,您会使用docker-compose up命令来启动或重启在docker-compose.yml中定义的所有服务。

该命令会收集每个容器的输出,实际上相当于运行docker-compose logs -f。当终端命令结束时,所有容器也会停止。如果您希望在后台运行容器,可以使用docker-compose up -d选项。

如果服务的容器已经存在,并且在创建后您更改了服务的配置或映像,docker-compose up会通过停止并重新创建容器(并保留挂载的卷)来应用这些更改。若要防止Compose自动获取更改,可以添加–no-Recreate标志。

在默认的“附加”模式下,您能够看到所有容器的日志,而在“分离”模式(-d)中,Compose会在启动容器后退出,但容器仍会在后台继续运行。

云计算核心技术Docker教程:docker-compose命令up,run以及start之间的区别

docker-compose run命令用于执行“一次性”或“临时”任务。它需要指定要运行的服务名称,并且仅启动该服务所依赖的容器。

使用run命令可以进行测试或执行管理任务,例如处理数据的添加或删除。该命令的行为与docker run -ti类似,它为容器提供一个交互式终端,并返回与容器中进程的退出状态相对应的退出状态。