1 服务编排介绍
(1)服务编排
微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大:
(1-1)要从Dockerfile build image或者去docker hub拉取image
(1-2)要创建多个container
(1-3)要管理这些container(启动、停止、删除)
服务编排:按照一定的业务规则批量管理容器。
(2)Docker Compose
Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建、启动和停止。
使用步骤:
(2-1)利用Dockerfile定义运行环境镜像
(2-2)使用docker-compose.yml定义组成应用的各服务
(2-3)运行docker-compose up启动应用
2 安装Docker Compose
2.1 安装方式一
(1)安装 docker-compose
以编译好的二进制包的方式安装在linux系统中
#curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-uname -s
-uname -m
-o /usr/local/bin/docker-compose
设置文件可执行权限
#chmod +x /usr/local/bin/docker-compose
查看版本信息
#docker-compose -version
(2)卸载 docker-compse
二进制包方式安装的,删除二进制文件即可。
#rm /usr/local/bin/docker-compose
2.2 安装方式二
#pip install docker-compose
#docker-compose version
docker-compose version 1.25.4, build unknown
docker-py version: 4.2.0
CPython version: 3.7.0
OpenSSL version: OpenSSL 1.0.2p 14 Aug 2018
3 编排nginx和flask
(1)远程拉取nginx镜像,拉取后即可,不必做任何处理
#docker pull nginx
(2)创建myflask:1.0镜像
(3)Docker-compose配置
#mkdir -p /root/mydockercompose
#cd /root/mydockercompose/
(3-1)编写docker-compose.yml
#vi docker-compose.yml【此文件名不可变】
在这里插入代码片
(3-2)编写nginx的反向代理
#mkdir -p /root/nginx/conf.d
在此目录下,编写反向代理文件myflasknginx.conf
server {
listen 80;
location / {
proxy_pass http://myname:5000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意因为nginx与flask应用不在同一个容器中
(4)启动服务
#docker-compose up
(5)外部机器访问
http://192.168.236.129:80
会被反向代理到
http://192.168.236.129:5000