栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker

目录

Docker概述

工作中的困扰

在研发工作中,想必都有这样的场景

寻求解决

历史

Docker 基于 Go 语言开发。

简介

结构

底层原理

和虚拟机的区别

虚拟机原理示意图

容器化原理示意图

区别

Docker 为什么比 VM 快

DevOps(开发、运维)


docker学习

Docker概述

Docker为什么出现

Docker历史

Docker能干什么

Docker安装

安装详细

阿里云镜像加速

回顾helloworld流程

Docker底层原理

Docker的常用命令

帮助命令

镜像命令

容器命令

其他常用命令

小结

作业

部署nginx

部署tomcat

部署es+kibana

可视化工具portainer

镜像讲解

Docker镜像加载原理

分层理解

commit镜像

容器数据卷

什么是容器数据卷

mysql实战操作

具名挂载和匿名挂载

初始dockerfile

数据卷容器

dockerfile

dockerfile介绍

dockerfile搭建过程

基础知识

dockerfile指令

实战测试

基础实战

tomcat实战

发布自己的镜像

docker网络

理解docker网络

--link(不适用当前)

自定义网络

网络连通

实战:部署Redis集群

Docker概述

工作中的困扰

在研发工作中,想必都有这样的场景

测试:生产环境发版后又出问题了。

运维:我是按照开发给的包部署的。

开发:我本地没问题呀。

一款产品,开发和生产两套环境,运维人员环境配置费时费力,且很容易出现问题。

出现问题后,开发人员和运维人员排查问题都是十分痛苦的,因为一个产品往往涉及到诸多环境,可能产生影响的因素实在太多。

寻求解决

要是能够把代码和环境一块提供,运维人员拿来就直接运行,这个问题就迎刃而解了。

这就是所谓开发即运维,既能保证系统稳定性,也能提高部署效率。

为解决这一问题,Docker 横空出世。

历史

2010 年,几个搞 IT 的人,在美国成立一家公司 dotCloud。

一开始他们是做一些 PaaS 的云计算服务。

他们将自己的容器化技术命名为 Docker。

Docker 基于 Go 语言开发。

Docker 刚诞生的时候,并没有引起行业的注意,这也导致 dotCloud 快要经营不下去。

为了公司能生存,他们决定开源,以寻求更多的关注。

2013 年,Docker 开源,一下子爆火。

刚开源的时候,每个月都会更新一个版本。

2014 年 4 月 9 日,Docker 1.0 发布。

简介

官网:Empowering App Development for Developers | Docker

文档:Redirecting…

命令:Docker run reference | Docker documentation

仓库:Docker Hub

Docker 是一个开源的应用容器引擎。

Docker 的思想来自于集装箱,彼此之间隔离。

Docker 通过隔离机制,可以将服务器利用到极致。

Docker 容器完全使用沙箱机制,相互之间不会有任何接口。

结构

镜像(image):Docker 镜像好比一个模板,可以用来创建容器(container),一个镜像可以创建多个容器。容器(container):容器可以理解为一个微型的系统。仓库(repository):存放镜像的地方。

底层原理

Docker 是一个 Client-Server 结构的系统。

Docker 的守护进程运行在主机上,通过 Socket 从客户端访问。

Docker Server 接受 Docker-Client 的指令。

和虚拟机的区别

Docker所使用的容器化技术本质上属于虚拟化技术。

提到虚拟化技术,最有名的就是虚拟机技术。

虚拟机原理示意图

它有以下明显的缺点:

资源占用多。启动虚拟机非常占内存,对电脑资源有不小的占用。冗余步骤多。启动虚拟机后,还需要进行一些步骤才能进入系统,效率比较低。启动很慢。由于虚拟机是虚拟化一整个系统,其启动时间会比较缓慢,一般都需要几分钟。

容器化原理示意图

容器化技术不是模拟一个完整的操作系统  

它不是模拟的完整操作系统,而是基于操作系统封装成了一个个小的运行环境。

区别

传统虚拟机Docker
虚拟内容硬件 + 完整的操作系统 + 软件APP + LIB
大小笨重,通常几个 G轻便几个 M 或 KB
启动速度慢,分钟级快,秒级

 

Docker 为什么比 VM 快

Docker 有着比 VM 更少的抽象层。

Docker 主要用的是宿主机的内核,而 VM 需要 Guest OS。

新建容器的时候,Docker 不需要像 VM 一样重新加载一个操作系统内核,避免了引导的过程。

DevOps(开发、运维)

应用更快速的交付和部署 

        传统:一堆帮助文档,安装程序

       Docker:打包镜像发布测试,一键运行

更便捷的升级和扩缩容

        使用了Docker之后,我们部署应用就和搭积木一样!

        项目打包为一个镜像,扩展服务器A!服务器B

更简单的系统运维

        在容器化之后,我们的开发,测试环境都是高度一致的。

更高效的计算资源利用:

         Docker是内核级别的虚拟化,可以再一个物理机上可以运行很多的容器实例!

         服务器的性能可以被压榨到极致。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763397.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号