Docker-Compose是Docker官方的開源項目, 負責實現對Docker容器集群的快速編輯排列。
Compose 是 Docker 公司推出的一個工具軟件,可以管理多個 Docker 容器組成一個應用。你需要定義一個 YAML 格式的配置文件docker-compose.yml,寫好多個容器之間的調用關係。然后,只要一個命令,就能同時啟動/關閉這些容器
docker建議我們每一個容器中只運行一個服務,因為docker容器本身占用資源極少,所以最好是將每個服務單獨的分割開來但是這樣我們又面臨了一個問題?
如果我需要同時部署好多個服務,難道要每個服務單獨寫Dockerfile然后在構建鏡像,構建容器,因此,docker官方給我們提供了docker-compose多服務部署的工具
例如要實現一個Web微服務項目,除了Web服務容器本身,往往還需要再加上后端的數據庫mysql服務容器,redis服務器,注冊中心eureka,甚至還包括負載均衡容器等等。。。。。。
Compose允許用戶通過一個單獨的docker-compose.yml模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
可以很容易地用一個配置文件定義一個多容器的應用,然后使用一條指令安裝這個應用的所有依賴,完成構建。Docker-Compose 解決了容器與容器之間如何管理編排的問題。
compose版本請參考https://docs.docker.com/compose/compose-file/compose-file-v3/
目前均以3.0以上為準
---------------------------------------------------------------
安裝Docker Compose步驟
1.下載Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.設定執行權限
sudo chmod +x /usr/local/bin/docker-compose
3.看版本
docker-compose --version
--------------------------------------------------
卸載Docker Compose
3.1基於Ubuntu版本Linux
3.1.1 自動安裝后卸載
1.執行apt-get remove docker-compose-plugin命令卸載docker compose。
sudo apt-get remove docker-compose-plugin
2.執行docker-compose --version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker-compose --version
bash: /usr/local/bin/docker-compose: No such file or directory
3.1.2 手動安裝后卸載
方法1-pip卸載
1.執行pip uninstall docker-compose命令進行卸載。
sudo pip uninstall docker-compose
2.執行docker-compose --version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker-compose --version
bash: /usr/local/bin/docker-compose: No such file or directory
方法2-rm卸載
1.執行rm /usr/local/bin/docker-compose -f命令進行rm卸載。
sudo rm /usr/local/bin/docker-compose -f
2.執行docker compose version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker-compose --version
bash: /usr/local/bin/docker-compose: No such file or directory
3.2基於Centos版本Linux
3.2.1 自動安裝后卸載
1.執行yum remove docker-compose-plugin命令卸載docker compose。
sudo yum remove docker-compose-plugin
2.執行docker-compose --version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker compose version
docker: 'compose' is not a docker command.
See 'docker --help'
3.2.2 手動安裝后卸載
方法1-pip卸載
1.執行pip uninstall docker-compose命令進行卸載。
sudo pip uninstall docker-compose
2.執行docker compose version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker-compose --version
bash: /usr/local/bin/docker-compose: No such file or directory
方法2-rm卸載
1.執行rm /usr/local/bin/docker-compose -f命令進行rm卸載。
sudo rm /usr/local/bin/docker-compose -f
2.執行docker compose version命令查看Docker Compose版本。這里觀察到,已成功卸載。
docker-compose --version
bash: /usr/local/bin/docker-compose: No such file or directory
--------------------------------------------------------------------------------
服務(service)--一個個應用容器實例
一個個應用容器實例,比如訂單微服務、庫存微服務、mysql容器、nginx容器或者redis容器
工程(project)--多個服務(應用容器實例)
由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。
Compose使用的三個步驟
1.編寫Dockerfile定義各個微服務應用并搆建出對應的鏡像文件
2.使用 docker-compose.yml 定義一個完整業務單元,安排好整體應用中的各個容器服務。
3.最后,執行docker-compose up命令 來啟動并運行整個應用程序,完成一鍵部署上線
Compose常用命令
docker-compose -h # 查看幫助
docker-compose up # 啟動所有docker-compose服務
docker-compose up -d # 啟動所有docker-compose服務并后台運行
docker-compose down # 停止并刪除容器、網路、卷、鏡像。
docker-compose exec yml里面的服務id # 進入容器實例內部 docker-compose exec docker-compose.yml文件中寫的服務id /bin/bash
docker-compose ps # 展示當前docker-compose編排過的運行的所有容器
docker-compose top # 展示當前docker-compose編排過的容器進程
docker-compose logs yml里面的服務id # 查看容器輸出日志
docker-compose config # 檢查配置
docker-compose config -q # 檢查配置,有問題才有輸出
docker-compose restart # 重啟服務
docker-compose start # 啟動服務
docker-compose stop # 停止服務
沒有留言:
張貼留言