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

Docker 简介和安装

目录


Docker 是一个应用打包、分发、部署的工具
你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,
而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件

特性普通虚拟机Docker
跨平台通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行支持的系统非常多,各类 windows 和 Linux 都支持
性能性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了性能好,只虚拟软件所需运行环境,最大化减少没用的配置
自动化需要手动安装所有东西一个命令就可以自动部署好所需环境
稳定性稳定性不高,不同系统差异大稳定性好,不同系统都一样部署方式

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。

常规应用开发部署方式:自己在 Windows 上开发、测试 --> 到 Linux 服务器配置运行环境部署。

问题:我机器上跑都没问题,怎么到服务器就各种问题了

用 Docker 开发部署流程:自己在 Windows 上开发、测试 --> 打包为 Docker 镜像(可以理解为软件安装包) --> 各种服务器上只需要一个命令部署好

优点:确保了不同机器上跑都是一致的运行环境,不会出现我机器上跑正常,你机器跑就有问题的情况。

例如 易文档,SVNBucket 的私有化部署就是用 Docker,轻松应对客户的各种服务器。

  • 应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用
  • 快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis / MongoDB / ElasticSearch / ELK
  • 多个版本软件共存,不污染系统,例如 Python2、Python3,Redis4.0,Redis5.0
  • Windows 上体验/学习各种 Linux 系统

镜像:可以理解为软件安装包,可以方便的进行传播和安装。
容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。

桌面版:Docker Desktop: The #1 Containerization Tool for Developers | Docker
服务器版:Install Docker Engine | Docker Docs

镜像加速器镜像加速器地址
Docker 中国官方镜像https://registry.docker-cn.com
DaoCloud 镜像站http://f1361db2.m.daocloud.io
Azure 中国镜像https://dockerhub.azk8s.cn
科大镜像站https://docker.mirrors.ustc.edu.cn
阿里云https://ud6340vz.mirror.aliyuncs.com
七牛云https://reg-mirror.qiniu.com
网易云https://hub-mirror.c.163.com
腾讯云https://mirror.ccs.tencentyun.com

"registry-mirrors": ["https://registry.docker-cn.com"]

1.png

相关文章:

  • WPS部分快捷操作汇总
  • 华为设备配置静态路由和默认路由
  • 2024华为OD机试真题-寻找最优的路测线路-(C++/Java/Python)-C卷D卷-200分
  • 数据结构第七章-查找(1.基础内容)
  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑动态定价的新能源汽车能源站优化运行》
  • 【小海实习日记】问题排查思路
  • python解决flask启动的同时启动定时任务
  • 疫情物资捐赠和分配系统的设计
  • ARM功耗管理之系统分区-电压域和电源域
  • Fastjson 反序列化漏洞[1.2.24-rce]
  • 06.持久化存储
  • Spring解决循环依赖
  • Ansys Mechanical|组装 External Mechanical Model
  • c++中 unordered_map 与 unordered_set 用法指南
  • 深入分析 Android BroadcastReceiver (一)
  • ERLANG 网工修炼笔记 ---- UDP
  • JavaScript创建对象的四种方式
  • js算法-归并排序(merge_sort)
  • Puppeteer:浏览器控制器
  • Python_网络编程
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 和 || 运算
  • 普通函数和构造函数的区别
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 从如何停掉 Promise 链说起
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ‌内网穿透技术‌总结
  • #、%和$符号在OGNL表达式中经常出现
  • #13 yum、编译安装与sed命令的使用
  • #define用法
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (06)Hive——正则表达式
  • (1)Android开发优化---------UI优化
  • (2)空速传感器
  • (Charles)如何抓取手机http的报文
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Python第六天)文件处理
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ******之网络***——物理***
  • .chm格式文件如何阅读
  • .net core 6 集成和使用 mongodb
  • .Net Core 微服务之Consul(二)-集群搭建
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net 获取url的方法
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?