使用docker?compose快速配置一組容器服務(wù)詳解
需求分析
在開發(fā)工作中,經(jīng)常會(huì)碰到需要多個(gè)容器相互配合來完成某項(xiàng)任務(wù)的情況。例如要實(shí)現(xiàn)一個(gè) Web 項(xiàng)目,除了 Web 服務(wù)容器本身,往往還需要再加上后端的數(shù)據(jù)庫服務(wù)容器等等
一、docker-compose介紹
Compose 項(xiàng)目是 Docker 官方的開源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對(duì) Docker 容器集群的快速編排,docker-compose.yml是一個(gè)項(xiàng)目,項(xiàng)目是由一組相關(guān)的應(yīng)用程序容器組成。服務(wù)是在docker-compose中定義的。項(xiàng)目中的某一個(gè)容器稱為服務(wù)
常見的關(guān)鍵字
- Services:(服務(wù))是指一組定義了應(yīng)用程序的容器
- volumes: 定義應(yīng)用中使用的卷,用于持久化數(shù)據(jù)或與宿主機(jī)共享文件。
- image: 指定服務(wù)的鏡像名稱。
- environment: 設(shè)置服務(wù)容器的環(huán)境變量。
- command: 設(shè)置容器啟動(dòng)時(shí)執(zhí)行的命令。
- environment: 設(shè)置服務(wù)容器的環(huán)境變量。
- restart: 設(shè)置服務(wù)容器的重啟策略,如always表示總是重啟。
- networks: 定義應(yīng)用中使用的網(wǎng)絡(luò),允許服務(wù)之間相互通信。
這里單獨(dú)介紹一下volumes
通過配置可以讓docker容器內(nèi)的數(shù)據(jù)與本地系統(tǒng)的進(jìn)行映射
volumes: - ./db:/var/lib/mysql
二、配置一個(gè)docker-compose.yml
version: '3.1' services: dentistry_mysql: image: mariadb:10.2 #代表使用的哪個(gè)鏡像 類似與docker run 指定的鏡像名稱 hostname: mysql57 ports: #代碼宿主機(jī)和容器中端口映射 類似與docker run -p 參數(shù) - "3312:3306" command: [ '--character-set-server=utf8mb4', #設(shè)置數(shù)據(jù)庫表的數(shù)據(jù)集 '--collation-server=utf8mb4_general_ci', #設(shè)置數(shù)據(jù)庫表的數(shù)據(jù)集 ] restart: always environment: #代表給當(dāng)前容器啟動(dòng)指定環(huán)境 類似于docker run -e MYSQL_ROOT_PASSWORD=root MYSQL_ROOT_PASSWORD: yunzhi MYSQL_DATABASE: dentistry #這是指定在容器啟動(dòng)時(shí)創(chuàng)建的初始數(shù)據(jù)庫的名稱。 volumes: - ./db:/var/lib/mysql networks: - net dentistry_redis: image: "redis:latest" ports: - "6379:6379" networks: - net
啟動(dòng)docker-compose
docker-compose up -d
通過DataGrip進(jìn)行測(cè)試連接
總結(jié)
通過Docker Compose,你可以更輕松地管理和部署復(fù)雜的應(yīng)用程序,提高開發(fā)和部署效率。只需要配置一個(gè)yml文件,可以快速構(gòu)建docker容器
參考資料
Docker Compose 官方文檔:https://docs.docker.com/compose/
菜鳥教程:https://www.runoob.com/docker/docker-compose.html
以上就是使用docker- compose快速配置一組容器服務(wù)詳解的詳細(xì)內(nèi)容,更多關(guān)于docker- compose配置容器服務(wù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- docker常用容器啟動(dòng)docker-compose.yml配置文件使用
- 關(guān)于immich?docker-compose.yml配置文件詳解
- 在docker-compose.yml文件中配置容器的環(huán)境變量方式
- docker-compose.yml參數(shù)的用法(配置文件)
- Springboot使用docker-compose實(shí)現(xiàn)動(dòng)態(tài)配置過程
- docker-compose配置并部署redis服務(wù)的實(shí)現(xiàn)
- 詳解Docker Compose配置文件參數(shù)
- Docker compose配置文件寫法及命令使用示例
- docker-compose安裝yml文件配置方式
- docker compose 一鍵部署分布式配置中心Apollo的過程詳解
- docker-compose部署配置jenkins的詳細(xì)教程
- Docker Compose 配置指南小結(jié)
相關(guān)文章
Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題
這篇文章主要介紹了Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05docker中使用mysql數(shù)據(jù)庫詳解(在局域網(wǎng)訪問)
這篇文章主要給大家介紹了在docker中使用mysql數(shù)據(jù)庫,在局域網(wǎng)訪問的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程
下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署Firefox瀏覽器的相關(guān)資料,這對(duì)于一些特殊的測(cè)試場景非常有用,例如需要在不同版本的瀏覽器中進(jìn)行測(cè)試,需要的朋友可以參考下2024-04-04Docker-Compose實(shí)現(xiàn)Mysql主從的示例代碼
本文主要介紹了Docker-Compose實(shí)現(xiàn)Mysql主從的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06IDEA使用Docker插件遠(yuǎn)程部署項(xiàng)目到云服務(wù)器的方法步驟
這篇文章主要介紹了IDEA使用Docker插件遠(yuǎn)程部署項(xiàng)目到云服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Docker Compose多容器部署的實(shí)現(xiàn)
這篇文章主要介紹了Docker Compose多容器部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10