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文件中的服務(wù)。docker-compose stop
:停止Compose文件中的服務(wù)。docker-compose restart
:重啟Compose文件中的服務(wù)。docker-compose down
:停止并刪除Compose服務(wù),同時刪除網(wǎng)絡(luò)、卷和鏡像。docker-compose ps
:列出Compose服務(wù)中的容器。docker-compose logs
:查看Compose服務(wù)中的容器的日志。docker-compose build
:構(gòu)建Compose服務(wù)中的鏡像。docker-compose pull
:拉取Compose服務(wù)中的鏡像。docker-compose rm
:刪除Compose服務(wù)中的容器。docker-compose start
:啟動Compose服務(wù)中已停止的容器。docker-compose run
:在Compose服務(wù)中運行一個命令。docker-compose scale
:改變Compose服務(wù)中容器的數(shù)量。docker-compose pause
:暫停Compose服務(wù)中的容器。docker-compose kill
:強制停止Compose服務(wù)中的容器。docker-compose port
:顯示Compose服務(wù)中容器的端口映射。docker-compose config
:驗證和顯示Compose文件的配置。docker-compose create
:基于Compose文件創(chuàng)建容器。docker-compose exec
:在Compose服務(wù)的容器中執(zhí)行命令。docker-compose push
:將Compose服務(wù)中的鏡像推送到Docker Hub或注冊服務(wù)器。docker-compose unpause
:恢復(fù)Compose服務(wù)中容器的運行。
這些命令可以幫助你管理Docker Compose應(yīng)用程序,包括啟動、停止、重啟、構(gòu)建、拉取、刪除等操作。
docker-compose.yml配置模板通常包含以下內(nèi)容
docker-compose.yml配置模板通常包含以下內(nèi)容:
- 服務(wù)定義:在模板中為每個服務(wù)定義一個條目,指定服務(wù)的名稱、鏡像、構(gòu)建指令、環(huán)境變量、網(wǎng)絡(luò)等配置。
- 鏡像:指定服務(wù)使用的Docker鏡像。可以使用本地鏡像或公共鏡像,也可以使用Dockerfile構(gòu)建自定義鏡像。
- 構(gòu)建指令:如果使用自定義鏡像,可以在模板中指定Dockerfile的位置和構(gòu)建參數(shù)。
- 環(huán)境變量:為服務(wù)配置環(huán)境變量,可以通過鍵值對的形式設(shè)置。
- 端口映射:將容器的端口映射到主機端口,以使容器服務(wù)可訪問。
- 卷掛載:將主機目錄或文件掛載到容器中,以便持久化存儲數(shù)據(jù)或共享數(shù)據(jù)。
- 網(wǎng)絡(luò):定義服務(wù)所在的網(wǎng)絡(luò),可以選擇默認(rèn)網(wǎng)絡(luò)或自定義網(wǎng)絡(luò)。
- 命令:指定容器啟動后運行的命令。
- 容器鏈接:將一個服務(wù)的容器鏈接到另一個服務(wù)的容器,以便它們可以相互通信。
- 其他選項:根據(jù)需要配置其他選項,如CPU和內(nèi)存限制、日志驅(qū)動程序等。
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
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
k3s?通過docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過docker部署?Kubernetes的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11導(dǎo)出與導(dǎo)入Docker的容器實現(xiàn)示例
本文主要介紹了導(dǎo)出與導(dǎo)入Docker的容器實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12解決docker啟動容器錯誤:docker:Error response from dae
這篇文章主要介紹了解決docker啟動容器錯誤:docker:Error response from daemon:OCI runtime create failed問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05