原来这个东西叫 Docker

2024-06-22 02:36
文章标签 docker 原来 东西

本文主要是介绍原来这个东西叫 Docker,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是徒手敲代码。

今天来聊聊 Docker

Docker Logo (PNG e SVG) Download Vetorial Transparente

三个时代的演变

首先要先了解 Docker 出现的背景。在计算机技术的发展历程中,我们经历了从物理机时代到虚拟机时代,再到容器化时代的演变。

物理机时代,应用程序直接运行在物理服务器上,每个应用程序需要独立的硬件资源。这种方式不仅成本高,而且资源利用率低,维护和管理也非常复杂。

为了提高资源利用率,虚拟化技术应运而生。虚拟机允许在同一物理服务器上,运行多个虚拟服务器,每个虚拟机都有自己的操作系统和应用程序。尽管虚拟化技术提高了资源利用率并简化了管理,但虚拟机仍然需要大量的系统资源,每个虚拟机的启动时间也相对较长。

后来,容器化技术的出现,解决了虚拟化技术的痛点。容器化技术允许在同一操作系统内核上运行多个隔离的用户空间实例,即容器。每个容器包含应用程序及其所有依赖项。容器化技术的出现解决了资源占用大、启动慢、管理复杂等问题。

Docker 的发展历程

2010年,在美国旧金山,一家名为 dotCloud 的初创企业诞生,它后来开发出了Docker这一革命性技术,引领了容器技术的风潮。

Docker 的前世今生 - 哈喽沃德先生的个人空间 - OSCHINA - 中文开源技术交流社区

Docker 的前世今生 - 哈喽沃德先生的个人空间 - OSCHINA - 中文开源技术交流社区

起初,Docker 是作为 dotCloud 内部的核心技术存在,但随后公司决定将其简化并标准化,冠以 “Docker” 之名,并配上标志性的鲸鱼图标向公众推出。

2013年,dotCloud 做出重大决策,将 Docker 开源,这一举动迅速吸引了全球工程师的目光,他们被 Docker 的高效与便捷所吸引,使其一跃成为最热门的开源项目之一。

Docker之所以能够迅速走红,核心在于它的轻量化特性。在此之前,虚拟机技术,尤其是 VMware 和 OpenStack,主导着市场。

虚拟机允许用户在一个操作系统内安装软件来创建多个独立运行环境,每个环境都能如同独立计算机一样运行应用程序。然而,虚拟机的缺点也很明显:资源消耗大、启动慢且需要较大的存储空间。

相比之下,Docker为代表的容器技术提供了轻量级的解决方案。它不需要复制整个操作系统,仅需创建一个小型、独立的运行环境(类似于沙盒),因此启动速度快、资源占用低,能够在单台主机上同时运行成千上万个容器。此外,Docker镜像体积小,通常仅为 MB 或 KB级别,远小于 GB 级别的虚拟机镜像。

Docker 的流行可以用两个核心理念来概括:“构建、运输、运行(Build, Ship and Run)”和“构建一次,到处运行(Build once,Run anywhere)”。具体来说:

  • 构建阶段,创建的是包含应用及其依赖、配置的不可变镜像,就像装载货物的标准化集装箱;

  • 运输则是指镜像可以在宿主机和镜像仓库(如Docker Hub这样的中央仓库)间便捷地传输;

  • 运行阶段,镜像被执行变为一个动态的容器,即应用的实际运行环境。

Docker 镜像本身是一种特殊的文件系统,它封装了应用程序运行所需的所有静态内容,确保了环境一致性。而 Docker Registry 服务则扮演着关键角色,负责存储和分发这些镜像,其中 Docker Hub 是最知名的公共镜像仓库,它维护着大量官方认证的高质量镜像,确保了镜像的安全性和可靠性。(国内使用 Docker 的话,就不要用 Docker Hub啦,用国内的镜像仓库吧)

简而言之,Docker通过其高效的构建、运输、运行模型,以及轻量级的容器化方案,彻底改变了软件开发和部署的格局,使得开发者能够更加灵活、高效地在不同环境中部署应用。

