docker-compose命令介绍和使用

  

概述

docker-compose技术,就是通过一个,.yml 配置文件,将所有的容器的部署方法,文件映射,容器连接等等一系列的配置写在一个配置文件里,最后只需要执行docker-compose了命令就会像执行脚本一样的去一个个安装容器并自动部署他们,极大的便利了复杂服务的部署。

docker-compose的工作流程

1,用一个定义应用程序的环境,Dockerfile这样它就可以在任何地方再现。
2,定义组成应用程序的服务,docker-compose。yml以便它们可以在隔离的环境中一起运行。
3,运行docker-compose起来和撰写启动并运行整个应用程序。

一,命令对象与格式

对于组合来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响。

docker-compose命令的基本的使用格式是:

 <代码> docker-compose [- f & lt; arg>…][选项][命令][arg游戏…] 

二,命令选项

    <李> - f:指定使用的组合模板文件,默认为当前目录下的docker-compose。yaml文件,可以多次指定。 <李> - p:指定项目的名称,默认将使用所在目录名称作为项目名。 <李>——verbose:输出更多调试信息。 <李> - v:打印版本信息并退出。

三,命令使用说明

1,构建——构建(重新构建)项目中的服务容器

命令格式为:docker-compose构建[选项][服务……].

服务容器一旦构建后,将会带上一个标记名,例如对于web项目中的一个db容器,可能是web_db。

可以随时在项目目录下运行docker-compose构建来重新构建服务。

上述命令选项包括:

    <李>——force-rm:删除构建过程中的临时容器。 <李>——no - cache:构建镜像过程中不使用缓存(这会加长构建过程)。 <李>——拉:始终尝试通过拉来获取更新版本的镜像。

2,配置——检测组成文件的错误

验证写文件格式是否正确,若正确则显示配置,若格式错误显示错误原因。

命令格式如下:

 <代码>美元docker-compose配置 

3——启动服务

格式为:docker-compose[选项][服务……].

该命令十分强大,它将尝试自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作。

链接的服务都将会被自动启动,除非已经处于运行状态。

可以说,大部分时候都可以直接通过该命令来启动一个项目。

默认情况,docker-compose了启动的容器都在前台,控制台将会同时打印所有容器的输出信息,可以很方便进行调试。

当通过ctrl - c停止命令时,所有容器将会停止。

如果使用docker-compose - d,将会在后台启动并运行所有的容器。一般推荐生产环境下使用该选项。

默认情况,如果服务容器已经存在,docker-compose起来将会尝试停止容器,然后重新创建(保持使用的交易量挂载的卷),以保证新启动的服务匹配docker-compose。yml文件的最新内容。如果用户不希望容器被停止并重新创建,可以使用docker-compose——no-recreate。这样将只会启动处于停止状态的容器,而忽略已经运行的服务。如果用户只想重新部署某个服务,可以使用docker-compose——no-deps - d & lt; SERVICE_NAME>来重新创建服务并后台停止旧服务,启动新服务,并不会影响到其所依赖的服务。

选项:

    <李> - d:在后台运行服务容器。 <李>——没有颜色:不使用颜色来区分不同的服务的控制台输出。 <李>——no-deps:不启动服务所链接的容器。 <李>——force-recreate:强制重新创建容器,不能与——no-recreate同时使用。 <李>——no-recreate:如果容器已经存在了,则不重新创建,不能与——force-recreate同时使用。 <李>——no-build:不自动构建缺失的服务镜像。 <李> - t:停止容器时候的超时(默认为10秒)。

3,下来,停止容器

此命令将会停止了命令所启动的容器,并移除网络。

4,图像——列出项目中所包含的镜像

 <代码>美元docker-compose图像,,#列出项目中所包含的镜像
  美元docker-compose - p tt图像,,,#若不是默认的项目名称,则需要指定项目名称 

5,日志——查看服务容器的日志

格式为:[选项][docker-compose日志服务……].

默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过——没有颜色来关闭颜色。

docker-compose命令介绍和使用