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“即可;

 

posted @ 2018-05-17 16:30  追逐新梦想  阅读(620)  评论(0编辑  收藏  举报