溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Docker compose編排工具

發(fā)布時間:2021-09-28 09:23:51 來源:億速云 閱讀:168 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“如何理解Docker compose編排工具”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Docker Compose

Docker Compose是一個定義及運行多個Docker容器的工具,通過 Compose,無需用shell腳本來啟動容器,而使用 YAML 文件來配置應用程序需要的所有服務,然后使用命令,根據(jù) YAML 的文件配置創(chuàng)建并啟動所有服務,非常適合于多個容器進行開發(fā)的場景。

Compose非常適合開發(fā),測試和登臺環(huán)境以及CI工作流程。

YAML

YAML是一個可讀性高,用來表達數(shù)據(jù)序列化的格式

相關(guān)命令及格式

version:指定此yml文件基于的compase的版本
services:指定創(chuàng)建容器的服務選項
	服務名:例如nginx等
		hostname:容器主機名
		build :指定構(gòu)建鏡像上下文路徑
			context:上下文路徑
			dockerfile:指定構(gòu)建鏡像的 Dockerfile 文件名
		ports:暴露容器端口,與-p相同,但端口不能低于60;例如:- 1234:80
		networks:加入頂級networks下配置的網(wǎng)絡
		deploy:指定部署和運行服務相關(guān)配置,只能在Swarm模式使用
		volumes:掛載宿主機路徑或命令卷
	image:指定容器運行的鏡像
	command:執(zhí)行命令,覆蓋默認命令
	container_name:指定容器名稱,由于容器名稱是唯一的,如果指定自定義名稱,則無法
scale(擴展)
	environment:添加環(huán)境變量
	restart:重啟策略,定義是否重啟容器;no(默認,不重啟),always(總是重啟),
no-failure(退出狀態(tài)非0時重啟),unless-stoped(容器退出時,忽略守護進程啟動前停止
的容器)
networks:配置網(wǎng)絡,指定網(wǎng)卡設(shè)備等

Compose命令

基本使用格式
docker-compose [options] [COMMAND][ARGS...]

選項
--verbose:輸出更多調(diào)試信息
--version:打印版本并退出
-f,--file FILE:使用特定的compose模板文件,默認為docker-compose.yml
-p, --project-name NAME:指定項目名稱,默認使用目錄名稱

常用命令
build	重新構(gòu)建服務
ps		列出容器
up		創(chuàng)建和啟動容器
exec	在容器里面執(zhí)行命令
scale	指定一個服務容器啟動數(shù)量
top		顯示正在運行的容器進程
logs	查看服務容器的輸出
down	刪除容器、網(wǎng)絡、數(shù)據(jù)卷和鏡像
stop/start/restart	停止/啟動/重啟服務

Compose安裝

#環(huán)境部署所有主機安裝docker環(huán)境(內(nèi)容為docker基礎(chǔ))
yum install docker-ce -y

#下載compose,可通過curl直接鏈接下載,或在外下載好后拖進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

“如何理解Docker compose編排工具”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI