docker-compose簡介及安裝


一、簡介

Compose是用於定義和運行多容器Docker應用程序的工具,是docker的服務編排工具,主要應用於構建基於Docker的復雜應用,compose通過一個配置文件來管理多個docker容器,適合組合使用多個容器進行開發的場景。

使用compose,可以使用yaml文件配置應用程序的服務。

然后,通過一個命令,可以從配置中創建和啟動所有服務。

官網:https://docs.docker.com/compose/overview/

二、使用

compose適用於所有環境:生產,開發,測試以及CI工作流程。

使用compose基本上是一個三步過程:

1. 用dockerfile,或者鏡像定義應用程序的環境,以便在任何地方復制。

2. 在docker-compose.yml中定義組成應用程序的服務,以便它們可以在單獨的環境中一起運行。

3. 運行docker compose up啟動並運行整個應用程序。

三、安裝docker-ce

一、安裝docker

1、安裝依賴環境

[root@jenkins ~]# yum -y install yum-utils device-mapper-persistent-data  lvm2

2、准備鏡像源

[root@jenkins ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

3、安裝docker-ce

[root@jenkins ~]# yum -y install docker-ce

4.啟動docker

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version                     #查看docker版本
5、阿里雲鏡像加速器
https://account.aliyun.com         #阿里雲網站

針對Docker客戶端版本大於 1.10.0 的用戶

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

[root@docker ~]# cat <<EOF>/etc/docker/daemon.json
{
  "registry-mirrors": [ "https://你的阿里雲鏡像加速器.com" ]
}
EOF
[root@docker ~]# systemctl daemon-reload    #重新加載配置 
[root@docker ~]# systemctl restart docker    #重啟服務
 
四、安裝docker-compose
[root@docker ~]# yum -y install libcurl libcurl-devel
[root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
[root@docker ~]# ls
anaconda-ks.cfg         docker-compose 
[root@docker ~]# mv docker-compose /usr/local/bin/
[root@docker ~]# chmod +x /usr/local/bin/docker-compose
[root@docker ~]# docker-compose --version
docker-compose version 1.21.1, build 5a3f1a3
 
五、docker-compose用法
常用選項:
--verbose:輸出更多的調試信息
--version:查看compose的版本
-f --file FILE:使用特定的compose模板文件,默認為docker-compose.yml。
-p --project-name NAME 指定項目名稱,默認使用目錄名稱。
常用命令:
build:構建或重建服務
ps:查看已經啟動的服務狀態       
kill:停止某個服務、殺掉容器       
logs:可以查看某個服務的log、顯示容器的輸出內容       
port:打印綁定的public port(開放端口)        
pull:拉取服務鏡像      
up:啟動yml定義的所有服務     
stop:停止yml中定義的所有服務       
start:啟動被停止的yml中的所有服務        
kill:強行停止yml中定義的所有服務        
rm:刪除yml中定義的所有服務      
restart:重啟yml中定義的所有服務        
scale:設置服務的容器數目
run:運行一個一次性命令
 
 YAML簡介
        Yaml簡介.YAML是一種標記語言,可讀性很強。類似於XML數據描述語言,語法比XML簡單的多。YAML數據結構通過縮進來表示,連續的項目通過減號來表示,鍵值對用冒號分割,數組用括號括起來, hash用花括號括起來。
YAML文件格式注意事項:
在縮排中空白字符的數目並不是非常重要,只要相同階層的元素左側對齊就可以了(不過不能使用TAB字符);
通常開頭縮進2個空格;字符的后面縮進1個空格,比如冒號、逗號、橫桿;
支持#注釋;
允許在文件中加入選擇性的空行,以增加可讀性;
docker-compose中YAML常用的字段:

字段

描述

build

  dockerfile

  context

指定dockerfile文件名

構建鏡像上下文路徑

image 指定鏡像
command 執行命令,覆蓋默認命令
container_name 指定容器名稱,由於容器名稱是唯一的,如果指定自定義名稱,則無法scale
deploy  指定部署和運行服務相關配置,只能在Swarm模式使用
environment 添加環境變量
networks 加入網絡,引用頂級networks下條目
ports 暴漏端口,與-p相同,但端口不能低於60
volumes 掛載宿主機路徑或命名卷在頂級volumes定義卷名稱
restart 重啟策略,默認no,always|on-failurel|unless-stopped
hostname 容器主機名
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM