docker-compose工具

环境:CentOS7.0
安装版本:1.3.2
安装方式:
[root@Docker ~]#curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@Docker ~]#chmod +x /usr/local/bin/docker-compose
查看版本信息:
[root@Docker ~]#docker-compose --version
docker-compose version: 1.3.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
 
 
1.DOCKER-COMPOSE简介
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。
Docker Compose的前身是FIG,如今兼容FIG的模板文件,传统的dockerfile文件可让用户管理一个单独的应用容器;而 Compose 则容许用户在一个模板(YAML 格式)中定义一组相关联的应用容器,这一组关联的容器就是一个project;
2.安装
根据场景的须要,提供两种搭建方式,第一种是有网安装;第二种是无网安装;在搭建docker-compose环境以前必定要保证docker环境是正常;
2.1.环境准备
系统环境:CentOS7.0
Docker环境:Docker version 1.7.0(或者其余docker版本)
2.2.在线环境安装
使用官网提供的下载连接进行自动安装,安装目录”/usr/local/bin/”下;
[root@Docker ~]#curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@Docker ~]#chmod +x /usr/local/bin/docker-compose
2.3.安装测试
[root@Docker ~]#docker-compose --version
docker-compose version: 1.3.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
2.4.离线环境安装
提早准备软件:https://github.com/docker/compose/releases
如今提供版本是:docker-compose version: 1.4.0
下载后直接放在执行路径“/usr/local/bin/ “下便可;
[root@docker bin]#mv docker-compose-Linux-x86_64 docker-compose
[root@docker bin]#chmod +x docker-compose
2.5.安装测试
[root@docker ~]#docker-compose --version
docker-compose version: 1.4.0
3.DOCKER-COMPOSE命令说明
掌握基本操做命令;
3.1.选项
-f, --file FILE:特定的 compose 模板文件,默认是docker-compose.yml
若是没有加这个参数,须要在存放docker-compose.yml文件的目录下执行
docker-conpose build
若是加“-f“参数只需指定docker-compose.yml的目录便可;
[root@Docker ~]#docker-compose  -f /opt/TopInsight/docker-compose/docker-compose.yml build
-p, --project-name NAME:指定项目名称,默认使用目录名称;
默认:dockercompose_nodejs
指定名字:topsec_nodejs
--verbose:输入帮助信息和help同样功能同样;             
-v, --version:输出版本信息;
3.2.命令
Build:构建或从新构建服务;        
Help:得到一个命令的帮助信息;          
Kill:经过发送 SIGKILL 信号来强制中止服务容器;docker-compose kill -s +容器名          
Logs:显示服务log信息;              
Port:打印绑定的公共端口;              
Ps:列出全部容器;                
Pull:拉取服务镜像;              
Restart:重启服务;           
Rm:删除中止的服务容器;                
Run:在一个服务上执行一个命令;            
Scale:设置同一个服务运行的容器个数,经过 service=num 的参数来设置数量;             
Start:启动一个已经存在的服务容器             
Stop:中止一个已经运行的容器,但不删除它              
Up:构建,建立,启动,连接一个服务相关的容器;
默认状况, docker-compose up 将会整合全部容器的输出,而且退出时,全部容器将会中止。若是使用 docker-compose up -d ,将会在后台启动并运行全部的容器。
默认状况,若是该服务的容器已经存在, docker-compose up 将会中止并尝试从新建立他们,以保证 docker-compose.yml 的修改生效。若是你不想容器被中止并从新建立,能够使用 docker-compose up --no-recreate。若是须要的话,这样将会启动已经中止的容器。              
migrate-to-labels:给从新建立的容器添加标签;
4.结合项目构建DOCKER-COMPOSE.YML文件
默认的模板文件是 docker-compose.yml,其中定义的每一个服务都必须经过 image 指令指定镜像或 build 指令(须要 Dockerfile)来自动构建;
4.1.常见指令介绍
     image:指定为镜像名称或镜像 ID;
例如:image: centos:latest
     Build: 指定 Dockerfile 所在文件夹的路径;compose能够用dockerfile来构建image;
例如:build: /opt/TopInsight/mq
     Command:容器启动后默认执行的命令;
例如:command: /opt/TopInsight/node/bin/start.sh
     Links:链接到其余服务中的容器;
例如:默认格式
links:
        - activemq
     external_links:链接到docker-compose.yml 外部的容器;
     ports:映射的端口信息,格式:Host:CONTAINER,须要指定容器的端口,宿主机端口任意设置;
例如:
ports:
        - "8084:8080"
     Expose:暴露端口,但不映射端口;
例如:
expose:
        - "8080"
     Volumes: 卷挂载路径设置,格式:Host:CONTAINER
例如:
volumes:
        - /opt/TopInsight/tomcat/webapps:/opt/TopInsight/tomcat/webapps
        - /opt/TopInsight/tomcat/logs:/opt/TopInsight/tomcat/logs
     Net:设置网络模式;
     extra_hosts:链接外部服务;格式:主机名:地址
例如: extra_hosts:
        - "Hadoop:192.168.59.12"
        - "OracleDB:192.168.76.78"
     container_name:设置容器的名字
例如:
container_name: topsec-nodejs
以上是构建一个项目的经常使用指令,若有疑问登录192.168.76.100,docker测试环境;
5.卸载DOCKER-COMPOSE软件
执行“rm –rf /usr/local/bin/ docker-compose“便可;
相关文章
相关标签/搜索