zoukankan      html  css  js  c++  java
  • docker-compose使用笔记

    继上篇 Docker使用笔记 ,成功地在一台服务器上创建了docker 镜像仓库,然后在其它服务器 下载这个仓库的镜像,并试运行。这对于做多机子负载运维工作,已经是非常便利了,一旦我们在一台服务器上发布过服务之后,后面就不用在其它服务器上重复运维操作,只需2步即可:下载镜像,运行镜像。

    但是新的问题来了,如果第一台机子布署的这个应用,是一个微服务架构,或者多应用分布式架构,站点加服务,一共有几十个,那也是比较麻烦的事情。有没有一种方式可以一次性配置,一键发布呢?当时是有的,我们可以手动写批处理命令。不过还是要花费不少的时间和精力。Docker-compose可以非常便利地解决这个问题,只需要写一份配置文件,然后执行即可。这要比自己写批处理命令要来得高效。

    下面是docker-compose的安装,ubuntu系统安装都是快:  #apt install docker-compose  可以去点根烟了...

    回来看看安装情况, #docker-compose version

    docker-compose version 1.8.0, build unknown
    docker-py version: 1.9.0
    CPython version: 2.7.12
    OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016

    发现版本有点低,不过也没关系

    下面是写一份 docker-compose.yaml

    我这份文件比较简单,就是部署2个 web app

    version: "2"
    services:
     app-1:
      image: 192.168.40.128:5000/dotnetimage:1.0
      container_name: dotnetapp-container-1
      expose:
       - "80"
      ports:
       - "8022:80"
      networks:
      - dotnetcore-network
    
     app-2:
      image: 192.168.40.128:5000/dotnetimage:1.0
      container_name: dotnetapp-container-2
      expose:
       - "80"
      ports:
       - "8023:80"
      networks:
       - dotnetcore-network
    
    networks: ##定义网络组
     dotnetcore-network: ## 网络组名称
      driver: bridge ## 网络的模式

    版本号只能选2, 因为安装的dock-compose版本有点低

    2个容器都是用着同一个私有仓库, 192.168.40.128:5000/dotnetimage:1.0

    2个不同的对外端口,8022,8023

    分别自定义了容器名:dotnetapp-container-1  dotnetapp-container-2

    将这个文件放在第2台服务器,此时这台服务器需要安装 docker和docker-compose

    在此文件所在的文件下执行 #docker-compose build

    app-2 uses an image, skipping
    app-1 uses an image, skipping

    说是跳过,不知何故。不知到底是build成功了没有。

    尝试性地再执行 #docker-compose up

    容器创建成功了

    但这是前台模式,必须Ctrl+C才能做其它事,只能先卸下来 #docker-compose down

    然后再 #docker-compose up -d  后台进程运行

    试验结果:

    一步到位,发布了2个web app, 这就是容器编排 docker-compose 的魅力!

  • 相关阅读:
    阿里云CDN缓存加速学习总结
    阿里云SLB学习总结
    zabbix3.2安装
    drf中的增删改查接口
    drf中二次封装Response
    drf常用模块
    Django—auth模块
    csrf跨站请求伪造与CBV装饰器
    Django—cookie与session
    Django—中间件(待更新)
  • 原文地址:https://www.cnblogs.com/wikiz/p/12172547.html
Copyright © 2011-2022 走看看