Docker 是什么
Docker 是一个应用打包、分发、部署的工具
你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,
而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。
借鉴:🎉 Docker 简介和安装 - Docker 快速入门 - 易文档 (easydoc.net)
视频连接:Docker 1小时快速上手教程,无废话纯干货_哔哩哔哩_bilibili
跟普通虚拟机的对比
特性 | 普通虚拟机 | Docker |
---|---|---|
跨平台 | 通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行 | 支持的系统非常多,各类 windows 和 Linux 都支持 |
性能 | 性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了 | 性能好,只虚拟软件所需运行环境,最大化减少没用的配置 |
自动化 | 需要手动安装所有东西 | 一个命令就可以自动部署好所需环境 |
稳定性 | 稳定性不高,不同系统差异大 | 稳定性好,不同系统都一样部署方式 |
打包、分发、部署
打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环 境, 不管是在 Windows/Mac/Linux。
Docker 部署的优势
- 应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用
- 快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis / MongoDB / ElasticSearch / ELK
- 多个版本软件共存,不污染系统,例如 Python2、Python3,Redis4.0,Redis5.0
- Windows 上体验/学习各种 Linux 系统
- 确保了不同机器上跑都是一致的运行环境,不会出现我机器上跑正常,你机器跑就有问题的情况。
重要概念:镜像、容器
镜像:可以理解为软件安装包,可以方便的进行传播和安装。
容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。
安装
桌面版:Docker Desktop - Docker
服务器版:Install Docker Engine | Docker Documentation
桌面版安装详步骤
下载并安装Docket Desktop安装包
打开文件
直接打开文件全选
安装完成后重启
接受协议并且同意
如果报错,没有则跳过这个步骤
按以下方式解决以上报错
控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)
确保 BIOS 已开启虚拟化,下图检查是否已开启好
报错截图
解决方案
点击链接安装最新版本的 WSL2点击链接安装最新版本的 WSL2
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安装完成截图
配置镜像源
镜像加速源
镜像加速器 镜像加速器地址 Docker 中国官方镜像 https://registry.docker-cn.com DaoCloud 镜像站 http://f1361db2.m.daocloud.io Azure 中国镜像 https://dockerhub.azk8s.cn 科大镜像站 https://docker.mirrors.ustc.edu.cn 阿里云 https://<your_code>.mirror.aliyuncs.com 七牛云 https://reg-mirror.qiniu.com 网易云 https://hub-mirror.c.163.com 腾讯云 https://mirror.ccs.tencentyun.com 如何配置截图
注册并登录Docker
想要push成功,需要去官网注册docker用户名
Docker Hub
查看Docker版本
现在进入windows终端(即windows命令行win+r,输入cmd并回车)
查看Docker的版本,也可以以此查看Docker是否安装成功
命令为Docker --version
查看是否自动安装ubuntu
docker images
安装Ubuntu(有则不需要执行)
借鉴:(44条消息) 使用Docker在windows10专业版上搭建Linux环境_小道克的博客-优快云博客
pull Ubnutu(其他镜像也可以pull,如需其它版本骑自行更改命令)
如下所示为正在下拉乌班图镜像
命令为`docker pull ubuntu:latest
下图为下拉成功。
运行当前镜像
docker run -it name(镜像的名字)
退出当前镜像
exit