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「便可;
相關文章
相關標籤/搜索