Docker:Docker的简介、安装、使用方法之详细攻略
Docker:Docker的简介、安装、使用方法之详细攻略
目录
Docker的简介
0.1、知乎对Docker的理解—Docker就是集装箱
0.2、简书对Docker的理解—Docker带来标准化
1、一个完整的Docker有以下几个部分组成
2、Windows 下面运行 Docker 的两个主要工具
Docker的安装
0、基于Windows 的Docker安装
1、官网下载
2、本地安装图文教程
3、Docker测试
Docker的使用方法
1、用户的应用程序迁往Docker容器的五步骤
Docker的简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
0.1、知乎对Docker的理解—Docker就是集装箱
转自:https://www.zhihu.com/question/28300645/answer/67707287
如有转载,请贴上链接,尊重原创
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
- 1、docker可以实现虚拟机隔离应用环境:不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。
- 2、docker可以把开发环境直接封装转移给运维:你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。
- 3、docker部署高效利用内存:在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
总之docker就是集装箱原理。
0.2、简书对Docker的理解—Docker带来标准化
转自:https://www.jianshu.com/p/6891b1eadde8
如有转载,请贴上链接,尊重原创
Docker 公司的口号:“Build,Ship,and Run Any App,Anywhere ”,通俗的讲就是 “快来用Docker吧,Docke就像集装箱一样,用了Docker你的业务就可以随意的、无拘无束的运行在任何地方”。那集装箱解决了什么问题?
在集装箱之前,货物运输没有统一的标准方式进行搬运,于是铁路、公路、海洋等各种运输之间,需要大量的人力作为货物中转,效率极低,而且成本很高。集装箱出现之后,世界上绝大多数的货物运输都可以放到这个神奇的箱子里,然后在公路、铁路、海洋等所有运输场景下,这个箱子都可以不用变化形态直接可以承运,而且中间的中转工作,都可以通过大型机械搞定,效率大大提升。<经济学家>杂志说:"没有集装箱,就没有全球化。"
经济全球化的基础就是现代运输体系,而一个高度自动化、低成本和低复杂性的货物运输系统的核心就是集装箱。在1956年集装箱出现之前,人们很难想象美国的沃尔玛能够遍地开花。而在集装箱出现之后,以至于某件东半球的产品运至纽约销售,远比在纽约近郊生产该产品更划算。毫不起眼的集装箱降低了货物运输的成本,实现了货物运输的标准化,以此为基础逐步建立全球范围内的船舶、港口、航线、公路、中转站、桥梁、隧道、多式联运相配套的物流系统,世界经济形态因此而改变。从此全球化开始,商业的潜力被进一步挖掘......牛逼之处我就不多说了,可是这个箱子为什么这么神奇呢?答案其实也就在上面的描述中,无非就是两个字:标准。在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
如果你正好是一个运维工程师而且你正感觉你的运维环境一团糟,麻烦请你思考一下这是为什么?
- 语言不同:你是不是正在运维着一个使用 php、java、C#甚至 C/C++等用各种语言编写的应用都在运行的环境里?
- 环境不同:这个环境是不是因为某种历史原因,使你的操作系统运行着各个版本的内核甚至还有 windows?
- 版本不同:即使是同样语言编写的业务也运行着不同版本的库?
- 各种不同:你的整个系统环境是不是甚至找不出来两台硬件、操作系统、库版本以及语言版本完全一样的环境?
于是你每次遇到问题都要去排查,到底那个坑到底在那里?
从网络、内核到应用逻辑。你每次遇到产品升级都要在各种环境上做稳定性测试,发现不同的环境代码 crash 的原因都不尽相同。你就像一个老中医一样去经历各种疑难杂症,如果遇到问题能找到原因甚至都是幸运的,绝大多数情况是解决了但不知道原因和没解决自动好了也不知道原因。于是你们在一个特定的公司的环境中积累着“经验”,成为你们组新手眼中的大神,凭借历经故障养成的条件反射在快速解决不断发生的重复问题,并故弄玄虚的说:这就是工作经验。因为经验经常是搞不清楚原因时的最后一个遮羞布。当别人抱怨你们部门效率低的时候,你一般的反应是:”you can you up,no can no 逼逼!
那么我们再来看看 docker 是怎么做的?现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
1、一个完整的Docker有以下几个部分组成
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
2、Windows 下面运行 Docker 的两个主要工具
- Docker for Windows:新一代的 Windows下的运行平台。
- DockerToolbox:上一代的运行平台,安装参考Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
Docker的安装
pip install docker
0、基于Windows 的Docker安装
参考文章
win10家庭版安装Docker
Docker 可以以两种形式运行在 Windows 上:以 Hyper-V 虚拟机的形式运行 Linux 格式的容器,或者运行原生的 Windows 容器。其中前者运行 Linux 格式的应用程序,后者能运行 Windows 应用程序。
如果安装了win10,可以采用安装包直接安装,现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。Hyper-V 让你可以在 Windows 上以虚拟机形式运行多个操作系统。
官方文档提示:HYPER-V 在 64 位版本的 Windows 10 专业版、 企业版和教育版上可用。 但是,切记,不适用于Windows10的家庭版。 因为,默认情况下win10家庭版是没有hyper-V的,但是可以通过配置进行修改。
T1、Windows10家庭版无法安装docker,需要下载docker toolbox安装,参考文章
Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
T2、Windows10家庭版修改配置,直接安装docker
1、官网下载
https://hub.docker.com/
2、本地安装图文教程
更新……
3、Docker测试
更新……
Docker的使用方法
1、用户的应用程序迁往Docker容器的五步骤
随着Docker在云计算市场中领先地位的日益稳固,容器技术也成为了一种主流技术。为了对用户的应用程序使用容器技术,可遵循以下五个步骤。
Docker容器技术已在云计算市场中风靡一时了,而众多主流供应商则面临着技术落后的窘境。那么,是什么让Docker容器技术变得如此受欢迎呢?对于刚入门的新手来说,容器技术可实现不同云计算之间应用程序的可移植性,以及提供了一个把应用程序拆分为分布式组件的方法。此外,用户还可以管理和扩展这些容器成为集群。
在企业用户准备把应用程序迁往容器之前,理解应用程序的迁移过程是非常重要的。这里将介绍把用户应用程序迁往Docker容器的五个基本步骤。
步骤4:增加代码。为了创建镜像,企业用户需要使用一个Dockerfile来定义映像开发的必要步骤。一旦创建了映像,企业用户就应将其添加至Docker Hub。
Docker:Docker的简介、安装、使用方法之详细攻略相关推荐
- Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ、负载均衡、F5、Nginx、容器)的简介、使用方法之详细攻略
Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ.负载均衡.F5.Nginx.容器)的简介.使用方法之详细攻略 目录 DMZ(隔离区)的简介及其使用方法 1.DMZ区 ...
- Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...
- Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略
Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径
- Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...
- Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略
Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介.使用方法之详细攻略 目录 matplotlib.pyplot的plt.legend函数的简 ...
- Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略 目录 sklearn中的train_test_split函数的简介 train_tes ...
- Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略 目录 sklearn中的RobustScaler 函数的简介及使用方法 sklearn中的R ...
- BigData之Hive beeline:beeline的简介、使用方法之详细攻略
BigData之Hive beeline:beeline的简介.使用方法之详细攻略 目录 beeline的简介 beeline的使用方法 1.命令行参数解释 2.beeline的输出格式 2.1.ta ...
- ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介、使用方法之详细攻略
ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介.使用方法之详细攻略 目录 sklearn.linear_mode中的LogisticRe ...
- Python:numpy库中的一些函数简介、使用方法之详细攻略
Python:numpy库中的一些函数简介.使用方法之详细攻略 目录 numpy库中的一些函数简介.使用方法 1.np.concatenate() 1.1.函数案例 1.2.函数用法 numpy库中的 ...
最新文章
- MIT对话马斯克:关于自动驾驶、爱和未来世界|厚势汽车
- 【Python 2.x和Python 3.x版本有什么区别】
- Android Studio开发RecyclerView遇到的各种问题以及解决
- Dynamics CRM2013 自定义开发工具 Dynamics XRM Tools 介绍
- 「Self-driving: Perception」多传感器融合之Camera、Lidar 雷达融合
- 深度学习框架对决篇:Keras VS PyTorch
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
- MySQL中常见的函数常见的问题
- android java代码打印系统日志_Java快速开发平台源码
- 深入ASP.NET 2.0的提供者模型
- python人工智能-图像识别
- 反虚拟机、反沙箱技术整理汇总
- 淳于髡(约前386年—前310年)
- 记一次烧毁AO3400的过程
- Flutter之常用组件的使用举例(中)
- 青岛大学计算机分专业吗,青岛大学热门专业有哪些?附青岛大学最低分专业名单...
- Linux软件更新时遇到的各种问题以及解决办法
- 阴历转阳历java_GitHub - opprime/calendarist: 一个可实现阳历、阴历、干支历间相互转换的JAVA工具...
- 使用Python操作音频文件,提取音频特征
- 遥感影像的几何校正介绍
热门文章
- pythonunicode转为字符串_python中将 \\uxxxx转换为 Unicode字符串
- blob照片显示 oracle_保存图片到oracle的blob字段,报ora-01465
- find排除文件 linux_Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键...
- u9系统的使用方法仓库_HPE产品认证证书查询系统使用方法
- 怎样不停请求接口实现实时刷新_Hologres+Flink实时数仓详解
- python处理json_Python处理JSON
- sphinx-release 2.1.4
- GMQ发行稳定币将进一步打破稳定币市场垄断格局
- Python - MySQL数据库操作
- MongoDB 4.2 正式发布,支持分布式事务!