Docker 是一个应用打包、分发和部署的工具,可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,其他的都不要,传统的虚拟机则是用软件虚拟一个完整而庞大的系统,所以Docker相对更轻量。
特性 | 传统VM | Docker |
---|---|---|
隔离级别 | 操作系统 | 进程 |
性能 | 性能差,内存占用高,因为虚拟了一个完整的操作系统 | 性能好,它只虚拟软件所需的运行环境,最大化减少不必要的配置,提升性能 |
跨平台 | 通常只能在桌面级系统运行,比如 Windows/Mac | 支持的系统有很多,各类 windows 和 Linux 都支持 |
自动化 | 所有操作都需要手动安装配置 | 一个命令就可以自动部署好所需环境 |
稳定性 | 稳定性不高,不同系统差异大 | 稳定性好,不同系统都一样部署方式 |
打包: 将软件运行所需的依赖、第三方库、源代码打包在一起,变成一个 安装包
分发: 把你打包好的 “安装包”
上传到一个仓库,就好比 GitHub 开源代码差不多,可以非常方便的获取和安装
部署: 拿着 “安装包”
就可以使用一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是你是在 Windows,Mac 或者 Linux 都一样
在没有使用 Docker 技术前,通常就是开发者在 Windows 或者 Mac 等等图形化友好的操作系统上完成应用的开发,以及测试等构建工作,最后就是部署,通常部署在 Linux 服务器上,需要在服务器上完成环境的安装和部署,版本号有一点差错,可能就会导致,在我机器上跑都没问题,怎么到服务器就各种问题了
,想想就头疼!
在使用了 Docker 技术后,同样还是开发者在 Windows / Mac 等图形化友好的界面上开发并完成测试等构建工作,注意,后续就有不一样了,这时需要将应用打包为 Docker 镜像,可以理解成安装包,只不过这个安装包有点特殊,你只需要在各种安装了 Docker 的服务器上运行一个命令就部署好了,确保了不同机器上跑一致的运行环境,不会再出现我机器上跑正常,换台机器就有问题的情况
。
Docker综合考虑沙箱和虚拟机,扬长避短,即拥有不错的资源隔离能力,又有很低的虚拟化开销,它的应用场景也很广,列举以下场景供开发者参考:
👏 可以用在运维上,应用打包,分发和部署,一次打包,处处运行
👏 快速安装测试/学习软件,用完就清(类似小程序),例比如 MySQL / Redis / MongoDB ……
👏 多个版本软件共存,不污染系统,比如 Python2、Python3
👏 Windows 上体验/学习各种 Linux 系统
👏 ……
下面了解两个重要概念,镜像和容器,镜像可以理解为软件安装包,如果你使用镜像文件(iso)装过操作系统,那么就可以把镜像文件理解成一个安装包,容器就好比安装完成后的操作系统,它是独立的,隔离的,容器只是对它的一个形象称呼。
镜像【image】: 可以理解为软件安装包,能方便的进行分发和安装。
容器【container】: 软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。
在 Windows 系统安装 Docker 的图形化软件,Docker运行环境为 Linux 系统,那想要在 Windows 上使用 Docker 就需要有 Linux 的运行环境,我们的系统中已经安装好了 Linux 的运行环境
64位处理器二级地址转换
4GB系统RAM
使用 Ctrl + Shift + Esc
打开任务管理器,选择性能选项卡,查看当前 Windows 是不是已经开启了虚拟化
首先进入https://docs.docker.com/get-docker/
下载软件
其中我遇到了两个问题,第一个是未开启虚拟化,找教程开启就可以了,还有一个问题就是说更新一下 WSL,不用担心,Docker官方很细心,常见问题它在下面贴的都有链接,点链接就知道哪里出问题了,根据文档提示进行修复就可以了。
由于 Docker 的服务器在国外,国内使用下载镜像会很慢,配置国内镜像代理可以解决下载慢的问题。
我的配置如下:一个是国内官方,一个是科大的镜像站
"registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"],
以下还有很多镜像加速站点,可以根据个人喜好进行选择,注意阿里云需要单独申请
镜像加速器 | 镜像加速器地址 |
---|---|
Docker 中国官方镜像 | https://registry.docker-cn.com |
DaoCloud 镜像站 | http://f1361db2.m.daocloud.io |
Azure 中国镜像 | https://dockerhub.azk8s.cn |
科大镜像站 | https://docker.mirrors.ustc.edu.cn |
网易云 | https://hub-mirror.c.163.com |
七牛云 | https://reg-mirror.qiniu.com |
阿里云 | https:// |
腾讯云 | https://mirror.ccs.tencentyun.com |
这就是全部内容了,如果你觉得文章不错,记得点赞支持小周呀👋