侧边栏壁纸
博主头像
Wyatt博主等级

Done is better than perfect!

  • 累计撰写 103 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

Docker:入门课

Wyatt
2021-03-24 / 0 评论 / 0 点赞 / 195 阅读 / 1,931 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-03-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一. 简介

Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使我们能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,我们可以与管理应用程序相同的方式来管理基础架构。通过利用Docker快速交付,测试和部署代码的方法,可以显着减少编写代码和在生产环境中运行代码之间的延迟。

Docker提供了工具和平台来管理容器的生命周期:

  • 使用容器开发应用程序及其支持组件。
  • 容器成为分发和测试公司应用程序的单元。
  • 准备就绪后,可以将应用程序作为容器或协调服务部署到生产环境中。无论是生产环境还是本地数据中心,云提供商还是两者的混合,实现跨基础设施架构。

二. 使用

由于个人主要使用macOS,所以以后的分享主要侧重macos系统为主,linux的操作差别不大,但是Windows系统略有区别。

2.1 安装

  • Docker Desktop for Mac安装
    Mac Desktop
  • brew安装
    我们通过brew的安装指令安装即可,如
    brew cask install docker

2.2 安装Docker-Compose

其实在Mac上面安装都很方便,上面的俩种方式都包含了Docker-Compose组件了,所以不需要单独安装。
但是Linux和windows可能略有不同,请同学多查看官方文档。
docker dashboard

2.3 验证

验证Docker以及Docker-Compose的版本,请使用如下指令:

docker --version
docker-compose --version

效果如下,则为成功
version

三. 核心概念

3.1 镜像:Image

它类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。

3.2 容器:Container

它是镜像的实例化体现,更像一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。

容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。

3.3 仓库:Repository

它类似于代码仓库,只是这儿是更细分的镜像仓库,是Docker用来集中存放镜像文件的地方。
镜像仓库(Repository)与注册服务器(Registry)的区别:

  • Repository:本身是一个仓库,这个仓库里面可以放具体的镜像,是指具体的某个镜像的仓库,比如Tomcat下面有很多个版本的镜像,它们共同组成了Tomcat的Repository。

  • Registry:镜像的仓库,比如官方的是Docker Hub,它是开源的,也可以自己部署一个,Registry上有很多的Repository,Redis、Tomcat、MySQL等等Repository组成了Registry。

四. 总结

Docker的理解和使用非常简单,但是在这之前我们得知道Docker到底解决了我们什么问题?这个中间价是如何给我们的应用赋能的?
作为一个开发者,我们应该仔细思考我们的选型,不要为了架构而架构,那就脱离技术的初衷了。

Reference

https://hub.docker.com/editions/community/docker-ce-desktop-mac
https://zhuanlan.zhihu.com/p/23599229
https://docs.docker.com/get-started/

欢迎关注我的博客:https://blog.wyatt.plus

0

评论区