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:啟動(dòng)并運(yùn)行Compose文件中的服務(wù)。docker-compose stop:停止Compose文件中的服務(wù)。docker-compose restart:重啟Compose文件中的服務(wù)。docker-compose down:停止并刪除Compose服務(wù),同時(shí)刪除網(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:啟動(dòng)Compose服務(wù)中已停止的容器。docker-compose run:在Compose服務(wù)中運(yùn)行一個(gè)命令。docker-compose scale:改變Compose服務(wù)中容器的數(shù)量。docker-compose pause:暫停Compose服務(wù)中的容器。docker-compose kill:強(qiáng)制停止Compose服務(wù)中的容器。docker-compose port:顯示Compose服務(wù)中容器的端口映射。docker-compose config:驗(yàn)證和顯示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ù)中容器的運(yùn)行。
這些命令可以幫助你管理Docker Compose應(yīng)用程序,包括啟動(dòng)、停止、重啟、構(gòu)建、拉取、刪除等操作。
docker-compose.yml配置模板通常包含以下內(nèi)容
docker-compose.yml配置模板通常包含以下內(nèi)容:
- 服務(wù)定義:在模板中為每個(gè)服務(wù)定義一個(gè)條目,指定服務(wù)的名稱、鏡像、構(gòu)建指令、環(huán)境變量、網(wǎng)絡(luò)等配置。
- 鏡像:指定服務(wù)使用的Docker鏡像??梢允褂帽镜冂R像或公共鏡像,也可以使用Dockerfile構(gòu)建自定義鏡像。
- 構(gòu)建指令:如果使用自定義鏡像,可以在模板中指定Dockerfile的位置和構(gòu)建參數(shù)。
- 環(huán)境變量:為服務(wù)配置環(huán)境變量,可以通過鍵值對(duì)的形式設(shè)置。
- 端口映射:將容器的端口映射到主機(jī)端口,以使容器服務(wù)可訪問。
- 卷掛載:將主機(jī)目錄或文件掛載到容器中,以便持久化存儲(chǔ)數(shù)據(jù)或共享數(shù)據(jù)。
- 網(wǎng)絡(luò):定義服務(wù)所在的網(wǎng)絡(luò),可以選擇默認(rèn)網(wǎng)絡(luò)或自定義網(wǎng)絡(luò)。
- 命令:指定容器啟動(dòng)后運(yùn)行的命令。
- 容器鏈接:將一個(gè)服務(wù)的容器鏈接到另一個(gè)服務(wù)的容器,以便它們可以相互通信。
- 其他選項(xiàng):根據(jù)需要配置其他選項(xiàng),如CPU和內(nèi)存限制、日志驅(qū)動(dòng)程序等。
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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- centOS中安裝docker-composer時(shí)報(bào)錯(cuò)問題及解決
- docker-compose編排單體nacos、rabbitmq、redis基礎(chǔ)服務(wù)詳解
- docker-compose 搭建redis集群(三臺(tái)服務(wù)器,每臺(tái)服務(wù)器上一主一從)
- docker常用容器啟動(dòng)docker-compose.yml配置文件使用
- docker-compose離線部署ollama+open-webui的實(shí)現(xiàn)步驟
- docker-compose部署coredns如何實(shí)現(xiàn)自建DNS服務(wù)
- docker-compose如何自定義network
相關(guān)文章
k3s?通過docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過docker部署?Kubernetes的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Docker啟動(dòng)參數(shù)超詳細(xì)講解
在啟動(dòng)Docker容器時(shí),我們可以通過添加參數(shù)來修改容器的配置,這樣可以靈活地適應(yīng)不同的場景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動(dòng)參數(shù)的相關(guān)資料,需要的朋友可以參考下2024-01-01
導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例
本文主要介紹了導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
解決docker啟動(dòng)容器錯(cuò)誤:docker:Error response from dae
這篇文章主要介紹了解決docker啟動(dòng)容器錯(cuò)誤:docker:Error response from daemon:OCI runtime create failed問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Docker 實(shí)現(xiàn)容器端口綁定本地端口
這篇文章主要介紹了Docker 實(shí)現(xiàn)容器端口綁定本地端口的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03

