2023年1月12日 星期四

docker compose

 Docker-ComposeDocker官方的目, 負責實現對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 # 停止服務





沒有留言:

張貼留言