使用Docker Compose編排本地容器的詳細步驟
使用 Docker Compose 編排本地容器
Docker Compose 是一個用于定義和運行多容器 Docker 應用的工具。通過 docker-compose.yml 文件,你可以輕松地將多個本地容器組合成一個完整的應用。
以下是使用 Docker Compose 編排本地容器的詳細步驟:
- 創(chuàng)建 docker-compose.yml 文件
在項目根目錄下創(chuàng)建docker-compose.yml文件,定義所有服務及其配置:
version: '3'
services:
web:
build: . # 使用當前目錄的 Dockerfile 構建鏡像
ports:
- "8080:80" # 映射主機端口 8080 到容器端口 80
depends_on:
- db # 依賴于數(shù)據(jù)庫服務
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ù)庫文件
volumes:
mssql-data: # 定義命名卷- 構建和啟動容器
在項目目錄下執(zhí)行以下命令構建并啟動所有服務:
docker-compose up -d
-d參數(shù)表示在后臺運行容器- 首次運行會自動構建或拉取所需鏡像
- 常用命令
# 查看容器狀態(tài) docker-compose ps # 查看服務日志 docker-compose logs -f web # 停止并刪除容器 docker-compose down # 僅重啟特定服務 docker-compose restart web # 構建并重新創(chuàng)建服務容器 docker-compose up -d --build
高級配置技巧
- 使用 .env 文件
在項目根目錄創(chuàng)建.env文件,存儲環(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} # 使用預構建鏡像而非本地構建
ports:
- "80:80"
db:
volumes:
- /data/mssql:/var/opt/mssql # 使用主機路徑掛載使用 -f 參數(shù)指定配置文件:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
- 網(wǎng)絡配置
默認情況下,Docker Compose 會創(chuàng)建一個專用網(wǎng)絡,所有服務都可以通過服務名互相訪問(例如web服務可以通過db訪問數(shù)據(jù)庫)。
services:
web:
networks:
- my-network
db:
networks:
- my-network
networks:
my-network:通過這些配置,你可以高效地使用 Docker Compose 管理本地開發(fā)環(huán)境中的多個容器。
以上就是使用Docker Compose編排本地容器的詳細步驟的詳細內容,更多關于Docker Compose編排本地容器的資料請關注腳本之家其它相關文章!
相關文章
win7環(huán)境下Docker快速構建及阿里云容器加速配置詳解
這篇文章主要介紹了win7環(huán)境下Docker快速構建及阿里云容器加速配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
Docker數(shù)據(jù)管理與網(wǎng)絡通信的使用
這篇文章主要介紹了Docker數(shù)據(jù)管理與網(wǎng)絡通信的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
阿里云ECS(CentOS鏡像)安裝docker的實現(xiàn)步驟
本文主要介紹了阿里云ECS(CentOS鏡像)安裝docker的實現(xiàn)步驟,從準備工作到實際安裝步驟,詳細解析每一步操作,具有一定的參考價值,感興趣的可以了解一下2024-01-01
Docker容器化部署嘗試——多容器通信(node+mongoDB+nginx)
這篇文章主要介紹了Docker容器化部署嘗試——多容器通信(node+mongoDB+nginx),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12

