Docker-compose的安裝和使用
一、簡介
Compose 項目 是 Docker 官方的開源項目 , 負 責實 現對 Docker 容器 集群的快速編排,其前身 是開源項目 Fig, 目前仍然兼容 Fig格式的模板文件。
使用 一個 Dockerfile模板文件, 可以讓用 戶 很方便的定義一個單獨 的應用容器 。 然而,在日常工作中 , 經常會碰到需要多個容器 相互配合來完成某項任務的情況。 例如要實現一個 Web 項目,除了 Web 服務容器 本身 , 往往還需要再加上後 端的數據庫服務容器 , 甚至還包括負 載均衡容器 等。
優勢:
Compose 恰好滿足了 這樣的需求。 它允許用戶通過一個單獨 的 docker-compose. yml 模板文件( YAML 格式) 來定義一組相 關聯的應 用 容器 為 一個項目( project),在Docker基礎上解決了多容器應用之間的依賴啟動問題
Docker Compose 用於定義運行使用多個容器的應用,可以一條命令啟動應用(多個容器)。
劣勢:
Compose 只能夠在本地或者 Docker Swarm 集群中運行
需要在 Swarm 之外運行怎麽辦?比如 Kubernetes?Compose 格式並非為分布式而誕生的,所以我們只能為選擇的容器編排工具重新編寫應用描述文件。
現在,在 Kubernetes Incubator 可以找到 Kompose。有了 Kompose,我們能夠簡單實現從 Docker Swarm 到 Kubernetes 的轉換過程,這樣就為 Docker 用戶敞開了 Kubernetes 的大門。
使用Docker Compose 的步驟:
- 定義容器 Dockerfile
- 定義應用的各個服務 docker-compose.yml
- 啟動應用 docker-compose up
二、安裝
文章出處:
http://www.widuu.com/docker/compose/install.html
docker compose 安裝
三種安裝方式:
1.Python 的 pip 工具進行安裝
2.直接下載編譯好的二進制 文件使用
3.運行在 Docker 容器 中
第一種pip安裝
yum -y install python-pip
pip install -U docker-compose
pip卸載; pip uninstall docker- compose
提示:pip是python的命令,需要下載文件
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
執行安裝
python get-pip.py 這樣pip命令就可以用了
審計‘pip install --upgrade pip
使用 docker-compose --version 來進行測試
第二種2進制安裝
curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
二進制卸載 rm /usr/local/bin/docker- compose
第三種容器中安裝
curl - L https://github.com/docker/compose/releases/download/1.8.0/run.sh >/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
升級
如果你使用的是 Compose 1.2或者早期版本,當你升級完成後,你需要刪除或者遷移你現有的容器。這是因為,1.3版本, Composer 使用 Docker 標簽來對容器進行檢測,所以它們需要重新創建索引標記。
如果 Composer 檢測到創建的容器沒有標簽,它將拒絕運行,這樣你就不會有兩組容器。如果你想要保留已經存在的容器(舉例:這裏有容器的數據卷上保留這非常重要的數據),你可以使用下邊的命令來
遷移:
docker-compose migrate-to-labels
或者,如果這些容器是不必要的,你可以刪除它們 - Composer 會重新創建一個新的
Docker-compose的安裝和使用