应用场景

Docker 的应用场景主要是以下这几个方面:

  1. 统一开发与生产环境:以往,开发、测试、生产环境的差异,比如应用服务端口在开发时为8080,生产环境却为80,可能导致配置错乱。Docker的引入确保了应用内部配置一致性,尽管容器外暴露端口可变,但这并不干扰应用的顺利部署与运行,加速了环境一致性的确立及部署流程。

  2. 缩减运营开销:传统部署伴随耗时的环境搭建与依赖问题。Docker利用镜像技术,将代码及其所需环境封装为单一镜像,仅需上传至容器即刻启动,大幅度缩短了软件部署周期。

  3. 增强PaaS平台效能:Docker使得单台物理服务器能够承载多份轻量级容器,这种架构显著提高了资源利用效率与运行速度。

  4. 环境隔离促进并行开发:借助Docker容器技术,开发者在同一硬件基础设施上能建立多个独立的运行环境,便于并行进行新应用的测试与开发,同时确保现有应用不受干扰,促进了开发和测试的高效协同。

  5. 自动化CI/CD流程:Docker容器无缝集成至持续集成(CI)与持续交付(CD)流程中,自动化这些关键环节,加速软件从开发到部署的每一步。

  6. 简化大规模部署与运维:凭借快速部署能力、可复制度及易管理性,Docker成为大规模应用部署与维护的理想工具,它使管理员能够高效管控复杂的应用群集。

这篇关于原来这个东西叫 Docker的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083044

相关文章

找完工作该补充的东西

首先: 锻炼身体,包括乒乓球,羽毛球,都必须练习,学习,锻炼身体等是一个很重要的与人交际沟通的方式; 打牌,娱乐:会玩是一个人很重要的交际沟通的法宝; 摄影:这个是一个兴趣爱好,也是提高自己的审美,生活品质,当然也是与人沟通的重要途径; 做饭:这个的话就是对自己,对朋友非常有益的一件事情;

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c

利用Frp实现内网穿透(docker实现)

文章目录 1、WSL子系统配置2、腾讯云服务器安装frps2.1、创建配置文件2.2 、创建frps容器 3、WSL2子系统Centos服务器安装frpc服务3.1、安装docker3.2、创建配置文件3.3 、创建frpc容器 4、WSL2子系统Centos服务器安装nginx服务 环境配置:一台公网服务器(腾讯云)、一台笔记本电脑、WSL子系统涉及知识:docker、Frp

Docker启动异常

报错信息: failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (d

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把

Docker Compose--安装Nginx--方法/实例

原文网址:Docker Compose--安装Nginx--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker Compose如何安装Nginx。 目录结构 ├── config│   ├── cert│   │   ├── xxx_bundle.pem│   │   └── xxx.key│   ├── conf.d│   └── nginx.co

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

【Docker】Docker操作镜像命令

1. 列出本地镜像 # 列出本地所有镜像 docker images 2. 拉取镜像 # 从 Docker Hub 或其他仓库拉取镜像 docker pull [OPTIONS] NAME[:TAG|@DIGEST] # 示例:拉取名为 ubuntu 的镜像,标签为 latest docker pull ubuntu:latest 3. 搜索镜像 # 在 Docker Hu

docker 问题记录以及解决方法

1、windows 7安装docker 需要下载 Docker Toolbox才能安装,刚开始下载了Docker Desktop Installer.exe 点击安装没反应,后来查找资料才知道windows 7需要Docker Toolbox才能安装,官网显示windows10才可以安装Docker Desktop Installer.exe但是就算是widnows10 也是有版本限制的。 2、

Docker配置与使用

Docker配置与使用 目录: 简介 安装Docker 基本命令 镜像管理 容器管理 数据卷管理 网络管理 Dockerfile编写 示例:搭建一个简单的Web应用 简介 Docker是一个开源的应用容器引擎,可以让开发者将应用程序及其依赖环境打包到一个可移植的容器中,然后发布到任何支持Docker的平台上。Docker可以解决环境一致性问题,提高开发、部署和运维的效率。