1-docker 介绍

1-docker 介绍

由PaaS到Container

2013年2月,前Gluster的CEO Ben Golub 和 dotCloud 的 CEO Solomon Hykes 坐在一起聊天时,Solomon谈到想把 dotCloud 内部使用的Container容器技术单独拿出来开源,然后围绕这个技术开一家新公司提供技术支持。28岁点Solomon在使用python开发dotCloud的PaaS云时发现,使用LXC(Linux Container)技术可以打破产品发布过程中应用工程师和系统工程师两者之间无法轻松协作发布产品的难题。这个Container容器技术可以把开发者从日常部署的繁杂工作中解脱出来,让开发者能专心写好程序;从系统工程师到角度来看也是一样的,他们迫切需要从各种混乱的部署中解脱出来,让系统工程师专注在应用的水平扩展、稳定发布的解决方案上。他们深入交谈,觉得这是一次云技术的变革,紧接着在2013年3月Docker0.1发布,拉开来基于云计算平台发布产品方式的变革序幕。

了解paas

Docker 简介

在这里插入图片描述

Docker时Docker.lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。Docker在2014年6月召开DockerConf2014技术大会吸引了IBM、Google、RedHat等业界知名公司的关注和技术支持,无论是从Github上到代码活跃度,还是RedHat宣布REHL7中正式支持Docker,都给业界一个信号,这是一项创新的技术解决方案。就连Google公司的Computer Engine 也支持Docker在其中之上运行,国内BAT先锋企业百度 Baidu App Engine(BAE)平台也是以 Docker作为PasS云基础。

Docker产生的目的就是要解决以下问题

  1. 环境管理复杂:从各种OS到各种中间件再到各种App,一款产品能够成功发布,作为开发者需要关心的东西太多,且难于管理,这个问题在软件行业中普遍存在并需要直接面对。Docker可以简化部署多种应用实例工作,比如Web应用、后台应用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个image部署。如下图所示:

在这里插入图片描述

  1. 云时代的到来:AWS的成功,引到开发者将应用转移到云上,解决来硬件管理的问题,然而软件配置和管理香瓜的问题依然存在。Docker的出现正好能帮助软件开发者开阔思路,尝试新的软件管理方法来解决这个问题。

  2. 虚拟化手段的变化:云时代采用标配硬件来降低成本,采用虚拟化手段来满足用户按需分配的资源需求以及保证可用性和隔离性。然而无论是KVM还是Xen,在Docker卡来都是在浪费资源,因为用户需要的是高校运行环境而非OS,GuestOS即浪费资源,又难于管理,更加轻量级大LXC更佳灵活和快速:

image

  1. LXC的便携性: LXC在 Linux 2.6 的 Kernel 里就已经存在了,但是其设计之初并非为云计算考虑的,缺少标准化的描述手段和容器的可便携性,决定其构建出的环境难于分发和标准化管理(相对于KVM之类image和snapshot的概念)。Docker就在这个问题上做出了实质性的创新方法。

Docker 相比虚拟机的优势

Docker 技术比虚拟机技术更为轻便快捷

Docker 可以解决虚拟机能够解决的问题,也可以解决虚拟机由于资源要求过高而无法解
决的问题。

  • 隔离应用依赖
  • 创建应用镜像并复制
  • 创建易于分发的即开即用的应用或者应用镜像
  • 允许实例简单快速扩展
  • 易于测试和销毁

Docker 的初衷是创建软件程序可移植的轻量容器,让软件可以在任何安装了 Docker 的
主机上运行,而不用关心底层操作系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3-docker 架构和底层技术简介

3-docker 架构和底层技术简介 Docker Platform Docker 是一个平台。 提供了一个开发、打包、运行app的平台把app和底层 infrastructure 隔离开来 根据上图我们可以看出 Docker Engine 把上层的 app 应用程序和底层的物理设备或虚拟设备进行了隔离,然后我们在 doc…

6-搭建一个私有registry

6-搭建一个私有registry docker hub 查找 registry docker hub registry 可以看到部署很简单,只有一条命令。 docker run -d -p 5000:5000 --restart always --name registry registry:2部署私有registry 找一台linux的服务器并安装好docker 在此服务器上部署re…

7-深入练习Dockerfile

7-深入练习Dockerfile 创建一个json-server 镜像 首先创建一个 json-server 文件夹 mkdir json-server在json-server文件夹下创建Dockerfile FROM node:10.15.0 RUN npm install -g json-server构建镜像 docker build -t json-server .创建一个api服务的镜像 首先创建一个 …

9-资源限制

9-资源限制 了解stress工具 stress是一个压力测试工具 docker run -it ubuntu:16.04此时会进入ubuntu内,这时我们安装 stress工具 apt-get update && apt-get install -y stress查看help stress --helpUsage: stress [OPTION [ARG]] ...-?, --help …

10-Docker 网络

10-Docker 网络 基础网络概念 数据传输通过数据包 两台笔记本之间通信是通过数据包通信的。想知道数据包是怎么打包的呢,就先要知道网络分层的概念。 网络分层 目前有两种网络分层的模型。 ISO/OSI 分层,也就是 7 层模型。TCP/IP 分层,也就…

