Docker compose 編排工具詳解
Docker Compose
Docker Compose是一個(gè)定義及運(yùn)行多個(gè)Docker容器的工具,通過 Compose,無需用shell腳本來啟動容器,而使用 YAML 文件來配置應(yīng)用程序需要的所有服務(wù),然后使用命令,根據(jù) YAML 的文件配置創(chuàng)建并啟動所有服務(wù),非常適合于多個(gè)容器進(jìn)行開發(fā)的場景。
Compose非常適合開發(fā),測試和登臺環(huán)境以及CI工作流程。
YAML
YAML是一個(gè)可讀性高,用來表達(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:加入頂級networks下配置的網(wǎng)絡(luò) deploy:指定部署和運(yùn)行服務(wù)相關(guān)配置,只能在Swarm模式使用 volumes:掛載宿主機(jī)路徑或命令卷 image:指定容器運(yùn)行的鏡像 command:執(zhí)行命令,覆蓋默認(rèn)命令 container_name:指定容器名稱,由于容器名稱是唯一的,如果指定自定義名稱,則無法 scale(擴(kuò)展) environment:添加環(huán)境變量 restart:重啟策略,定義是否重啟容器;no(默認(rèn),不重啟),always(總是重啟), no-failure(退出狀態(tài)非0時(shí)重啟),unless-stoped(容器退出時(shí),忽略守護(hù)進(jìn)程啟動前停止 的容器) 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)建和啟動容器 exec 在容器里面執(zhí)行命令 scale 指定一個(gè)服務(wù)容器啟動數(shù)量 top 顯示正在運(yùn)行的容器進(jìn)程 logs 查看服務(wù)容器的輸出 down 刪除容器、網(wǎng)絡(luò)、數(shù)據(jù)卷和鏡像 stop/start/restart 停止/啟動/重啟服務(wù)
Compose安裝
#環(huán)境部署所有主機(jī)安裝docker環(huán)境(內(nèi)容為docker基礎(chǔ)) yum install docker-ce -y #下載compose,可通過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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker(alpine+golang)?中?hosts?不生效問題解決方法
這篇文章主要介紹了docker(alpine+golang)?中?hosts?不生效問題解決大全,本文給大家分享了三種解決方法,每種方法給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Docker 給運(yùn)行中的容器設(shè)置端口映射的方法
這篇文章主要介紹了Docker 給運(yùn)行中的容器設(shè)置端口映射的方法,詳細(xì)的介紹了端口映射的概念和方法,具體一定的參考價(jià)值,有興趣的可以了解一下2017-11-11詳解MAC OSX Docker開發(fā)環(huán)境搭建
本篇文章主要介紹了詳解MAC OSX Docker開發(fā)環(huán)境搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03Docker構(gòu)建Maven+Tomcat基礎(chǔ)鏡像的實(shí)現(xiàn)
這篇文章主要介紹了Docker構(gòu)建Maven+Tomcat基礎(chǔ)鏡像的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09利用OpenVSwitch在多臺主機(jī)上部署Docker的教程
這篇文章主要介紹了利用OpenVSwitch在多臺主機(jī)上部署Docker的教程,包括配置多個(gè)容器的IP地址等內(nèi)容,需要的朋友可以參考下2015-03-03Mac系統(tǒng)上用Docker搭建lamp環(huán)境
這篇文章主要給大家介紹了Mac系統(tǒng)上用Docker如何搭建lamp環(huán)境,文章給大家介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12