Docker 三剑客之Docker Compose详解
2018-01-26 11:59
831 查看
随着开发者对Docker了解的深入,使用其进行分布式部署变得复杂。开发者需要在开发,测试以及生产环境中的可移植应用,这些应用需要在不同的平台提供商之间迁移,比如在不同的云平台或者私有数据中心部署,同时,应用应该是可组合的,一个应用可以分解为多个服务。 Docker公司在2014年12月发布了三款用于解决多容器分布式软件可移植部署的问题。
- 使用
- 使用
- 通过
在开发机上,将应用环境复制多份;
防止使用了相同名称服务的应用之间互相干扰;
默认情况下,项目名称是项目文件夹根目录的名称,你可以使用
Compose保护服务使用的所有卷(vloumes),当运行
只重新创建改变过的容器;
Compose会缓存用于创建容器的配置信息,当你重启服务时,如果服务没有被更改,Compose就会重用已经存在的容器,这无疑加快了修改应用的速度;
Compose 文件是一个YAML文件,用于定义
docker-Compose 实际例子参考http://blog.csdn.net/vchy_zhao/article/details/70238413
Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。
Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。
Docker Swarm为Docker容器提供了原生的集群,它将多个Docker引擎的资源汇聚在一起,并提供Docker标准的API,使Docker可以轻松扩展到多台主机。Compose是用来编排和管理多容器应用的工具,使用它,你可以通过定义一个
YAML文件来定义你的应用的所有服务,然后通过一条命令,你就可以创建并启动所有的服务。使用Compose仅需要三步:
- 使用
Dockerfile定义你的应用依赖的镜像;
- 使用
docker-compose.yml定义你的应用(APP)具有的服务;
- 通过
docker-compose up命令创建并运行应用;
Compose的特性
将单个主机隔离成多个环境;Compose使用项目名称(project name)将不同应用的环境隔离开,项目名称可以用来:
在开发机上,将应用环境复制多份;
防止使用了相同名称服务的应用之间互相干扰;
默认情况下,项目名称是项目文件夹根目录的名称,你可以使用
-p标识或
COMPOSE_PROJECT_NAME改变默认的名称。保护卷中的数据;
Compose保护服务使用的所有卷(vloumes),当运行
docker-compose run命令时,如果Compose发现存在之前运行过的容器,它会把旧容器中的数据卷拷贝到新的容器中,这保证了你在卷中创建的任何数据都不丢失。
只重新创建改变过的容器;
Compose会缓存用于创建容器的配置信息,当你重启服务时,如果服务没有被更改,Compose就会重用已经存在的容器,这无疑加快了修改应用的速度;
Compose 文件是一个YAML文件,用于定义
services、
netword和
volumes。 Compose 文件的默认路径为
./docker-compose.yml(后缀为.yml和.yaml都可以)。一个
service配置将会应用到容器的启动中,很像将命令行参数传递给
docker run。 同样,network和volume定义类似于
docker network create和
docker volume create。 与Docker运行一样,默认情况下尊重Dockerfile中指定的选项(例如
CMD,
EXPOSE,
VOLUME,
ENV) - 您不需要在
docker-compose.yml中再次指定它们。docker-Compose 配置命令参考https://deepzz.com/post/docker-compose-file.html
docker-Compose 实际例子参考http://blog.csdn.net/vchy_zhao/article/details/70238413
相关文章推荐
- docker-compose.yml 详解
- Docker-Compose的使用示例详解
- Docker-compose命令详解
- 详解通过docker和docker-compose实现eureka高可用
- docker-compose 详解及示例代码
- Docker Compose 配置文件详解
- Docker Compose文件详解 V2
- docker三剑客之docker compose
- Docker Compose 配置文件 Docker-Compose.yml 文件详解
- Docker-compose命令详解
- 详解Docker之Compose服务编排
- Docker三剑客之Compose-一
- docker-compose命令详解
- Docker(四):Docker 三剑客之 Docker Compose
- Docker Compose文件详解
- Docker(四):Docker 三剑客之 Docker Compose
- docker-compose.yml 配置文件编写详解
- Docker三剑客之Compose-三
- [置顶] Docker-compose构建nginx反向代理配置详解
- Docker Compose 配置文件详解