01. Docker的基本介绍

Docker概述?

Docker 是一个开源的应用容器引擎,基于Go语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone app),更重要的是容器性能开销极低。

Docker为什么会出现?

  1. 在我们日常的开发场景中,开发一款产品,是两套不同的环境和应用配置。说到底就是开发和运维的统一,经常会遇到这样的问题:
    我们在自己的电脑上可以运行,但是,在其他的地方就不能用了,还有就是环境配置是非常麻烦的一件事情,每一个机器都要部署环境(集群RedisES,Hadoop等)非常的费时和费力.
  2. 日常中我们开发一个项目,单体项目(war),需要Redis,MySql,JDK ,ES等等,要是能够和环境一起打包,就会大大的减轻我们日常的开发部署难度。

对于这两个问题,Docker都给了我们解决方案。

01. Docker的基本介绍_第1张图片
理解Docker可以从集装箱来形象理解,集装箱,最主要的作用就是隔离,Docker也是如此。
Docker核心思想就是把:环境打包封箱,隔离,每个箱子都是相互隔离的

虚拟机和Docker的区别

虚拟机:在window中安装一个windows,通过这个软件我们可以虚拟出来一台或者是多台电脑,非常的笨重。
虚拟机也属于是虚拟化技术,docker容器技术,也是一种虚拟化技术,
vm: linux centos (原生镜像,相当于就是一台电脑)隔离,需要开启多个虚拟机的时候,是非常大的,需要几十个g
docker: 隔离,镜像(最核心的环境,4m + jdk + mysql)十分的小巧,运行镜像就可以了,几个m kb 秒级启动。
01. Docker的基本介绍_第2张图片
虚拟机缺点:

  • 资源占用非常多
  • 冗余步骤非常多
  • 启动很慢

01. Docker的基本介绍_第3张图片
容器技术:容器技术不是模拟的一个完整的操作系统

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

概念解释

01. Docker的基本介绍_第4张图片

  • 镜像(image): docker中的镜像好比就是一个模版,可以通过这个模版来创建容器服务,tomcat镜像 - tomcat容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目的运行就是在容器中的 )
  • 容器(container): docker利用容器技术,独立运行一个或者是一组应用,通过镜像来创建的,启动,停止或者是删除,基本命令,可以把容器堪称是一个linux系统
  • 仓库(repository): 存放image的地方。 共有仓库和私有仓库

文档推荐阅读

  • Docker 教程菜鸟
  • 【狂神说Java】Docker最新超详细版教程通俗易懂
  • 官方网站:https://www.docker.com/
  • 文档:https://docs.docker.com/ 文档非常的详细
  • 仓库地址:https://hub.docker.com/

参考:
https://blog.csdn.net/weixin_46665411/article/details/125199737
https://www.runoob.com/docker/docker-tutorial.html
https://www.bilibili.com/video/BV1og4y1q7M4/?vd_source=606645816f49ad91794e7ab8f5e1dcd5

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