Docker快速入门 - 教程一之Docker 简介和安装

Docker 快速入门-1

Docker 是什么

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

跟普通虚拟机的对比

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

打包、分发、部署

  打包

  :就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包

  分发

  :你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装

  部署

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

  

https://image.coderlab.cn/preview/1476791384915611650

Docker 部署的优势

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

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

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

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

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

Docker 通常用来做什么

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

重要概念:镜像、容器

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

安装

  桌面版:https://www.docker.com/products/docker-desktop 服务器版:https://docs.docker.com/engine/install/#server

启动报错解决

  报错截图

  

https://image.coderlab.cn/preview/1476791386379423746

  解决方法

  :

  控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)

  

https://image.coderlab.cn/preview/1476791387755155458

  命令行安装 Linux 子系统(这步可能不需要,因为 docker 安装时有说自动安装 wsl)wsl --install -d Ubuntu

命令行安装可能太慢,你也可以打开微软商店 Microsoft Store 搜索 Linux 进行安装

  设置开机启动 Hypervisorbcdedit /set hypervisorlaunchtype auto

注意要用管理员权限打开 PowerShell

  确保 BIOS 已开启虚拟化,下图检查是否已开启好

如果是已禁用,请在开机时按 F2 进入 BIOS 开启一下,不会设置的可以网上搜索下自己主板的设置方法,Intel 和 AMD 的设置可能稍有不同

  

https://image.coderlab.cn/preview/1476791388728233986

  出现下图错误,点击链接安装最新版本的 WSL2

  https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  

https://image.coderlab.cn/preview/1476791390095577089

镜像加速源

  [[Untitled]]

  

https://image.coderlab.cn/preview/1476791392276615170