docker-compose 概述
- Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。
- 然而在日常开发工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,
- 往往还需要再加上后端的数据库服务容器;再比如在分布式应用一般包含若干个服务,每个服务一般都会部署多个实例。
- 如果每个服务都要手动启停,那么效率之低、维护量之大可想而知。这时候就需要一个工具能够管理一组相关联的的应用容器,这就是Docker Compose。
Compose重要的概念
- 项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
- 服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
docker compose运行目录下的所有yml文件组成一个工程,一个工程包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
一个服务可包括多个容器实例。docker-compose就是docker容器的编排工具,主要就是解决相互有依赖关系的多个容器的管理。
Docker服务编排
服务编排概念
- 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大。
- 要从Dockerfile build image或者去dockerhub拉取image
- 要创建多个container
- 要管理这些container (启动停止删除)
服务编排:按照一定的业务规则批量管理容器
Docker Compose概述
Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。
使用步骤:
- 1.利用Dockerfile定义运行环境镜像
- 2.使用docker-compose.yml定义组成应用的各服务
- 3.运行docker-compose up启动应用
Docker Compose安装使用
一、安装Docker Compose
Compose目前已经完全支持Linux、Mac oS和windows,在我们安装Compose之前,需要先安装Docker。下面我们以编译好的二进制包方式安装在Linux系统中。
cur1 -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
设置文件可执行权限
chmod +x /usr/loca1/bin/docker-compose
查看版本信息
docker-compose -version
二、卸载Docker Compose
二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
三、使用docker compose编排nginx+springboot项目
1.创建docker-compose目录
mkdir ~/docker-compose
cd ~/docker-compose
2.编写docker-compose.yml文件:vim docker-compose.yml
version: '3'
services:
nginx:
image: nginx
ports:
- 80:80
links:
- app
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
app:
image: app
expose:
- "8080"
3.创建./nginx/conf.d目录
mkdir -p ./nginx/conf.d
4.在./nginx/conf.d目录下编写tzktzk1.conf文件
server {
listen 80;
access_log off;
location / {
proxy_pass http://app:8080;
}
}
5.在~/docker-compose目录下使用docker-compose启动容器
docker-compose up (可在前台查看运行日志)
docker-compose up -d (后台启动)
6.测试访问
http://192.168.149.135/hello (宿主机IP/app项目路径)
网友评论