自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker系列:Docker-Compose用法詳解

開源
docker-compose是Docker官方提供的用于定義和管理運行多個Docker容器的開源容器編排工具。?

今天給大家介紹一下docker-compose的用法,大家可以互相交流!

1、簡介

docker-compose是Docker官方提供的用于定義和管理運行多個Docker容器的開源容器編排工具。

可以使用YML文件來配置應(yīng)用程序需要的所有服務(wù),然后使用docker-compose運行命令,就可以解析YML文件配置創(chuàng)建并啟動文件中配置的所有docker服務(wù)。

可以把docker-compose理解為一個自動化運維命令的打包腳本集合,只要腳本編寫的沒問題,就可以執(zhí)行一條命令啟動所關(guān)聯(lián)的所有服務(wù)。

GitHub:https://github.com/docker/compose。

2、docker-compose的好處

降低運維成本:部署效率高、可控制容器的啟動順序、項目快速遷移、開發(fā)生產(chǎn)環(huán)境保持一致等。

一般一個系統(tǒng)的部署可能涉及到tomcat、mysql、redis、nginx、mongodb等應(yīng)用,如果采用容器部署的話可能涉及十多個容器(中小項目),每個容器都單獨維護的話,會非常繁瑣,可能每個容器需要執(zhí)行幾十個命令,效率非常低。通過docker-compose可以提前編寫好腳本,等上線部署的時候幾分鐘就可以搞定了。比起傳統(tǒng)的項目部署方式效率大大提升了。還可以達到一次編寫腳本,達到多次部署的效果。

開源項目推廣:開源項目作者可以編寫docker-compose腳本,讓使用者可以快速搭建環(huán)境、也可以避免因為硬件環(huán)境造成項目各種報錯的情況。也方便了開源項目的推廣。

3、原理

圖片

docker-compose項目是由Python編寫的,其實就是調(diào)用了Docker服務(wù)提供的API來對容器進行管理,因此,只要所在的操作系統(tǒng)的平臺支持Docker API,就可以在其上利用Compose來進行編排管理。

流程:利用Dockerfile定義運行環(huán)境→使用docker-compose.yml定義組成應(yīng)用的各服務(wù)→運行docker-compose up啟動應(yīng)用。

4、安裝教程

(1)二進制方式安裝(推薦國內(nèi)鏡像)

這個是官方地址,可能比較慢,推薦使用國內(nèi)鏡像地址。

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

國內(nèi)鏡像地址

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

驗證方法

下載完之后可以看下 /usr/local/bin 這個目錄有沒有 docker-compose 這個文件。

# 查看一下version,顯示有版本號那就說明安裝成功了
docker-compose -version

卸載

sudo rm /usr/local/bin/docker-compose

(2)通過python的pip方式安裝

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
pip -V
pip install docker-compose
docker-compose -version

卸載

sudo pip uninstall docker-compose

5、常用命令

下面給大家整理常用的docker-compose命令。

注意:大部分的compose命令都需要到docker-compose.yml文件所在的目錄下才能執(zhí)行。

docker-compose -h                           # 查看幫助
docker-compose up # 創(chuàng)建并運行所有容器
docker-compose up -d # 創(chuàng)建并后臺運行所有容器
docker-compose -f docker-compose.yml up -d # 指定模板
docker-compose down # 停止并刪除容器、網(wǎng)絡(luò)、卷、鏡像。
docker-compose logs # 查看容器輸出日志
docker-compose logs -f 容器名 查看容器實時日志
docker-compose pull # 拉取依賴鏡像
dokcer-compose config # 檢查配置
dokcer-compose config -q # 檢查配置,有問題才有輸出
docker-compose restart # 重啟服務(wù)
docker-compose start # 啟動服務(wù)
docker-compose stop # 停止服務(wù)
docker-compose up -d nginx 構(gòu)建建啟動nignx容器
docker-compose exec nginx bash 登錄到nginx容器中
docker-compose ps 顯示所有容器
docker-compose build nginx 構(gòu)建鏡像
docker-compose build --no-cache nginx 不帶緩存的構(gòu)建
docker-compose config -q 驗證(docker-compose.yml)文件配置,當配置正確時,不輸出任何內(nèi)容,當文件配置錯誤,輸出錯誤信息。
docker-compose events --json nginx 以json的形式輸出nginx的docker日志
docker-compose pause nginx 暫停nignx容器
docker-compose unpause nginx 恢復(fù)ningx容器
docker-compose rm nginx 刪除容器(刪除前必須關(guān)閉容器)

6、示例

新建docker-compose.yml文件,這里只是簡單舉例。更深入的案例大家可以自己研究一下。

version: '1'
services:
web1:
image: nginx
ports:
- "8081:80"
container_name: "test1"
networks:
- dev
web2:
image: nginx
ports:
- "8082:80"
container_name: "test2"
networks:
- dev
- pro
networks:
dev:
driver: bridge
pro:
driver: bridge

yaml語法檢查:??https://www.toyaml.com/index.html。??

創(chuàng)建webapp目錄,將docker-compose.yaml文件拷貝到webapp目錄下,使用docker-compose啟動應(yīng)用。

docker-compose up -d

訪問測試:

http://127.0.0.1:8081http://127.0.0.1:8082。?

7、總結(jié)

docker-compose 適合中小項目的部署,如果要搭建分布式部署環(huán)境的話建議使用swam、k8s。如果只是針對單機環(huán)境部署用來學(xué)習(xí)研究的項目還是不錯的選擇。

責(zé)任編輯:姜華
相關(guān)推薦

2019-09-17 08:00:24

DockerCompose命令

2023-03-26 09:08:36

2025-04-14 08:00:00

Docker命令運維

2023-04-06 07:18:14

2023-05-14 23:30:38

PrestoHadoop函數(shù)

2023-11-27 00:18:38

2023-05-29 07:39:49

2023-06-26 00:07:14

2024-03-26 00:00:01

2025-04-10 08:35:00

容器編排Docker容器化

2023-09-08 08:14:14

2023-10-10 13:49:00

Docker容器

2024-10-17 09:57:30

2023-10-23 00:06:29

2023-09-26 01:07:34

2023-09-27 06:26:07

2022-08-27 15:27:34

LinuxdockerCompose

2021-12-14 00:00:51

監(jiān)控 部署故障

2018-05-04 15:18:01

DockerDocker Comp容器

2023-06-25 08:12:02

點贊
收藏

51CTO技術(shù)棧公眾號