合肥专业制作网站互联网营销师在哪里报名
目录
Compose
简介
概念
为什么需要?
配置字段
常用命令
安装
1.下载
2.授权
使用
1.创建文件
2.启动
docker Swarm
关键概念
调度策略
spread
binpack
random
特性
集群部署
1.准备
2.创建swarm并添加节点
在主服务器上创建swarm集群
节点加入集群
查看节点信息
Compose
简介
Docker Compose是一个用于定义和运行多个Docker容器的工具。它允许用户使用YML文件来配置应用程序需要的所有服务,然后使用一个命令,就可以从YML文件配置中创建并启动所有服务。Docker Compose简化了Docker容器的管理和部署过程,使容器管理变得更加高效和可靠
概念
docker-compose将所管理的容器分为三层:工程、服务、容器
工程:docker-compose运行目录下的所有文件(docker-compose.yml文件、extends文件或环境变量等)组成一个工程,如无特殊指定,工程名即为当前目录名
服务:可以包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖
容器:一个服务中可以包括多个容器实例,docker-compose并没有解决负载均衡的问题
docker-compose的工程配置文件默认为docker-compose.yml
为什么需要?
就是来管理多个容器的,定义启动顺序的,合理编排,方便管理
配置字段
常用命令
运行这些命令需要结合docker-compose一起使用。
且必须要在含有docker-compose.yml文件的目录中才可以使用,不然报错
docker-compose up
:启动Compose服务。docker-compose start
:重新启动已停止的Compose服务。docker-compose stop
:停止Compose服务。docker-compose rm -f
:删除已停止的Compose服务。docker-compose ps
:列出Compose服务中的各个容器docker-compose build
:重新构建服务docker-compose exec
:在容器里面执行命令docker-compose scale
:指定一个服务容器启动数量docker-compose top
:显示正在运行中的容器进程docker-compose logs
:查看服务容器的输出docker-compose down
:删除容器、网络、数据卷和镜像
安装
docker-compose是docker的独立产品,因此需要安装docker之后再单独安装docker compose
1.下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2.授权
给他一个执行权限
sudo chmod +x /usr/local/bin/docker-compose
使用
docker-compose通过docker-compose编写yaml配置文件、可以通过compose一键启动所有服务,停止
1.创建文件
项目根目录下创建一个名为docker-compose.yml
的文件
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
db:
image: mysql
ports:
- 3306:3306
2.启动
项目根目录下使用命令:docker-compose up
docker Swarm
Swarm是Docker公司推出的用来管理docker集群的平台;多台服务器搭建一个docker集群,每个服务器就是集群中的一个节点。
关键概念
swarm :集群管理工具
node :节点,一个节点就是docker集群中的一个实例,我们可以在单台服务器上运行一个或多个节点。
service :应用编排
task : 应用实例
从集群角度来说,一个 Swarm 由一个或多个 Docker 节点组成。这些节点可以是物理服务器、虚拟机、树莓派(Raspberry Pi)或云实例。唯一的前提就是要求所有节点通过可靠的网络相连
调度策略
swarm在调度(scheduler)节点(leader节点)运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread,binpack,random
spread
选择运行容器最少的那台节点来运行新的容器;使用Spread策略会使得容器会均衡的分布在集群中的各个节点上运行,一旦一个节点挂掉了只会损失少部分的容器
binpack
最大化的避免容器碎片化,就是说binpack策略尽可能的把还未使用的节点留给需要更大空间的容器运行,尽可能的把容器运行在一个节点上面
random
就是随机选择一个Node来运行容器,一般用作调试用
特性
1.强大的集群容错性
2.服务节点的可拓展性
集群部署
1.准备
准备3台服务器,并安装好docker
yum -y install docker
修改3台服务器主机名
关闭3台服务器防火墙
2.创建swarm并添加节点
在主服务器上创建swarm集群
docker swarm init --advertise-addr 192.168.21.142
Swarm initialized: current node (qcjc4vkza2nr4uj2p1fwvpx4e) is now a manager.
节点加入集群
在两台节点服务器上执行以下命令,将服务器加入到swarm集群,作为集群的节点使用
docker swarm join --token SWMTKN-1-4kdb7ysckerhxc6gxc3bpltkxtm8o45yq1ikyv1kie825zibhh-bhwazb9y8i3s92v8mpv5c06so 192.168.21.142:2377
查看节点信息
docker info