ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

自动化运维之docker三剑客——Docker Machine、Docker Compose、Docker Swarm(未完待续)

2022-02-27 16:59:28  阅读:223  来源: 互联网

标签:machine Machine Compose 未完待续 Swarm Docker docker 三剑客


一、Docker Machine

1、Docker Machine简介

Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。

Docker Machine支持在常规Linux操作系统、虚拟化平台、openstack、公有云等不同环境下安装配置docker host。

Docker Machine 项目基于 Go 语言实现,目前在 Github 上的维护地址: https://github.com/docker/machine/

2、Docker Machine实践

新建一个纯净的虚拟机server3,用docker-machine在server3上部署docker

准备工作一:需要用到主机的Apache,发布此文件作为给server3部署的docker软件源。

准备工作二:在主机的Apache发布目录中编辑自动执行脚本

 准备工作三:通过server1上的docker-machine为server3部署docker

[root@server1 ~]# docker-machine create --driver generic --engine-install-url "http://172.25.254.50/get-docker.sh" --generic-ip-address=172.25.254.3 server3
#指定安装脚本的url; 指定目标主机server3及IP

安装结果如下:已经自动配置好server3的docker源 和docker软件

 创建流程:

ssh免密登陆远程主机

安装docker软件包

复制证书

配置docker daemon

启动docker

查看主机:

docker-machine 子命令: 

docker-machine upgrade  server2    更新docker版本

docker-machine config  server2    查看machine配置

docker-machine scp             可以在machine中复制文件

docker-machine ssh            连接machine

docker-machine rm            删除machine

二、Docker Compose

1、Docker Compose简介

微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

Docker Compose是一种编排服务,基于pyhton语言实现,是一个用于在 Docker 上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用。

用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。 解决了容器与容器之间如何管理编排的问题。

Docker Compose 中有两个重要的概念:

服务 (service) :一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

项目 (project) :由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

2、Docker Compose实践

官方文档:

Compose file | Docker DocumentationCompose file referencehttps://docs.docker.com/compose/compose-file/

三、Docker Swarm

1、Docker Swarm简介

Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。

Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。

Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。

Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。

 Docker Swarm 优点:

任何规模都有高性能表现

灵活的容器调度

服务的持续可用性

和 Docker API 及整合支持的兼容性

Docker Swarm 为 Docker 化应用的核心功能(诸如多主机网络和存储卷管理)提供原生支持。

2、Docker Swarm实践

docker集群的创建:

[root@server2 ~]# cat docker-compose.yml 
version: "3.9"
services:
  webservice:
    image: myapp:v1
    ports:
      - "80:80"
    networks:
      - web_net
    deploy:
      replicas: 6
      update_config:
        parallelism: 2
        delay: 2s
      restart_policy:
        condition: on-failure

  visualizer:
    image: visualizer
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints:
          - "node.role==manager"

networks:
  web_net:

标签:machine,Machine,Compose,未完待续,Swarm,Docker,docker,三剑客
来源: https://blog.csdn.net/Zhaohui_Zhang/article/details/123033240

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有