Docker compose

任务编排介绍

场景:
我们在工作中为了完成业务目标,首先把业务拆分成多个子任务,然后对这些子任务进行顺序组合,当子任务按照方 案执行完毕后,就完成了业务目标。

任务编排,就是对多个子任务执行顺序进行确定的过程。

常见的任务编排工具

  • 单机版:
    docker compose
  • 集群版:
    Docker swarm —> Docker
    Mesos —> Apache
    kubernetes —> Google

什么是 docker compose

Docker compose是一种docker容器的任务编排工具。

官方地址:https://docs.docker.com/compose/

本质: docker 工具

对象: 应用服务

配置: YAML 格式配置文件

执行: 定义和运行容器

实例 1

目的 : 启动两个 nginx 服务。
docker-compose.yml 文件内容:

version: '2'
services:
  web1:
    image: nginx
    ports:
      - "9999:80"
    container_name: nginx-web1
  web2:
    image: nginx
    ports:
      - "8888:80"
    container_name: nginx-web2

加上 -d 参数在后台启动, 如果不加 -d 参数就会卡在前台

docker-compose up -d

在这里插入图片描述
查看运行效果:

docker-compose ps

在这里插入图片描述

相关命令

后台启动:docker-compose up -d
删除服务: docker-compose down
查看正在运行的服务: docker-compose ps
启动一个服务: docker-compose start <服务名>
停止一个服务: docker-compose stop <服务名>
上面两项如果后面不加服务名字,会启动和停止所有的服务。
删除服务: docker-compose rm <服务名>
但是 docker-compose rm 不会删除对应的网络和数据卷

查看正在运行的服务 : docker-compose ps
查看运行服务的日志: docker-compose logs -f
加上 -f 选项,可以持续跟踪服务产生的日志
查看服务依赖的镜像: docker-compose images
在这里插入图片描述
进入服务容器:docker-compose exec <服务名> <执行命令>
在这里插入图片描述
查看服务网络: docker network ls
在这里插入图片描述
可以用 docker-compose --help 查看其它命令。

示例2 Django项目

需求: 自动部署一个集群,使用 nginx 代理两个项目
流程分析:

  1. Django项目部署
  2. nginx代理部署
  3. docker 环境
  4. docker compose 任务编排

技术点分析:

  • Django 项目部署
    Django 项目基础环境
    Django 项目配置
  • nginx代理部署
    nginx的配置文件
  • docker环境
    docker 基础镜像
    Django镜像
    nginx镜像
  • docker compose 任务编排
    4个任务: 一个镜像构建任务,2个Django任务
    任务依赖: Django镜像依赖于基础镜像完毕

步骤:
1 创建目录: mkdir project
2 创建 nginx 目录: cd project; mkdir nginx; cd nginx
3 生成 nginx 负载均衡配置: nginx-django.conf

upstream django {
    server 192.168.233.56:10086;
    server 192.168.233.56:10087;
}
server {
    listen 80;
    server_name _;
    location / {
        proxy_pass http://django;
        index index.html index.htm; }
}

4 生成Django基础镜像依赖文件:
mkdir django-base; cd django-base
5 创建Dockerfile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值