Docker compose 編排工具詳解
Docker Compose
Docker Compose是一個(gè)定義及運(yùn)行多個(gè)Docker容器的工具,通過(guò) Compose,無(wú)需用shell腳本來(lái)啟動(dòng)容器,而使用 YAML 文件來(lái)配置應(yīng)用程序需要的所有服務(wù),然后使用命令,根據(jù) YAML 的文件配置創(chuàng)建并啟動(dòng)所有服務(wù),非常適合于多個(gè)容器進(jìn)行開(kāi)發(fā)的場(chǎng)景。
Compose非常適合開(kāi)發(fā),測(cè)試和登臺(tái)環(huán)境以及CI工作流程。
YAML
YAML是一個(gè)可讀性高,用來(lái)表達(dá)數(shù)據(jù)序列化的格式
相關(guān)命令及格式
version:指定此yml文件基于的compase的版本 services:指定創(chuàng)建容器的服務(wù)選項(xiàng) 服務(wù)名:例如nginx等 hostname:容器主機(jī)名 build :指定構(gòu)建鏡像上下文路徑 context:上下文路徑 dockerfile:指定構(gòu)建鏡像的 Dockerfile 文件名 ports:暴露容器端口,與-p相同,但端口不能低于60;例如:- 1234:80 networks:加入頂級(jí)networks下配置的網(wǎng)絡(luò) deploy:指定部署和運(yùn)行服務(wù)相關(guān)配置,只能在Swarm模式使用 volumes:掛載宿主機(jī)路徑或命令卷 image:指定容器運(yùn)行的鏡像 command:執(zhí)行命令,覆蓋默認(rèn)命令 container_name:指定容器名稱,由于容器名稱是唯一的,如果指定自定義名稱,則無(wú)法 scale(擴(kuò)展) environment:添加環(huán)境變量 restart:重啟策略,定義是否重啟容器;no(默認(rèn),不重啟),always(總是重啟), no-failure(退出狀態(tài)非0時(shí)重啟),unless-stoped(容器退出時(shí),忽略守護(hù)進(jìn)程啟動(dòng)前停止 的容器) networks:配置網(wǎng)絡(luò),指定網(wǎng)卡設(shè)備等
Compose命令
基本使用格式 docker-compose [options] [COMMAND][ARGS...] 選項(xiàng) --verbose:輸出更多調(diào)試信息 --version:打印版本并退出 -f,--file FILE:使用特定的compose模板文件,默認(rèn)為docker-compose.yml -p, --project-name NAME:指定項(xiàng)目名稱,默認(rèn)使用目錄名稱 常用命令 build 重新構(gòu)建服務(wù) ps 列出容器 up 創(chuàng)建和啟動(dòng)容器 exec 在容器里面執(zhí)行命令 scale 指定一個(gè)服務(wù)容器啟動(dòng)數(shù)量 top 顯示正在運(yùn)行的容器進(jìn)程 logs 查看服務(wù)容器的輸出 down 刪除容器、網(wǎng)絡(luò)、數(shù)據(jù)卷和鏡像 stop/start/restart 停止/啟動(dòng)/重啟服務(wù)
Compose安裝
#環(huán)境部署所有主機(jī)安裝docker環(huán)境(內(nèi)容為docker基礎(chǔ)) yum install docker-ce -y #下載compose,可通過(guò)curl直接鏈接下載,或在外下載好后拖進(jìn)linux crul ...... #賦予docker compose執(zhí)行權(quán)限 cp -p docker-compose /usr/local/bin/ chmod +x /usr/local/bin/docker-compose mkdir /root/compose_nginx #使用compose編排創(chuàng)建容器 #編寫yml文件 vim /root/compose_nginx/docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1216:80 - 1217:443 networks: - cluster volumes: - ./wwwroot:/usr/local/nginx/html networks: cluster: #放入相關(guān)文件 mkdir nginx mkdir wwwroot echo "this is nginx" > wwwroot/index.html #執(zhí)行yml文件創(chuàng)建容器 docker-compose -f docker-compose.yml up -d
到此這篇關(guān)于Docker compose 編排工具詳解的文章就介紹到這了,更多相關(guān)Docker compose 編排工具內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。