Docker和DevOps:15.使用Compose部署多容器應用


多容器應用:例如要部署一個wordpress,需要使用wordpress的鏡像創建一個容器,還需要使用mysql的鏡像創建另一個容器用來存儲wordpress的數據。

一、多容器應用的管理痛點

  • 要從Dockerfile文件build多個image或者從DockerHub拉取多個image。
  • 要分別創建多個容器,且創建的時候使用不同的參數。
  • 要分別管理這些容器,啓動、停止、刪除。

二、Docker Compose

1.docker compose解決了多容器應用管理的痛點

在一個文件中定義了多容器的信息,docker compose通過這個文件,對這一組容器進行統一的管理,啓動、停止、刪除。

2.基本介紹
  • Docker Compose是一個工具
  • 這個工具可以通過一個yml文件,來定義多容器應用的信息
  • 通過一條命令,就可以根據yml文件中定義的信息,去創建、管理這多個容器。
  • 這個文件默認的名字是:docker-compose.yml

三、Docker Compose中三大概念

1.Services
  • 一個service定義(代表)一個容器:
    在定義這個容器的時候,可以指定它從某個路徑下的dockerfile中build出一個鏡像從而創建;也可以指定從dockerhub的image創建。
  • 可以給service指定network和volume:
    就如同docker run是指定-v參數一樣。但是這裏指定network和volume並不是直接指定具體的值,而是指定他們的名稱,具體的值由下面的其他兩大概念指定。
  • 示例:
    docker run -d --network=tier-b -v=mysql_data:/var/lib/mysql mysql:latest
    在這裏插入圖片描述
    在這裏插入圖片描述
2.Volumes
services:
	...
volumes:
	mysql_data:	/docker_data/mysql	# 指定這個volume的名稱和路徑
3.Networks
services:
	...
volumes:
	...
networks:
	tier-b:				# 指定這個network的名稱,services中用的就是這個名稱
		driver: bridge

四、Linux下安裝Docker Compose

  • 下載docker compose的可執行文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

在這裏插入圖片描述

  • 給文件夾可執行權限
sudo chmod +x /usr/local/bin/docker-compose

在這裏插入圖片描述

  • 測試
    在這裏插入圖片描述

五、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章