容器技术

docker简单介绍

為{幸葍}努か 提交于 2019-11-29 10:12:55
1.直接在终端输入docker会返回docker支持的所有命令和一些通用的参数,如下 Usage: docker [OPTIONS] COMMAND [arg...] docker [ --help | -v | --version ] A self-sufficient runtime for containers. Options: --config=~/.docker Location of client config files -D, --debug Enable debug mode -H, --host=[] Daemon socket(s) to connect to -h, --help Print usage -l, --log-level=info Set the logging level --tls Use TLS; implied by --tlsverify --tlscacert=~/.docker/ca.pem Trust certs signed only by this CA --tlscert=~/.docker/cert.pem Path to TLS certificate file --tlskey=~/.docker/key.pem Path to TLS key file --tlsverify Use TLS and verify

Docker(一):Docker入门教程

烂漫一生 提交于 2019-11-29 10:12:39
如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下,微服务+Docker的完美组合,更加方便微服务架构运维部署落地。 本文详细解释介绍Docker入门相关内容,后期重点关注Docker在微服务体系中的使用。在了解Docker之前我们先考虑几个问题:1、Docker是什么?2、为什么要使用Docker,它有什么优势?带着这些问题我们来看看下面的内容。 什么是Docker? Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了

Docker入门与实践

做~自己de王妃 提交于 2019-11-29 10:12:14
Docker 背景 • Docker是基于容器技术的轻量级虚拟化解决方案 • Docker是容器引擎,把Linux的cgroup、 namespace等容器底层技术进行封装抽象(后面会介绍此两种技术),为用户提供了创建和管理容器的便捷界面(包括命令行和API) • Docker 是一个开源项目,诞生于 2013 年初,基于Google 公司推出的 Go 语言实现 • 微软,红帽Linux, IBM, Oracle等主流IT厂商已经在自己的产品里增加对Docker的支持。 • Google 每周启动超过20亿个容器进行业务服务,于上个世纪90年代已经开始大规模使用容器技术 发展示例图 传统的开发部署流程 传统VM虚拟化环境存在的问题 1. 虚拟机资源利用效率低 2. 单物理机多应用无法有效隔离(进程空间, cpu 资源,磁盘) 3. 运维部署不便,环境依赖性强 4. 测试、版本管理复杂 5. 迁移成本高 6. 传统虚拟机,空间占用大,启动慢,管理复杂 Docker - 轻量级虚拟化容器优点 1. 秒级启动和停止,空间资源占用极少 2. 实现进程级别的隔离 3. 可在普通服务器上建立上百个docker实例 4. 加快开发测试部署的速度 5. 简化版本管理 开发和运维的有效隔离 一个IT系统应该包含如下几个层次: • 应用程序 • 运行时平台(bin/framework/lib) •

Docker从入门到动手实践

孤街醉人 提交于 2019-11-29 10:11:55
Docker从入门到动手实践 https://www.cnblogs.com/nsky/p/10853194.html dockerfile的图很好呢.但是自己没有做实验 , 其实知识都挺好. docker 入门资料,参考: https://yeasy.gitbooks.io/docker_practice/content/ Dockerfile常用命令,图片来源于网络 Dockerfile 打包控制台应用程序 新建一个控制台程序,控制台程序添加一个文本文件,去掉.txt 扩展名,改成Dockerfile 输入以下代码 FROM microsoft/dotnet:sdk AS build WORKDIR /code COPY *.csproj /code RUN dotnet restore COPY . /code RUN dotnet publish -c Release -o out FROM microsoft/dotnet:runtime WORKDIR /app COPY --from=build /code/out /app ENTRYPOINT ["dotnet","console.dll"] Program.cs 中编写测试代码 一切准备完成。就是build把项目打包成镜像了 切换到当前项目路径下。输入: docker build -t cn/console:v1

某某旅游网链路监控探索实践二 初步试验与先行探雷篇

