Docker Compose介绍

jopen 9年前

Docker Compose是Docker编排服务的最后一块,前面提到的 Machine可以让用户在其它平台快速安装Docker, Swarm可以让Docker容器在集群中高效运转,而Compose可以让用户在集群中部署分布式应用。简单的说,Docker Compose属于一个“应用层”的服务,用户可以定义哪个容器组运行哪个应用,它支持动态改变应用,并在需要时扩展。

Docker Compose介绍


使用Compose的第一步是使用YAML文件来定义容器应用的状态:
containers:  web:   build: .   command: python app.py   ports:   - "5000:5000"   volumes:   - .:/code   links:   - redis   environment:   - PYTHONUNBUFFERED=1  redis:   image: redis:latest   command: redis-server --appendonly yes


上面的YAML文件定义了两个容器应用,第一个容器运行Python应用,并通过当前目录的Dockerfile文件构建。第二个容器是从Docker Hub注册中心的Redis官方仓库中构建。 links指令用来定义依赖,意思是Python应用依赖于Redis应用。

定义完成后,通过下面的命令来启动应用:
% docker up
简单吧?通过YAML文件定义的容器应用已经成功启动起来,启动过程会按照YAML的配置严格运行。Python容器通过Dockerfile自动构建, 同时从注册中心拉取Redis容器构建。 links指令关注的是Python和Redis容器之间的依赖关系,Redis容器是最先开始构建,紧随其后的是Python容器。

Docker Compose应用目前还在紧张开发中,感兴趣的读者可以关注 GitHub动态

来自:http://dockerone.com/article/34