🎉 Docker 简介和安装

43 阅读3分钟

🎉 Docker 简介和安装


Docker 是什么

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。可以把 Docker 理解为操作系统。Docker Hub 理解为软件商店。每个软件都是独立的个体。多个软件可以组合成一个软件。

Docker 跟普通虚拟机的对比

启动速度:Docker启动快速属于秒级别,而虚拟机通常需要几分钟去启动;

性能损耗:性能损耗不同,Docker需要的资源更少;

隔离性:隔离性不同,Docker属于进程之间的隔离,隔离性较弱,而虚拟机可以实现系统级别的隔离。

打包、分发、部署

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:你可以把你打包好的安装包上传到一个镜像仓库,其他人可以非常方便的获取和安装。
部署:拿着安装包就可以一个命令运行起来你的应用,自动模拟出一模一样的运行环境,不管是在 Windows/Mac/Linux。

Docker 部署的优势

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

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

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

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

Docker 通常用来做什么

  • 应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用
  • 快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis 。
  • 多个版本软件共存,不污染系统,例如可以安装多个JDK1.8环境。

重要概念:镜像、容器

镜像(Image):可以理解为软件安装包,可以方便的进行传播和安装,需要可在 Docker Hub中查找。可基于镜像构建新的镜像。
容器(Container):软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。可以启动、停止、删除等。

仓库(Repository):可以把仓库理解为软件商店,仓库就是存放镜像的地方。有公共仓库和私有仓库,用户可以基于 Harbor 等开源组件构建自己的私有仓库。

存储卷(Volume):可以理解为硬盘,可以挂载到容器上。

macOS 安装 Docker

下载地址:www.docker.com/products/do…

点击下载安装即可。

Linux 安装 Docker

Linux 安装 Docker。只需要一条命令即可。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Docker 配置文件

{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

可通过 registry-mirrors 配置项配置 Maven仓库地址。

常用镜像源:

镜像加速器镜像加速器地址
Docker 中国官方镜像registry.docker-cn.com
DaoCloud 镜像站f1361db2.m.daocloud.io
Azure 中国镜像dockerhub.azk8s.cn
科大镜像站docker.mirrors.ustc.edu.cn
阿里云https://<your_code>.mirror.aliyuncs.com
七牛云reg-mirror.qiniu.com
网易云hub-mirror.c.163.com
腾讯云mirror.ccs.tencentyun.com

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 17 天,点击查看活动详情