二次信任 提交于 2019-11-29 09:40:17
  原创文章,转载请注明出处。由于本人水平有限,文中错漏之处在所难免,希望大家多多批评指正。本文的内容过多,我们分成四篇聊,此为第二篇。   通过前面的分析与对比,我们最终选择了SkyWalking(下文简称SW)来做链路监控。考虑到SW是开源的系统,从以往的经历来看,开源的并且达到了系统级别的,一般都是有雷的,不注意的话偷偷爆个雷,所有关联的系统可能都会受到影响,严重的时候会让你很后悔使用了这个系统。而如果使用的是分布式追踪系统的话,在暴雷时会更加的严重,因为它不是独立部署的,是要集成到每一个系统实例的容器中,出问题的时候会直接牵连到容器内的其他服务。所以本着小心求证的原则,在正式上线使用之前,我们先在测试环境简单部署一套SW,初步尝试下系统接入,既有助于对数据体量、集群配置和工作人力的预估,也可以探探雷,提前发现问题,实际验证下是否适合我们,方便我们后续工作的风险把控。整个部署过程我们使用MacOS Mojave操作系统进行演示,可能与Linux会存在细微差别。 先说说背景 机器:因为资源紧张,审批从严,只拿到了1台虚拟机。 硬件[虚拟机]:4C/8GB/50GB[HDD]/100Mbps[LAN] 软件[64-Bit]:CentOS[7.4]/JDK[1.8.0_91]/Docker[18.09.7]/Docker Compose[1.18.0] CD工具:公司自研的系统

阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

拜拜、爱过 提交于 2019-11-29 08:38:55
作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自《不一样的 双11 技术:阿里巴巴经济体云原生实践》一书,点击即可完成下载。 导读 :值得阿里巴巴技术人骄傲的是 2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。背后承载海量交易的计算力就是来源于容器技术与神龙裸金属的完美融合。 集团上云机器资源形态 阿里巴巴 双11 采用三地五单元架构,除 2 个混部单元外,其他 3 个均是云单元。神龙机型经过 618、99 大促的验证,性能和稳定性已大幅提升,可以稳定支撑 双11。今年 双11 的 3 个交易云单元,已经 100% 基于神龙裸金属,核心交易电商神龙集群规模已达到数万台。 神龙架构 阿里云 ECS 虚拟化技术历经三代,前二代是 Xen 与 KVM,神龙是阿里巴巴自研的第三代 ECS 虚拟化技术产品,它具备以下四大技术特征: 存储和网络 VMM 以及 ECS 管控,和计算虚拟化分离部署; 计算虚拟化进一步演化至 Near Metal Hypervisor; 存储和网络 VMM 通过芯片专用 IP 业务加速; 并池支持弹性裸金属和 ECS 虚拟机生产。 简而言之,神龙将网络/存储的虚拟化开销 offload 到一张叫 MOC 卡的 FPGA 硬件加速卡上,降低了原 ECS 约 8%

039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践

不羁岁月 提交于 2019-11-29 08:38:49
http://dockone.io/article/2967 基于 Kubernetes 和 Spring Cloud 的微服务化实践 写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构,这是一次很有趣的尝试。 一旦决定做微服务架构,有很多现实 问题 摆在面前,比如技术选型、业务拆分问题、高可用、服务通信、服务发现和治理、集群容错、配置管理、 数据一致性问题 、康威定律、分布式调用跟踪、CI/CD、微服务测试,以及调度和部署等等......这并非一些简单招数能够化解。实践微服务架构的方式有千万种,我们探索并实践了其中的一种可能性,希望可以给大家一个参考。本文是《网易容器云平台的微服务化实践》系列文章的第一篇。 Docker 容器技术已经过了最早的喧嚣期,逐渐在各大公司和技术团队中应用。尽管以今天来看,大家从观念上已经逐渐认可 “将镜像定义为应用交付标准,将容器作为应用运行的标准环境” 的观点,但还是有相当一部分人在迷惑容器技术作为一个标准,应该怎么落地,怎样才能大规模线上应用,怎么玩才能真正解放生产力,促进软件交付效率和质量?答案其实在应用的架构当中。 微服务架构不是因 Docker 容器技术而生

039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践