11-Docker Bridge详解

11-Docker Bridge详解 容器之间是如何通信的? 操作前删除test2的容器。 查看当前机器上docker的网络 docker network lsNETWORK ID NAME DRIVER SCOPE 056d0ece100f bridge bridge local a…

15-多容器复杂应用的部署

15-多容器复杂应用的部署 此节主要是通过部署一个复杂的应用场景,进而练习容器的网络相关知识。 创建一个flask-web应用 创建一个 flask-web 文件夹 mkdir flask-web在此文件夹内创建 app.py 文件 cd flask-web touch app.py编写一个简单的 web 程序 import os im…

16-多机器通信

16-多机器通信 回顾上节课的思考题。 flask-redis 想访问 redis,该如何通信? 创建另外一台linux虚拟机 直接拷贝Vagrantfile文件创建一个 centos 虚拟机 我们创建一个centos7-2文件夹,然后创建虚拟机 vagrant up创建的过程中提示选择网络接…

17-Docker的数据持久化介绍

17-Docker的数据持久化介绍 回顾容器与镜像 容器是在镜像之上创建的一层运行时层,这一层是可以读写的,我们能够在容器内添加数据,读取数据。 也就是说我们在创建容器的时候,我们能够在容器内创建文件,安装软件等等&a…

在Linux中对硬盘进行分区、格式化和挂载

在Linux中对硬盘进行分区、格式化和挂载 我最近有一个全新的4-TB硬盘加入我的电脑。所以我需要在Linux中安装它。为此,我需要执行以下操作: 分区格式化挂载检查是否已安装硬盘驱动器 分区 首先,在通过SATA和电源线将硬盘连接到计算机后&am…

Angular gitlab持续集成之runner配置

gitlab持续集成 安装Runner 正常安装 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64sudo chmod x /usr/local/bin/gitlab-runner sudo useradd --comment GitLab Runner --creat…

vscode设置中文

vscode设置中文 当我们安装完成vscode后,会发现它是中文的,因为默认情况下,vscode使用的语言为英文(us)。 那很多同学是不喜欢英文的,不是看不懂,而是不方便哈。 修改语言配置文件 使用快捷键组合【CtrlShiftp】 在…

linux下编译boost

linux下编译boost 下载boot库 官方下载地址 下载完成会解压。 编译 1.进入解压后的文件夹内 cd boost_1_69_0 执行下面的语句 ./bootstrap.sh --with-librariesall --with-toolsetgcc–with-libraries 指定编译哪些boost库,all的话就是全部编译,只想…

conky安装配置

conky安装配置 安装conky sudo apt-get install conky-all修改配置 在主目录下创建’.conkyrc’ 文件内容: # set to yes if you want Conky to be forked in the background background no cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font w…

Windows子系统安装图形界面

Windows子系统安装图形界面 有很多同学需要使用 linux 系统,但是又不想真正安装一个 linux 系统。于是微软大哥就把 ubuntu 系统集成到 windows 内了,你说 微软 屌不屌? 言归正传。 安装Xlaunch 因为这个是最靠谱的图形化界面了,所以不解…

Linux下查看显卡PCIE速率x16x8x4及设定

Linux下查看显卡PCIE速率x16x8x4 由于linux软件并不是很齐全所以查看显卡占用PCIE的带宽并不直观,所以本文介绍如何查看。 Windows下使用GPU-Z即可查看 Linux 确定当前显卡型号 lspci | grep NVIDIA返回 02:00.0 3D controller: NVIDIA Corporation GM107M [GeFor…

Deepin安装最新显卡RTX2080Ti及CUDA10.1

Deepin安装最新显卡RTX2080Ti及CUDA10.1 废话不多说直接上教程。 本系统为Deepin 15.10.2,是基于debian 9发布的,不排除后续deepin升级为debian 10,就目前来看是和ubuntu 16.04一样,使用的是debian 9,所以下载安装包等…

Clonezilla再生龙备份与还原linux系统

文章目录Clonezilla再生龙备份与还原linux系统简介功能与要求一、制作再生龙启动盘1.下载镜像2.制作启动盘二、系统分区三、备份系统四、还原系统注意事项Clonezilla再生龙备份与还原linux系统 简介 再生龙(Clonezilla)是一个免费的灾难恢复、硬盘克隆…

网页滚动条上下滚动固定元素左右不固定之sticky

网页滚动条上下滚动固定元素左右不固定之sticky 有时候我们需要网页中某元素在上下滚动时可以固定在某一位置,但是左右不固定,也就是会随着左右滚动条滚动。那么我们可以通过 sticky 布局来解决。 position: sticky 我们先看看兼容性: 在使…

Timeshift系统备份与还原

Timeshift系统备份与还原 系统备份 一般Linux系统是比较稳定的,但是一旦崩溃就很难恢复,这里介绍 Timeshift系统备份工具。 安装Timeshift ubuntu 和 linux mint sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get ins…