docker工具链概述

目录

  • docker工具链概述

    • docker名词解释
    • docker简介
    • docker-machine简介
    • docker-compose简介
    • docker swarm简介
      • docker service简介
      • docker stack简介
    • 总结

docker工具链概述

官方参考文档

? 本文主要介绍docker是什么,有什么,以及工具链的概述。

? docker是一个比较新容器技术,当然容器技术并不是什么新技术,如果你没有接触过容器的概念,可能你有种一夜之间容器遍天下的感觉。 我最早接触docker也是2015前后,一次偶然的机会去尝试cloud foundry,便得知了容器是何物,遇见docker后甚是喜爱,因为工作环境一直不得尝试,所以一直不能深入的去研究它,今天的docker与几年前相比已经有了很大的变化,各种工具链都相对完善,技术也相对成熟,随着微服务的诞生,docker的应用场景更是被发挥的淋漓尽致,如果你没有赶上又丑又庞大的企业级应用,那么此刻短小精悍的微服务时代你可以尽情体验一番。

docker名词解释

  1. docker官方解释为docker引擎,一个集client与server一身的容器技术。
  2. docker镜像,比如一个系统iso文件,通常被叫做镜像,它只是一个静态文件而已。
  3. docker容器,当一个iso文件被安装硬盘上后就成一个系统,你可以将这个iso安装到多个硬盘上,那么每个系统就对应着docker容器的概念,或者你也可以理解成实例,容器(实例)是动态的而镜像是静态的。

docker简介

  1. docker是一个容器化技术,用来管理容器,那么作为容器,它可以容纳一个或多个程序。
  2. docker容器是一个独立程序,什么叫独立的程序,它可以打包你的程序并与系统内的其它程序之间隔离,隔离边界就是docker容器本身。
  3. docker容器是一个可以执行的完整的整体,创建docker容器的时候,docker会打包你在容器内要运行的程序以及程序的所有依赖(当然这不是自动的,docker需要你明确指出你的程序依赖什么)
  4. docker容器是一个跨平台应用,docker容器可以运行在unix/linux/win等平台(但是win容器与unix/linux不兼容,docker最初只支持linux内核),docker容器不依赖你的当前系统,只依赖docker引擎本身(docker引擎是docker的简称)

docker-machine简介

  1. docker-machine用来创建docker运行环境,你可以使用docker-machine创建基于的docker运行环境,这里的驱动是指多种虚拟机环境,比如:virtualbox,vm,hyper-v等,更多驱动类型在这里。
  2. docker-machine用来管理docker运行环境,如果你在上一步中创建了多种驱动类型的docker运行环境,那么docker-machine可以来管理这些docker运行环境,比如查看环境信息,比如删除、修改环境,比如在指定的docker运行环境中执行shell命令等。

docker-compose简介

docker-compose主要用来创建docker容器,可能你要问,既然docker可以创建容器为什么还要docker-compose呢?

举个例子:使用shell命令创建一个文件夹,并在文件夹内创建一个文件,只需要执行两条shell命令即可,如果让你在另外的很多机器上也做同样的操作呢?难道你要每个机器都手动输入命令吗?答案是否定的,你肯定想到的是使用shell脚本解决问题,将创建文件夹和创建文件的命令写入脚本中并将脚本分发到不同的机器上运行。没错docker-compose就是用来干这个的,你可以将需要创建的一个或多个容器写入一个docker-compose支持的脚本中。

其实docker-compose支持的是一个yml扩展的文件,这里记录了你要创建的一个或多个容器的配置信息,这样就可以将yml文件分发到不同的机器上并通过docker-compoe创建容器。

docker swarm简介

docker swarm用来管理docker集群,当我们来部署一个服务的时候,我们通常会考虑服务会不会因为特殊情况终止运行,为了避免特殊情况导致的服务终止,通常一个常用的办法就是监控,如果服务意外终止我们就重新启动它,这也是docker swarm要做的事,除此之外docker swarm还会将服务部署到任意一集群节点中,保证服务始终可用。

docker service简介

docker service用来创建docker服务,那么什么是docker 服务,假如你要部署一个docker容器,你通常可以运行docker run命令,如果此时在一个docker集群中,那么该命令只会在运行命令的机器上创建一个容器,如果你要部署的是docker容器的多个实例,那么docker service就是来解决这个问题的,你只需要通过docker service run命令就可以在集群的任意节点上部署你的容器实例,你也可以指定需要运行的容器实例个数,这通常只需设置指定的参数就行了。

docker stack简介

此时,我还不是特别明白docker stack的作用,从官网的介绍我理解为docker compose + docker swarm,这个解释似乎有点牵强,暂时先这么理解吧,毕竟docker stack在docker swarm环境下才有意义,以后理解了在更新这段简介。

总结

? docker中的一些工具及感念大概也就这么多,这里只是简单的介绍了一下,如果你是新手那么这篇文章一定对你有很多的帮助,因为我也是这么走过来的,不期望自己的文章多高深,只希望能你让你快速的理解docker是什么。

回顾一下:

? docker是一个集client与server一身的容器化技术,你可以通过docker命令来创建一些docker容器,你也可通过docker compose命令来批量创建一些docker容器,如果你的环境足够大,那么docker swarm可以让你对docker的管理更加方便,docker service可以让你创建可靠的服务实例,docker stack可以让你更方便的部署docker容器。

