当前位置: 首页 > news >正文

Docker的介绍、保姆级安装和使用

一、Docker简介

1.1、Docker是什么

        Docker是一个用于开发、发布和运行应用程序的开放平台;使您能够将应用程序与基础设施分离,以便您可以快速交付软件。不像虚拟机那样笨重(比如:我需要将一个安装好nginx环境的内容分享给其他人:

方式一【使用虚拟】(应用程序Nginx与基础设施即Linux系统并没有分离,完全依赖当前配置的Linux系统环境):在虚拟机中我需要先创建一个对应的Liunx系统环境,然后再在该虚拟的Linux环境中下载Nginx并且进行对应的环境配置,最后就是将整个虚拟机的Linux系统都打成压缩包,整个压缩包是很大,大约有2G至3G,且还需要通过其他的方式将这个打压缩包发送给对应的人,十分繁琐,费时且耗费资源,而其实我们真正只需要的Nginx环境内容只6M左右,得不偿失。

方式二【使用Docker】(应用程序Nginx与基础设施是分离的):使用Docker我们只用拉取并启用一个nginx的容器,然后进入容器进行对应的环境配置测试完成后就可以直接打包发布了,整个内容大概在100M以内,基本上就是这个应用程序的大小,管理和操作都十分快速便捷,有很高的灵活性)。

        Docker 提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的,包含运行应用程序所需的一切,因此您不需要依赖主机上安装的内容。您可以在工作时共享容器,并确保与您共享的每个人都获得以相同方式工作的相同容器。

1.2、Docker三大核心

Docker的三大核心
序号Docker的三大核心说明
1镜像(image)使用Docker打包出来的每个软件(应用程序),都称之为Docker镜像(打包出来的镜像内容是个压缩包文件,里面存放着安装好的程序)
2容器(container)容器是利用镜像创建运行的实例(它可以被执行创建、启动、停止、删除操作)且每个容器都是相互隔离、保证安全的平台(可以将容器看作是一个简单版的Linux系统,包含应用程序必备的系统权限、端口、进程、网络和用户组等内容)。
 
3仓库(repository)仓库是用来保存镜像的统一控制中心(里面存储着用户上传的所有镜像内容;Docker仓库属于仓库注册服务器(Registry),官方提供的Docker Hub是任何人都可以使用的公共注册表,Docker 默认在 Docker Hub 上查找镜像。你也可以配置运行自己的私人注册表)

1.3、Docker的架构

        Docker是使用客户端-服务器(Client-Server 简称CS)架构Docker的客户端是负责发送对应的命令给Docker守护进程(daemon),而Docker守护进程负责处理客户端请求并管理 Docker 的镜像构建、运行和分发 Docker 容器的重要工作。

        Docker 客户端和守护进程可以在同一系统上运行,也可以将 Docker 客户端连接到远程 Docker 守护进程 Docker 客户端和守护进程使用 REST API 通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器编排组成的应用程序。

        Docker 从 1.31.1 后分 CE(Community Edition 社区版)和 EE(Enterprise Edition 企业版)两个版本(目前基本上都是使用带ce或ee的版本了),docker.io、docker-io、docker-engine是1.31.1之前的版本。

docker的各个版本详情介绍icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/305572519

二、Docker的安装

2.1、Windows系统上安装Docker

Windows10安装配置Docker客户端和WSL2与Hyper-V虚拟机icon-default.png?t=N7T8https://blog.csdn.net/xiaochenXIHUA/article/details/139610470?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172389935016800185892259%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=172389935016800185892259&biz_id=0&utm_medium=distribute.pc_search_result.none-t

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据库学习(进阶)
  • LoginFormDTO
  • iOS18 Beta7 最终测试版推送:苹果的又一次技术飞跃
  • HTTP 之 HTTP/1.0、HTTP/1.1和HTTP2的缓存策略(六)
  • [数据集][目标检测]起子检测数据集VOC+YOLO格式1215张1类别
  • 在Excel中“直接引用”字符串地址
  • 【实战教程】用scikit-learn玩转KNN:鸢尾花数据集的分类之旅
  • leetcode371. 两整数之和,位运算
  • Git介绍及配置
  • 一、什么是 mvvm? MVC、MVP、MVVM三种模式的区别与详解
  • [数据集][目标检测]扳手检测数据集VOC+YOLO格式1042张1类别
  • 前同事2024年接私活已入百万,都是用这几个开源的SpringBoot项目
  • 封装了一个iOS评论弹窗
  • 使用js代码模拟React页面中input文本框输入
  • YOLOv8实例分割+双目相机实现物体尺寸测量
  • 【技术性】Search知识
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Elasticsearch 参考指南(升级前重新索引)
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • magento2项目上线注意事项
  • mockjs让前端开发独立于后端
  • orm2 中文文档 3.1 模型属性
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • SpringBoot几种定时任务的实现方式
  • webgl (原生)基础入门指南【一】
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 服务器从安装到部署全过程(二)
  • 计算机在识别图像时“看到”了什么?
  • 理清楚Vue的结构
  • 每天10道Java面试题,跟我走,offer有!
  • 让你的分享飞起来——极光推出社会化分享组件
  • 在Unity中实现一个简单的消息管理器
  • 正则学习笔记
  • ​字​节​一​面​
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (Java数据结构)ArrayList
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)原生js案例之数码时钟计时
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)Scala的“=”符号简介
  • .Net IE10 _doPostBack 未定义
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
  • .NET单元测试使用AutoFixture按需填充的方法总结
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化