使用Docker Compose編排本地容器的詳細(xì)步驟
使用 Docker Compose 編排本地容器
Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用的工具。通過(guò) docker-compose.yml 文件,你可以輕松地將多個(gè)本地容器組合成一個(gè)完整的應(yīng)用。
以下是使用 Docker Compose 編排本地容器的詳細(xì)步驟:
- 創(chuàng)建 docker-compose.yml 文件
在項(xiàng)目根目錄下創(chuàng)建docker-compose.yml文件,定義所有服務(wù)及其配置:
version: '3'
services:
web:
build: . # 使用當(dāng)前目錄的 Dockerfile 構(gòu)建鏡像
ports:
- "8080:80" # 映射主機(jī)端口 8080 到容器端口 80
depends_on:
- db # 依賴(lài)于數(shù)據(jù)庫(kù)服務(wù)
environment:
- DB_CONNECTION_STRING=server=db;database=myapp;user=sa;password=YourStrongPassword
db:
image: mcr.microsoft.com/mssql/server:2019-latest # 使用官方 SQL Server 鏡像
environment:
- SA_PASSWORD=YourStrongPassword
- ACCEPT_EULA=Y
volumes:
- mssql-data:/var/opt/mssql # 掛載數(shù)據(jù)卷保存數(shù)據(jù)庫(kù)文件
volumes:
mssql-data: # 定義命名卷- 構(gòu)建和啟動(dòng)容器
在項(xiàng)目目錄下執(zhí)行以下命令構(gòu)建并啟動(dòng)所有服務(wù):
docker-compose up -d
-d參數(shù)表示在后臺(tái)運(yùn)行容器- 首次運(yùn)行會(huì)自動(dòng)構(gòu)建或拉取所需鏡像
- 常用命令
# 查看容器狀態(tài) docker-compose ps # 查看服務(wù)日志 docker-compose logs -f web # 停止并刪除容器 docker-compose down # 僅重啟特定服務(wù) docker-compose restart web # 構(gòu)建并重新創(chuàng)建服務(wù)容器 docker-compose up -d --build
高級(jí)配置技巧
- 使用 .env 文件
在項(xiàng)目根目錄創(chuàng)建.env文件,存儲(chǔ)環(huán)境變量:
DB_PASSWORD=YourStrongPassword APP_PORT=8080
在 docker-compose.yml 中引用這些變量:
version: '3'
services:
web:
ports:
- "${APP_PORT}:80"
db:
environment:
- SA_PASSWORD=${DB_PASSWORD}- 多環(huán)境配置
創(chuàng)建docker-compose.prod.yml用于生產(chǎn)環(huán)境:
version: '3'
services:
web:
image: myregistry/web:${VERSION} # 使用預(yù)構(gòu)建鏡像而非本地構(gòu)建
ports:
- "80:80"
db:
volumes:
- /data/mssql:/var/opt/mssql # 使用主機(jī)路徑掛載使用 -f 參數(shù)指定配置文件:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
- 網(wǎng)絡(luò)配置
默認(rèn)情況下,Docker Compose 會(huì)創(chuàng)建一個(gè)專(zhuān)用網(wǎng)絡(luò),所有服務(wù)都可以通過(guò)服務(wù)名互相訪(fǎng)問(wèn)(例如web服務(wù)可以通過(guò)db訪(fǎng)問(wèn)數(shù)據(jù)庫(kù))。
services:
web:
networks:
- my-network
db:
networks:
- my-network
networks:
my-network:通過(guò)這些配置,你可以高效地使用 Docker Compose 管理本地開(kāi)發(fā)環(huán)境中的多個(gè)容器。
以上就是使用Docker Compose編排本地容器的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于Docker Compose編排本地容器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker tomcat的設(shè)置內(nèi)存大小配置方式
這篇文章主要介紹了Docker tomcat的設(shè)置內(nèi)存大小配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
zabbix監(jiān)控docker應(yīng)用配置
今天通過(guò)本文給大家分享zabbix監(jiān)控docker容器的原理及部署的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
docker容器中布置靜態(tài)網(wǎng)站的實(shí)現(xiàn)
這篇文章主要介紹了docker容器中布置靜態(tài)網(wǎng)站的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
詳解docker私有倉(cāng)庫(kù)搭建與使用實(shí)戰(zhàn)
這篇文章主要介紹了詳解docker私有倉(cāng)庫(kù)搭建與使用實(shí)戰(zhàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
解決docker啟動(dòng)失敗Failed?to?start?containerd?container?runtim
這篇文章主要介紹了解決docker啟動(dòng)失敗Failed?to?start?containerd?container?runtime問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Windows10系統(tǒng)下docker安裝指南以及踩坑解決
這篇文章主要給大家介紹了關(guān)于Windows10系統(tǒng)下docker安裝指南以及踩坑解決的相關(guān)資料,相信大家都知道Docker有很多種安裝的選擇,其中支持最好的是Ubuntu系統(tǒng),而且docker如果想在windows上運(yùn)行必須借助docker-machine,需要的朋友可以參考下2023-08-08

