docker容器编排原来这么丝滑~
前言:
请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i
概念介绍:
Docker
Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我们使用其他容器技术的核心。
Docker-Compose
前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知
优点:
根据定义的docker-compose.yaml配置文件批量容器编排,轻松高效的管理容器定义,Docker就会按照你声明的配置去把所有的容器启动起来及运行
缺点:
但是Docker-Compose只能管理当前主机上的Docker,也就是说不能去启动其他主机上的Docker容器
使用事项:
compose是docker官方的开源项目,需要安装!与它配对使用的是一个docker-compose.yaml文件,docker-compose命令必须在一个包含docker-compose.yaml文件目录下才能使用。
Compose 使用的三个步骤:
-
使用
Dockerfile定义应用程序的环境。 -
使用
docker-cmpose.yaml定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。 -
最后,执行
docker-cmpose up命令来启动并运行整个应用程序。
docker-cmpose.yaml的配置案例如下(配置参数参考下文):
version: "3.0" # 对于docker版本号
services: #定义服务
web: #web引用,自己编写的程序,下面是应用配置
build: . #获取当前目录下Dockerfile文件编译
depends_on: #代表启动顺序
- db
- redis
ports:
- "5000:5000" #端口暴露
volumes: #挂载路径
- .:/code
- logvolume01:/var/log
links:
- redis
redis: #redis应用
image: redis
deploy:
replicas: 6 #副本数
db: #db应用
images:postgres
volumes:
logvolume01: {}


