Docker简介|学习笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 快速学习Docker简介

开发者学堂课程【SpringBoot快速掌握 - 核心技术:Docker简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/612/detail/9265


Docker简介

一、何为Docker ?

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker 支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。类似 windows 里面的 ghost 操作系统,安装好后什么都有了;

Docker 是一个开源的应用容器引擎也类似以前了解的虚拟机技术,Docker 不是一个虚拟机,他是一个轻量级容器技术,他却实现了虚拟机技术里边的资源隔离。而且他的性能是要远远高于以前用的虚拟机的。以前要启动一个虚拟机,可能需要几分钟,而要启动一个 Docker 容器,几秒就完了,甚至于毫秒级别都能启动,那么 Docker 的产生背景,她的用途,可以通过一个现实中的一个例子。

image.png

 

假设张三要给他的电脑到换系统,他可以从微软的官方来下载,来下载 windows 的原生系统。原来系统是纯净版的,也没有驱动,也没有常用软件,张三就把相关的驱动安装完,把常用软件,比如 QQ,word 包括迅雷下载等等很多安装,安装完以后就能用了。但是如果李四也要装系统,那么他也用这种方式,把纯净版的 windows 系统拿来,驱动软件都没装,他也得安装驱动装软件。现在就有一种东西叫 Windows 镜像系统。镜像系统就是说张三把它的 windows 系统,然后它把里边的这些驱动常用软件都装好之后把整个一套东西打包成一个 Windows 镜像系统。这样别人要装系统时,拿到这个镜像系统装,所以张三里边原来他装的那些软件,别人也就有了,包括它配置好的东西,别人也都可以配置好的。这就是装 windows  镜像系统,而 docker 就类似于这种镜像的机制,虽然他跟这个 windows 版的镜像系统,它完全不是一个东西。而他们的思路是一样的,比如说,在开发和运维的过程中,经常让他给的服务器上来装各种各样的环境,比如要 linux 的服务器上要装 mysql 环境,要装 redis 或者 tomcat 等等。以前如何给 linux 的服务器上来装该系统,装这些软件环境。比如装 mysql 去 mysql 的官网下载 mysql 的安装包,比如 redis 要安装,或者 redis 的安装,这里都需要做很多在 linux 服务器上的环境,但是如果 mysql 在其他服务器也需要安装,也从官方下载在进行一大堆配置,这样就太麻烦了,这个时候 docker 相反,他可以支持安装配置好的软件打包成一个镜像,比如 mysql 在之前安装好可以打包成一个镜像,此时如果别人如果想在她的服务器在 linux 安装时,只要她的 linux 服务器安装了 docker,这个 docker 直接把之前打包好的镜像在服务器运行镜像就行,只要镜像运行,就认为运行起来的这个镜像称为一个容器,比如买 mysql 镜像,运行起来就有 mysql ,就是在他的 mysql 容器中运行。之后打包 redis 镜像来,在别的服务器运行起来,那就是他在自己的软 redis 服务器里面运行。每一个容器各容器之间也有沙箱的这种隔离机制也是非常好的,这样如果想要在其他的服务器里边,在要装 mysql 或者 redis 环境的时候,只需要装一次打包好镜像,在其他服务器里边儿运行镜像就就行了,就不用在每一个服务器里边儿都安装。这就是我 docker 能给带来的非常大的好处,也就是说 docker 的核心就是和支持将这些软件编译成一个镜像,然后再镜像中,可以把软件做好各种配置发布出去,别人就能直接使用这个镜像就行,别人不需要做一大堆配置。然后把这个镜像直接启动起来,运行中的就是镜像能成为的容器,而这个容器的启动是非常快的,容器是秒甚至毫秒级别的,而不像之前的虚拟机,然后再拿个训机让我装 mysql 。

image.png

这个是 docker  的 logo 标志,小鲸鱼加集装箱,代表了容器,各种平台也都支持 docker 的容器技术,所以有必要将他学好,后面为了降低对 linux 操作的难度,只需要记少量的 docker 命令就可以了。

相关文章
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
3月前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
|
4月前
|
Kubernetes Docker 容器
Kubernetes学习笔记-Part.06 Docker安装
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
43 1
|
6月前
|
Docker 容器
01Docker简介
01Docker简介
23 0
|
4月前
|
前端开发 应用服务中间件 数据库
Docker-docker-compose学习笔记(yaml,实战)
Docker-docker-compose学习笔记(yaml,实战)
223 0
|
16天前
|
Ubuntu Linux Shell
docker学习笔记3,从入门到精通
docker学习笔记3,从入门到精通
|
16天前
|
应用服务中间件 Shell nginx
docker学习笔记2,入门到精通
docker学习笔记2,入门到精通
|
16天前
|
Ubuntu 网络协议 Docker
docker学习笔记1,入门到精通
docker学习笔记1,入门到精通
|
1月前
|
Kubernetes Cloud Native 虚拟化
【docker】—— Docker 简介
【docker】—— Docker 简介
|
3月前
|
XML Docker 容器
Docker学习笔记十:docker Compose
Docker学习笔记十:docker Compose
Docker学习笔记十:docker Compose