容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)


文章目录

    • 一、简介和安装
      • 1)什么是docker
      • 2)跟虚拟机的对比
      • 3)打包、分发、部署介绍
      • 4)Docker 部署的优势
      • 5)Docker 通常用来做什么
      • 6)重要概念:镜像、容器
      • 7)安装链接
      • 8)docker启动报错解决方法
      • 9)子系统安装步骤
      • 10)设置镜像加速源(docker服务器在国外)
    • 二、docker快速安装软件
      • 1)直接安装的缺点
      • 2)docker安装优点
      • 3)演示Docker安装Redis
    • 三、制作自己的镜像
    • 四、目录挂载
    • 五、多容器通信
    • 六、Docker-Compose
    • 七、发布和部署
    • 八、备份和迁移数据

一、简介和安装 1)什么是docker
Docker 是一个应用打包、分发、部署的工具
你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,
而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。
2)跟虚拟机的对比
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

3)打包、分发、部署介绍
  • 打包:
    就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
  • 分发:
    你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
  • 部署:
    拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。
4)Docker 部署的优势
  • 概念
    常规应用开发部署方式:自己在 Windows 上开发、测试 --> 到 Linux 服务器配置运行环境部署。
问题:
怎么在我机器上跑都没问题,怎么到服务器就各种问题了?
  • 解决方法
    用 Docker 开发部署流程:自己在 Windows 上开发、测试 --> 打包为 Docker 镜像(可以理解为软件安装包) --> 各种服务器上只需要一个命令部署好
  • 优点
    确保了不同机器上跑都是一致的运行环境,不会出现我机器上跑正常,你机器跑就有问题的情况。
5)Docker 通常用来做什么
1)应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用
2)快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis / MongoDB / ElasticSearch / ELK
3)多个版本软件共存,不污染系统,例如 Python2、Python3,Redis4.0,Redis5.0
Windows 上体验/学习各种 Linux 系统
6)重要概念:镜像、容器
  • 镜像:
    可以理解为软件安装包,可以方便的进行传播和安装。
  • 容器:
    软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。
7)安装链接
  • win桌面版:
    https://www.docker.com/products/docker-desktop
    容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
    文章图片

  • linux服务器版:
    https://docs.docker.com/engine/install/#server
8)docker启动报错解决方法
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

  • 解决方法:
    控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)
    容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
    文章图片
9)子系统安装步骤
1)wsl --install -d Ubuntu
命令行安装可能太慢,你也可以打开微软商店 Microsoft Store 搜索 Linux 进行安装
2)设置开机启动 Hypervisor
bcdedit /set hypervisorlaunchtype auto

注意要用管理员权限打开 PowerShell
3)win的注意确保 BIOS 已开启虚拟化,下图检查是否已开启好
如果是已禁用,请在开机时按 F2 进入 BIOS 开启一下,不会设置的可以网上搜索下自己主板的设置方法,Intel 和 AMD 的设置可能稍有不同
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

4)若出现下图错误,点击链接安装最新版本的 WSL2,安装完后记得点击restart重新启动
下载链接
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

10)设置镜像加速源(docker服务器在国外)
阿里云需要去自己注册一个号
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

二、docker快速安装软件 1)直接安装的缺点
(1)安装麻烦,可能有各种依赖,运行报错。例如:WordPress,ElasticSearch,Redis,ELK
(2)可能对 Windows 并不友好,运行有各种兼容问题,软件只支持 Linux 上跑
(3)不方便安装多版本软件,不能共存。
(4)电脑安装了一堆软件,拖慢电脑速度。
(5)不同系统和硬件,安装方式不一样
2)docker安装优点
(1)一个命令就可以安装好,快速方便
(2)有大量的镜像,可直接使用
(3)没有系统兼容问题,Linux 专享软件也照样跑
(4)支持软件多版本共存
(5)用完就丢,不拖慢电脑速度
(6)不同系统和硬件,只要安装好 Docker 其他都一样了,一个命令搞定所有
3)演示Docker安装Redis
(1)Redis 官网:https://redis.io/
官网下载安装教程只有源码安装方式,没有 Windows 版本。想要自己安装 windows 版本需要去找别人编译好的安装包。
(2)Docker 官方镜像仓库查找 Redis :https://hub.docker.com/
容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

(3)一个命令跑起来:docker run -d -p 6379:6379 --name redis redis:latest
命令参考:https://docs.docker.com/engine/reference/commandline/run/
【容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)】容器编排与虚拟化|docker学习笔记(未完待续09/08,k8s云原生学习前瞻)
文章图片

https://docker.easydoc.net/doc/81170005/cCewZWoN/AWOEX9XM
https://www.bilibili.com/video/BV11L411g7U1?p=2&vd_source=27ec8b3b09d2a66ceeb9dbe961a247d3
三、制作自己的镜像 四、目录挂载 五、多容器通信 六、Docker-Compose 七、发布和部署 八、备份和迁移数据

    推荐阅读