docker-compose常用命令及.yaml配置模板方式
更新時間:2025年05月30日 09:40:00 作者:曹弘毅
這篇文章主要介紹了docker-compose常用命令及.yaml配置模板方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
docker-compose常用命令
docker-compose -f mysql-docker-compose.yaml up -d docker-compose -f mysql-docker-compose.yaml down
docker-compose的常用命令包括:
docker-compose up:啟動并運行Compose文件中的服務。docker-compose stop:停止Compose文件中的服務。docker-compose restart:重啟Compose文件中的服務。docker-compose down:停止并刪除Compose服務,同時刪除網絡、卷和鏡像。docker-compose ps:列出Compose服務中的容器。docker-compose logs:查看Compose服務中的容器的日志。docker-compose build:構建Compose服務中的鏡像。docker-compose pull:拉取Compose服務中的鏡像。docker-compose rm:刪除Compose服務中的容器。docker-compose start:啟動Compose服務中已停止的容器。docker-compose run:在Compose服務中運行一個命令。docker-compose scale:改變Compose服務中容器的數量。docker-compose pause:暫停Compose服務中的容器。docker-compose kill:強制停止Compose服務中的容器。docker-compose port:顯示Compose服務中容器的端口映射。docker-compose config:驗證和顯示Compose文件的配置。docker-compose create:基于Compose文件創(chuàng)建容器。docker-compose exec:在Compose服務的容器中執(zhí)行命令。docker-compose push:將Compose服務中的鏡像推送到Docker Hub或注冊服務器。docker-compose unpause:恢復Compose服務中容器的運行。
這些命令可以幫助你管理Docker Compose應用程序,包括啟動、停止、重啟、構建、拉取、刪除等操作。
docker-compose.yml配置模板通常包含以下內容
docker-compose.yml配置模板通常包含以下內容:
- 服務定義:在模板中為每個服務定義一個條目,指定服務的名稱、鏡像、構建指令、環(huán)境變量、網絡等配置。
- 鏡像:指定服務使用的Docker鏡像??梢允褂帽镜冂R像或公共鏡像,也可以使用Dockerfile構建自定義鏡像。
- 構建指令:如果使用自定義鏡像,可以在模板中指定Dockerfile的位置和構建參數。
- 環(huán)境變量:為服務配置環(huán)境變量,可以通過鍵值對的形式設置。
- 端口映射:將容器的端口映射到主機端口,以使容器服務可訪問。
- 卷掛載:將主機目錄或文件掛載到容器中,以便持久化存儲數據或共享數據。
- 網絡:定義服務所在的網絡,可以選擇默認網絡或自定義網絡。
- 命令:指定容器啟動后運行的命令。
- 容器鏈接:將一個服務的容器鏈接到另一個服務的容器,以便它們可以相互通信。
- 其他選項:根據需要配置其他選項,如CPU和內存限制、日志驅動程序等。
version: "3"
services:
sky-inspect-front:
image: repository.dayu.work/brace/sky-inspect-frontend:jenkins-sky-inspect-frontend-pre-874842-1
restart: always
container_name: sky-inspect-front
ports:
- "30082:8080"
env_file:
- .env
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-back:
image: repository.dayu.work/brace/sky-inspect-backend:jenkins-sky-inspect-backend-pre-804072-6
restart: always
container_name: sky-inspect-back
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- META_DB_SCHEMA=sky_inspect
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-mini:
image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
restart: always
container_name: sky-inspect-mini
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- SIM_ROLE=MASTER
- META_DB_SCHEMA=sky_inspect_mini
networks:
- sky-net
logging:
driver: "json-file"
options:
max-size: "1g"
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
sky-inspect-mini-leader:
image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
restart: always
volumes:
- './files:/app/files:rw'
- './files/log:/app/log:rw'
env_file:
- .env
networks:
- sky-net
entrypoint:
- java
- -server
- -Xms8g
- -Xmx8g
- -Xmn6g
- -XX:SurvivorRatio=8
- -Dfile.encoding=UTF-8
- -Dproject.name=SIM
- -jar
- -Duser.timezone=GMT+08
- start-1.0-SNAPSHOT.jar
environment:
- SIM_ROLE=LEADER
- META_DB_SCHEMA=sky_inspect_mini
logging:
driver: "json-file"
options:
max-size: "1g"
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
- "service.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.96"
- "dt.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.104"
sky-data-source:
image: repository.dayu.work/brace/data-source-backend:jenkins-data-source-backend-daily-862940-6
restart: always
container_name: sky-data-source
volumes:
- './files:/app/files:rw'
env_file:
- .env
environment:
- META_DB_SCHEMA=sky_data_source
networks:
- sky-net
extra_hosts:
- "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
mysql:
image: mysql:5.7
container_name: mysql
env_file:
- .env
ports:
- "30036:3306"
restart: always
volumes:
- ./mysql/config-file.cnf:/etc/mysql/conf.d/config-file.cnf
- ./mysql/data:/var/lib/mysql
- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
- /etc/hosts:/etc/hosts
healthcheck:
test: mysqladmin ping -h127.0.0.1 -uroot --password=123xxxxxx
interval: 1s
timeout: 3s
retries: 10
networks:
- sky-net
networks:
sky-net:
driver: bridge總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解Windows?利用?WSL2?安裝?Docker?的2種方式
這篇文章主要介紹了Windows?利用?WSL2?安裝?Docker?的2種方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
Docker Compose實現一鍵部署前后端分離項目的完整指南
這篇文章主要為大家詳細介紹了Docker Compose實現一鍵部署前后端分離項目的相關方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2026-02-02

