首页 > 其他分享 >1. Docker的介绍和安装(一)

1. Docker的介绍和安装(一)

时间:2024-07-24 20:53:51浏览次数:15  
标签:容器 操作系统 虚拟机 网络 介绍 镜像 Docker 安装

1 什么是Docker

Docker是一个开源的应用容器引擎,旨在简化应用的开发、交付和运行。通过容器技术,Docker能够将应用及其依赖打包在一个轻量级、可移植的容器中,确保应用在不同环境中的一致性和可靠性。

在这里插入图片描述

2 Docker的历史与背景

Docker由Solomon Hykes于2013年推出,旨在简化应用的部署和管理。自发布以来,Docker迅速成为容器技术的代表,得到了开发者和企业的广泛关注和使用。

2.1 发展历程

  • 2013年:Docker首次发布,迅速获得社区和企业的关注。
  • 2014年:Docker 0发布,标志着Docker技术的成熟。
  • 2015年:Docker成为最受欢迎的容器技术之一,推出Docker Hub,提供镜像托管服务。
  • 2017年:Docker Inc.发布Docker Enterprise,面向企业用户的容器管理解决方案。
  • 2018年:Docker被云原生计算基金会(CNCF)收购,推动容器技术的标准化和开放发展。
  • 2020年:Docker Desktop集成了Kubernetes,提供了更强大的本地开发环境。
  • 2021年:Docker引入了新的订阅计划,以支持持续开发和创新。
  • 2023年:Docker 23.x版本发布,进一步提升了性能和安全性,并增加了对新硬件和操作系统的支持。

2.2 Docker的里程碑

  • Docker 0:标志着容器技术的成熟和广泛应用。
  • Docker Compose:简化多容器应用的编排与管理。
  • Docker Swarm:内置的集群管理工具,实现容器集群管理和调度。
  • Kubernetes集成:支持与Kubernetes的集成,增强容器编排能力。
  • Docker 23.x:当前最新版本,提升了性能和安全性,并增加了对新硬件和操作系统的支持。

3 Docker的核心概念

理解Docker的核心概念是掌握Docker的基础。以下是Docker的几个关键概念:

3.1 镜像(Image)

镜像是Docker容器的蓝图,包含了应用及其所有依赖的运行环境。镜像是只读的,可以从一个镜像创建多个容器。

  • 创建镜像:通过编写Dockerfile定义镜像的构建过程。
  • 镜像仓库:Docker Hub是公共镜像仓库,用户可以从中拉取镜像,也可以将自己的镜像推送到仓库。

3.2 容器(Container)

容器是运行中的镜像实例,具有隔离的文件系统和进程空间。容器是可执行的,能够在不同的环境中运行。

  • 启动容器:从镜像启动一个或多个容器。
  • 容器生命周期:包括创建、启动、停止和删除。

3.3 Docker引擎(Docker Engine)

Docker引擎是Docker的核心组件,负责管理镜像、容器、网络和数据卷等。它包含一个守护进程和一个客户端,客户端通过命令行接口(CLI)与守护进程交互。

  • Docker守护进程:运行在后台,负责容器的创建、运行和管理。
  • Docker客户端:命令行工具和API接口,用户通过它与Docker守护进程进行交互。

3.4 Docker网络(Docker Networking)

Docker网络提供容器间的通信和与外界的连接。Docker支持多种网络模式,如bridge、host、overlay等。

  • 桥接网络(bridge):默认网络模式,容器间通过虚拟网桥进行通信。
  • 主机网络(host):容器共享宿主机的网络命名空间。
  • 覆盖网络(overlay):跨主机的网络,适合多主机环境的容器通信。

3.5 数据卷(Volumes)

数据卷是Docker用来持久化数据的存储解决方案。数据卷可以独立于容器生命周期,保证数据的持久性和共享性。

  • 创建和管理数据卷:使用命令行或Docker Compose定义数据卷。
  • 数据卷备份与恢复:通过挂载数据卷,实现数据的备份和迁移。

4 Docker与虚拟机的区别

4.1 容器与虚拟机的区别

  • 虚拟机(VM)

    • 在虚拟机中,操作系统和应用程序都运行在一个完整的虚拟化环境中。
    • 每个虚拟机需要独立的操作系统,资源消耗较大,启动时间较长。
  • 容器

    • 容器在宿主机的操作系统内核上运行,具有更轻量的特性。
    • 容器共享宿主机的操作系统内核,但具有独立的文件系统和进程空间。
    • 容器启动时间短,资源占用少,适合快速部署和大规模分发。
      在这里插入图片描述

