Docker - 概述

Docker概述

  1. Docker概述
  2. Docker安装
  3. Docker命令
    1. 镜像命令
    2. 容器命令
    3. 操作命令
  4. Docker镜像
  5. 容器数据卷
  6. DockerFile
  7. Docker网络管理
  8. IDEA整合Docker
  9. Docker Compose
  10. Docker Swarm 简化版的K8s

Docker为什么出现?

传统的项目部署,环境配置是十分麻烦,第一个机器都要部署环境(集群Redis,ES,Hadoop…)费时费力

发布一个项目(jar+(Redis MySQL jdk ES))项目能不能都带上环境安装打包!

例:

java -> apk -> 发布(应用商店) -> 安装即可使用!

java -> jar(环境) -> 打包项目带上环境(镜像)->(Docker仓库:商店) -> 下载发布的镜像 -> 直接运行即可!

Docker给以上问题,提出了解决方案!

Docker的思想就来自于集装箱!

JRE - 多个应用(端口冲突)

隔离:Docker核心思想!打包装箱,每个箱子是互相隔离的

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

本质:所有的技术都是因为出现了一些问题,我们需要去解决,才去学习使用!

Docker的历史

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

做一些pass的云计算服务! LXC有关的容器技术!

他们将自己的技术(容器技术)命名就是Docker

2013年开源 -> Docker越来越多的人发现了Docker的优点,火了,Docker每个月都会更新一个版本! ->2014年4月9日 Docker 1.0发布!

vm : linux centos原生镜像(一个电脑!)隔离,需要开启多个虚拟机! 几个G 几分钟
docker :隔离,镜像(最核心的环境 4m + jdk + mysql)十分的小巧,运行镜像就可以了!小巧!几M kb 秒级启动!

聊聊Docker

Docker是基于Go语言开发的!开源项目!

官网:https://www.docker.com/

文档地址:https://docs.docker.com/ Docker的文档是超级详细的

仓库地址:https://hub.docker.com/

Docker能做什么

虚拟机技术

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢!

Docker - 概述_第1张图片

比较Docker和虚拟机技术的不同

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在 宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
  • 每个容器间是互相隔离,每个容器内都有一个属于的文件系统,互不影响

Docker - 概述_第2张图片

DevOps(开发,运维)

应用更快速的交付和部署

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

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

更便捷的升级和扩缩容

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

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

更简单的系统运维

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

更高效的计算资源利用

​ Docker是内核级别的虚拟化,可以再一个物理机上运行很多的容器实例!服务器的性能可以被压榨到极致

说明:摘抄B站 “狂神说” 视频

你可能感兴趣的:(docker,容器,运维)