小编给大家分享一下从0开始了解Docker入门的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
序
Docker 自开源以来受到了各大公司的广泛关注,或许现在互联网公司的运维体系不承载在 Docker(或 Pouch 等)之上都不好意思说自己的互联网公司。
本文会简单介绍下 Docker 的基础概念,入门级使用方式和一些使用 Docker 能大大提升效率的场景。
原理
对 Docker 最简单并且带有一定错误的认知就是 “Docker 是一种性能非常好的虚拟机”。
正如上面所说,这是有一定错误的说法。Docker 相比于传统虚拟机的技术来说先进了不少,具体表现在 Docker 不是在宿主机上虚拟出一套硬件后再虚拟出一个操作系统,而是让 Docker 容器里面的进程直接运行在宿主机上(Docker 会做文件、网络等的隔离),这样一来 Docker 会 “体积更轻、跑的更快、同宿主机下可创建的个数更多”。
Docker 中有三个核心概念:Image、Container、Repository。
Image: 有领“好人卡”倾向的广大程序猿一定对 镜像 的概念不会陌生。但和 windows 的那种 iso 镜像相比,Docker 中的镜像是分层的,可复用的,而非简单的一堆文件迭在一起(类似于一个压缩包的源码和一个 git 仓库的区别)。
Container: 容器的存在离不开镜像的支持,他是镜像运行时的一个载体(类似于实例和类的关系)。依托 Docker 的虚拟化技术,给容器创建了独立的端口、进程、文件等“空间”,Container 就是一个与宿机隔离 “容器”。容器可宿主机之间可以进行 port、volumes、network 等的通信。
Repository: Docker 的仓库和 git 的仓库比较相似,拥有仓库名、tag。在本地构建完镜像之后,即可通过仓库进行镜像的分发。常用的 Docker hub 有 https://hub.docker.com/ 、 https://cr.console.aliyun.com/ 等。
相关命令
1. 安装
Docker 的安装是非常便捷的,在 macOS、ubuntu 等下面都有一键式安装工具或者脚本。更多可以参考 Docker 官方教程。
安装后 Terminal 中敲下 docker,有使用说明出来的话大多情况下说明已经安装成功了。
2. 寻找基础镜像
DockerHub 等网站都提供了众多镜像,一般情况下我们都会从它那找个镜像作为基础镜像,然后再进行我们的后续操作。
这里我们以 ubuntu 基础镜像为例,配置一个 node 环境。
因为 “链路太长” 的原因,国内访问 Docker Hub 可能会比较慢,可以使用国内众多厂商提供的镜像加速器
3. 拉取基础镜像
利用 docker pull 命令即可从相关 hub 网站上拉取镜像到本地。同时在拉的过程中就能看到是按照多个 “层” 去拉镜像的。
> docker pull ubuntu:18.04
借助 Dockerfile 的能力,Docker 留下了无限的可能。
能做什么
说了这么一堆,那实际生产环境中 Docker 能做什么呢?常用的可能有下面这些(欢迎在评论中补充)
1. 多环境的部署切换
业务开发中往往需要区分开发环境与线上环境,利用 Docker 能原封不动的将开发环境中的 代码与环境原封不动无污染的 迁移到线上环境,配合一定的自动化流程即可实现自动的发布。
2. 前端云构建
因为 node_modules 的蛋疼问题,同一个仓库下不同人开发往往会遇到不同的人使用不同的 包版本 且自己根本不知道与别人不一样,最终导致发布之后产生线上问题。利用 Docker 可以在云端新建容器,远程 无污染、低成本 构建代码,实现 不同人用的一定是同一个版本。
3. 复杂环境一键配置
某些场景下可能会配一些超级复杂的环境(比如:大一同学配 Java 环境),这个时候可以利用 Docker 对环境配置做封装,直接生成镜像,让大家低成本使用。
4. 持续集成单元测试
类似于 travis-ci 这种
5. 同应用多版本隔离、文件隔离
比如这个项目依赖 node6,那个项目依赖 node 8(只是举例子,硬盘够大的话还是建议通过 nodeinstall 解决);同一台服务器上跑了 100 个 wordpress 程序(可以用 Docker 建立隔离开,防止互相污染)。
看完了这篇文章,相信你对“从0开始了解Docker入门的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
原文链接:https://juejin.im/post/5ad3172c5188257ddb10109a
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。