4.2 Docker的优势

  • 一致性:容器化的应用在不同环境中运行一致,减少了“在我这儿可以运行”的问题。
  • 高效性:容器比虚拟机更轻量,启动和运行速度更快,资源利用率更高。
  • 便捷性:Docker提供了简单的命令行工具和API,支持自动化部署和管理。

标签:容器,操作系统,虚拟机,网络,介绍,镜像,Docker,安装
From: https://blog.csdn.net/imdeity/article/details/140635651

相关文章

  • 使用docker的mysql镜像,gin后端服务连接数据库失败。
    我的配置文件是这样的:(账号、密码、数据库名字都正确)mysql:host:127.0.0.1port:3306database:idealusername:rootpassword:1我的docker-mysql是这样的:(端口也暴露出来了)但是还是出现以下错误:[error]failedtoinitializedatabase,goterrordialt......
  • 基于STC89C51单片机的智能热水器控制系统设计(含文档、源码与proteus仿真,以及系统详细
    本篇文章论述的是基于STC89C51单片机的智能热水器控制系统设计的详情介绍,如果对您有帮助的话,还请关注一下哦,如果有资源方面的需要可以联系我。目录摘 要原理图仿真图代码系统论文资源下载摘 要现在社会发展迅速,人们的生活水平都有所提高,各种热水器的使用早已屡......
  • 算法介绍(一):LLCNN低光照
    对于一张灰度图片,像素值越大则亮度越高,像素值越小则亮度越低在数字图像处理领域有一种很简单的图像亮度调整算法——伽马变换伽马变换是一种用于调整图像亮度和对比度的非线性操作,其基本公式为(I'=I^\gamma),其中(I')是输出图像的灰度值,(I)是输入图像的灰度值,而(\g......
  • Wordpress安装到win10(2024年7月)
    目录1.wordpress介绍2下载应用2.1.wordpress2.2XAMPP 2.3PHPmyadmin3.配置应用3.1XAMPP进程3.2文件配置3.3phpmyadmin配置4.配置网页4.1数据库创建 4.2安装wordpress5.进入面板6.总结1.wordpress介绍WordPress是一个开源内容管理系统(CMS),它允许用户构......
  • alpine 3.18.7 编译安装redis7.2.5
    1.安装对应的包apkaddbuild-basegcclibc-devlinux-headers安装makeapkaddmake2.解压缩redis包,tar-xzvfredis-7.2.5.tar.gz#进入src目录cd/root/redis-7.2.5/src3.进行make编译make 但是还是提示jemalloc/jemalloc.h:Nosuch......
  • VMware workstation 17.0 安装与激活
    解压VMware17到当前目录:点击下载压缩包提取码ynxc右键鼠标 VMware-workstation-full-17.0.0-20800274选择以管理员身份运行(A):点击下一步:点击我接受许可协议中的条款(A):点击下一步:点击更改安装位置选择自己所要安装的目录下:点击 下一步:点击 下一......
  • Linux 服务器中如何实现 Docker 自动清理回收空间
    简介Docker是一个流行的容器化平台,但在使用过程中可能会占用大量磁盘空间。为了保持系统的整洁和高效,我们可以设置定时任务来自动清理Docker资源。本教程将指导你如何设置cron任务,以每天凌晨3点自动执行Docker清理命令。准备工作确保你的系统上已安装Docker。确保......
  • docker-compose安装loki
    在Linux上使用Docker安装Loki和Grafana,完成日志采集和分析的步骤如下:步骤1:安装Docker确保你已经安装并配置好Docker。如果还没有,请参考前面的安装步骤。步骤2:安装DockerCompose为了简化Loki和Grafana的安装和配置,建议使用DockerCompose。以下是在Ubuntu......
  • C++this指针--指针的介绍用法以及相关注意事项
    什么是this指针this指针是在C++中用来指向当前对象的特殊指针。它是每个非静态成员函数的隐式参数,指向调用该函数的对象。在C++类的成员函数中,除了静态成员函数外,每个成员函数都有一个隐含的this指针,它指向调用该函数的对象。这个指针可以让成员函数访问调用它的对象......
  • Linux 服务器中如何实现 Docker 自动清理回收空间
    简介Docker是一个流行的容器化平台,但在使用过程中可能会占用大量磁盘空间。为了保持系统的整洁和高效,我们可以设置定时任务来自动清理Docker资源。本教程将指导你如何设置cron任务,以每天凌晨3点自动执行Docker清理命令。准备工作确保你的系统上已安装Docker。确保......