原文地址:https://www.cnblogs.com/guodf/p/9807477.html

时间: 2024-10-05 23:33:29

docker工具链概述的相关文章

Docker,用任何工具链和任何语言来构建任何应用

在看过Docker的两个Hello World的程序后,我们对Docker有了一个大概的感性的认识,那么Docker是到底是什么呢?Docker是一个面向开发者和系统管理员编译,装载,和运行分布式应用的开放式平台.它包括了Docker引擎,一个可移植的,轻量级的,运行时环境和打包工具,还包括了Docker Hub,一个用于共享应用和自动化工作流的云服务. Docker和一般的虚拟机有什么不同之处 对一般的虚拟机而言,每个虚拟化的应用包括的不仅仅是这个应用本身(大概数十M)以及应用所必需的bin文

52个有用的 Docker 工具

Docker工具分类列表 编排和调度 持续集成/持续部署(CI / CD) 监控 记录 安全 存储/卷管理 联网 服务发现 构建 管理 编排和调度 1. Kubernetes Kubernetes是市场上最实用的最受欢迎的容器编排引擎.最初作为一个Google项目开始,成千上万的团队使用它来部署生产中的容器.谷歌声称它每周使用Kubernetes运行数十亿个容器. 该工具通过将构成应用程序的容器分组为逻辑单元进行工作,以便于管理和发现. 工具链接: https://kubernetes.io 使

最全的 50+ 易用 Docker 工具列表指南

如今,整个容器生态系统的发展和扩展速度比以往任何时候都快,面对众多 Docker 工具和服务,光是了解可用选项就需要花费大量时间.本文总结了易用的 50 多种 Docker 工具,适合初学者.研发人员.DevOps 工程师.SRE 和平台架构师. 编排和调度工具 1.Kubernetes Kubernetes 是市场上现有最受欢迎的容器编排引擎.最初由谷歌研发,目前已被数千个团队在生产中部署使用.谷歌声称每周使用 Kubernetes 运行数十亿个容器.该工具的工作原理是将构成应用程序的容器分组

DevOps时代,企业数字化转型需要强大的工具链

伴随时代的飞速进步,中国的人口红利带来了互联网业务的快速发展,巨大的流量也带动了技术的不断革新,研发的模式也在不断变化.传统企业纷纷效仿互联网的做法,结合DevOps进行数字化的转型.通常提到DevOps,大家浮现在脑海里面可能是研发规范.持续交付.敏捷迭代相关的一系列事项,组织上推行打破部门墙,文化上推行活泼.皮实.互助等方式促进效能提升.但是,除了这些,还需要更多的工具.技术来让这一切真正的落地.所谓的DevOps,指的是开发运维一体化,也被称之为开发运营一体化.开发测试运维一体化,现在有些

Python 开发工具链全解

可能刚开始学习Python时,有人跟你说可以将源文件所在的文件夹添加到 PYTHONPATH环境变量中,然后可以从其他位置导入此代码.在大多数情况下,这个人常常忘记补充这是一个非常糟糕的主意.有些人在互联网上发现了这一点,其他人却要看自己付出代价后才意识到.还有太多人(特别是非程序员)真的相信除此外没有别的办法了. 这篇文章适用于所有类型的 Python 学习者,因为即使你知道存在替代方案,也难以掌握. Python的工具链令人困惑,因为有许多软件是相互依赖的,并且它们的关注点也有很多重叠.很难

一文解读DevOps工具链 (转)

在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所不同不同的定义,从而能够比较全面了解DevOps的内涵. [2009]DevOps是一组过程.方法与系统的统称,用于促进开发.技术运营和QA部门之间的沟通.协作与整合: [2011]快速响应业务和客户的需求,通过行为科学改善IT各部门之间的沟通, 以加快IT组织交付满足快速生产软件产品和服务的目 [

利用开源软件搭建JAVA工程CI&CD自动化工具链

JAVA传统项目交付流程的问题 开发和运维间环境有明显差异 代码缺乏统一质量度量 客户要求上线时间紧,人工测试慢,导致测试不充分,时常做线上BUG修复 打造工具链 ● 源码管理Gitlab● 持续集成Jenkins● 代码扫描SonarQube● 接口测试PostMan+NewMan● 制品管理ArtifactoryOSS版本(仅支持Maven)● 自动部署Ansible GitLab安装 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=

【转】Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法

原文网址:http://www.cnblogs.com/muyun/p/3370996.html 一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本,若不是,请升级.执行以上命令即可. 二.使用工具链 注意!这里不能使用 gcc 命令来召唤它.它的名字是 arm-linux-gnueabi-gcc .如果出现 Command Not Found,请关

Linux下获取arm的交叉编译工具链

转载请注明文章:Linux下获取arm的交叉编译工具链 出处:多客博图 这里介绍,Linux下获取arm的交叉编译工具链,比如arm-linux-gnueabihf-gcc.arm-linux-gneabihf-gcc等. 前言 这里有一个专门的说法: “arm-linux-gnueabihf-gcc是由 Linaro 公司基于GCC推出的的ARM交叉编译工具.可用于交叉编译ARM系统中所有环节的代码,包括裸机程序.u-boot.Linux kernel.filesystem和App应用程序.使