怎甘沉沦 提交于 2019-11-29 08:38:44
http://dockone.io/article/2967 基于 Kubernetes 和 Spring Cloud 的微服务化实践 写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构,这是一次很有趣的尝试。 一旦决定做微服务架构,有很多现实 问题 摆在面前,比如技术选型、业务拆分问题、高可用、服务通信、服务发现和治理、集群容错、配置管理、 数据一致性问题 、康威定律、分布式调用跟踪、CI/CD、微服务测试,以及调度和部署等等......这并非一些简单招数能够化解。实践微服务架构的方式有千万种,我们探索并实践了其中的一种可能性,希望可以给大家一个参考。本文是《网易容器云平台的微服务化实践》系列文章的第一篇。 Docker 容器技术已经过了最早的喧嚣期,逐渐在各大公司和技术团队中应用。尽管以今天来看,大家从观念上已经逐渐认可 “将镜像定义为应用交付标准,将容器作为应用运行的标准环境” 的观点,但还是有相当一部分人在迷惑容器技术作为一个标准,应该怎么落地,怎样才能大规模线上应用,怎么玩才能真正解放生产力,促进软件交付效率和质量?答案其实在应用的架构当中。 微服务架构不是因 Docker 容器技术而生

Kubernetes网络之Flannel工作原理

走远了吗. 提交于 2019-11-29 08:10:59
目录 1、Docker网络模式 1.1 bridge网络的构建过程 1.2 外部访问 2、Kubernetes网络模式 2.1 同一个Pod中容器之间的通信 2.2 不同Pod中容器之间的通信 2.3 Flannel在K8S中运行的整体过程 2.4 数据传递过程 1、Docker网络模式 在讨论Kubernetes网络之前,让我们先来看一下Docker网络。Docker采用插件化的网络模式,默认提供bridge、host、none、overlay、maclan和Network plugins这几种网络模式,运行容器时可以通过–network参数设置具体使用那一种模式。 bridge:这是Docker默认的网络驱动,此模式会为每一个容器分配Network Namespace和设置IP等,并将容器连接到一个虚拟网桥上。如果未指定网络驱动,这默认使用此驱动。 host:此网络驱动直接使用宿主机的网络。 none:此驱动不构造网络环境。采用了none 网络驱动,那么就只能使用loopback网络设备,容器只能使用127.0.0.1的本机网络。 overlay:此网络驱动可以使多个Docker daemons连接在一起,并能够使用swarm服务之间进行通讯。也可以使用overlay网络进行swarm服务和容器之间、容器之间进行通讯, macvlan:此网络允许为容器指定一个MAC地址

IOC 初谈

元气小坏坏 提交于 2019-11-29 06:29:21
IOC是什么? Ioc 大致有两个名字:依赖注入、控制反转, 究竟哪个更合适一点,我们通过一个例子来看一下。 没有引入Ioc容器之前 ,对象A依赖对象B,那么对象A初始化或运行的时候需要依赖B,那么必须主动去创建对象B和使用已创建好的对象B,无论是创建还是使用对象B,控制权都在A手里。 使用Ioc容器后呢??? Ioc容器加入后,对象A和对象B之间没有了直接联系,B的创建使用控制权不在A手里,在哪儿呢?在Ioc容器中,当A对象要创建、使用对象B的时候,Ioc容器会主动创建一个对象B 注入 到对象A需要的地方。如下图 通过对比我们可以看出来,对象A获取对象B的过程,由主动行为变成了被动行为,控制权颠倒了,所以也有很多人叫他控制反转, 你们觉得那个名字合适? 好像有点多此一问哈,通过这个问题,希望各位小伙伴对Ioc有更深一点的理解,小编在此装了一把13,不服来打我啊。🙃 IOC的优缺点 世界上没有完美的技术,只有合适的场景,希望不要滥用,正如没有完美的男友(女友),只有最适合你的那一位,且行且珍惜。 第一、 软件系统中由于引入了第三方Ioc容器,生成对象的过程变得有点复杂,本来A使用B就直接干了,结果多了一道手续,(怎么感觉像是A搞B,结果多了一个套套,我擦,我污了),所以刚开或者没接触过Ioc框架时,会感觉系统不太直观,甚至小新会感觉什么垃圾项目(曾经我也有过这种想法)