• 初学Docker要掌握哪些概念?


    在这里插入图片描述

    一、Docker是什么?

    在这里插入图片描述

    Docker 是一个应用打包、分发和部署的工具,可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,其他的都不要,传统的虚拟机则是用软件虚拟一个完整而庞大的系统,所以Docker相对更轻量。

    二、传统VM 对比 Docker

    在这里插入图片描述

    特性传统VMDocker
    隔离级别操作系统进程
    性能性能差,内存占用高,因为虚拟了一个完整的操作系统性能好,它只虚拟软件所需的运行环境,最大化减少不必要的配置,提升性能
    跨平台通常只能在桌面级系统运行,比如 Windows/Mac支持的系统有很多,各类 windows 和 Linux 都支持
    自动化所有操作都需要手动安装配置一个命令就可以自动部署好所需环境
    稳定性稳定性不高,不同系统差异大稳定性好,不同系统都一样部署方式

    三、打包、分发、部署

    在这里插入图片描述

    打包: 将软件运行所需的依赖、第三方库、源代码打包在一起,变成一个 安装包

    分发: 把你打包好的 “安装包” 上传到一个仓库,就好比 GitHub 开源代码差不多,可以非常方便的获取和安装

    部署: 拿着 “安装包” 就可以使用一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是你是在 Windows,Mac 或者 Linux 都一样

    四、未使用 Docker 部署

    在这里插入图片描述

    在没有使用 Docker 技术前,通常就是开发者在 Windows 或者 Mac 等等图形化友好的操作系统上完成应用的开发,以及测试等构建工作,最后就是部署,通常部署在 Linux 服务器上,需要在服务器上完成环境的安装和部署,版本号有一点差错,可能就会导致,在我机器上跑都没问题,怎么到服务器就各种问题了,想想就头疼!

    五、使用 Docker 部署

    在这里插入图片描述

    在使用了 Docker 技术后,同样还是开发者在 Windows / Mac 等图形化友好的界面上开发并完成测试等构建工作,注意,后续就有不一样了,这时需要将应用打包为 Docker 镜像,可以理解成安装包,只不过这个安装包有点特殊,你只需要在各种安装了 Docker 的服务器上运行一个命令就部署好了,确保了不同机器上跑一致的运行环境,不会再出现我机器上跑正常,换台机器就有问题的情况

    六、Docker 使用场景

    Docker综合考虑沙箱和虚拟机,扬长避短,即拥有不错的资源隔离能力,又有很低的虚拟化开销,它的应用场景也很广,列举以下场景供开发者参考:

    在这里插入图片描述

    👏 可以用在运维上,应用打包,分发和部署,一次打包,处处运行
    👏 快速安装测试/学习软件,用完就清(类似小程序),例比如 MySQL / Redis / MongoDB ……
    👏 多个版本软件共存,不污染系统,比如 Python2、Python3
    👏 Windows 上体验/学习各种 Linux 系统
    👏 ……

    七、概念:镜像、容器

    在这里插入图片描述

    下面了解两个重要概念,镜像和容器,镜像可以理解为软件安装包,如果你使用镜像文件(iso)装过操作系统,那么就可以把镜像文件理解成一个安装包,容器就好比安装完成后的操作系统,它是独立的,隔离的,容器只是对它的一个形象称呼。

    镜像【image】: 可以理解为软件安装包,能方便的进行分发和安装。

    容器【container】: 软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。

    八、Windows 安装 Docker

    在 Windows 系统安装 Docker 的图形化软件,Docker运行环境为 Linux 系统,那想要在 Windows 上使用 Docker 就需要有 Linux 的运行环境,我们的系统中已经安装好了 Linux 的运行环境

    8.1、系统要求

    64位处理器二级地址转换
    4GB系统RAM
    使用 Ctrl + Shift + Esc 打开任务管理器,选择性能选项卡,查看当前 Windows 是不是已经开启了虚拟化

    在这里插入图片描述

    8.2、安装软件

    首先进入https://docs.docker.com/get-docker/ 下载软件

    在这里插入图片描述

    其中我遇到了两个问题,第一个是未开启虚拟化,找教程开启就可以了,还有一个问题就是说更新一下 WSL,不用担心,Docker官方很细心,常见问题它在下面贴的都有链接,点链接就知道哪里出问题了,根据文档提示进行修复就可以了。

    8.3、配置加速镜像

    由于 Docker 的服务器在国外,国内使用下载镜像会很慢,配置国内镜像代理可以解决下载慢的问题。

    在这里插入图片描述

    我的配置如下:一个是国内官方,一个是科大的镜像站

    "registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"],
    
    • 1

    以下还有很多镜像加速站点,可以根据个人喜好进行选择,注意阿里云需要单独申请

    镜像加速器镜像加速器地址
    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://.mirror.aliyuncs.com
    腾讯云https://mirror.ccs.tencentyun.com

    九、写在最后

    这就是全部内容了,如果你觉得文章不错,记得点赞支持小周呀👋

    在这里插入图片描述

  • 相关阅读:
    使用python提取轮廓做定制的毛笔字帖
    Windows下Go语言安装和环境变量配置
    在 Kubesphere 中开启新一代云原生数仓 Databend
    mysql数据库实验
    基于JAVA水星家纺网站计算机毕业设计源码+数据库+lw文档+系统+部署
    服务注册与实现
    如何用WebGPU流畅渲染千万级2D物体:基于光追管线
    杰哥教你面试之一百问系列:java中高级多线程concurrent的使用
    第7章 函数--C++的编成模块
    # Unity2D相机跟随的多种姿势
  • 原文地址:https://blog.csdn.net/m0_53321320/article/details/126224269