本文来源 | 互联网侦察
作者 | channingbreeze,北航硕士毕业,阿里五年技术老鸟,全栈工程师,前慕课网讲师,phaser小站创始人。
小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。
话说小史已经接受了A厂的offer,这不,已经在公司附近租好了房子,准备搬家过去住了。家里的东西真是多呀,小史的很多家具都是组装起来的,现在都已经拆散放到吕老师的车上了。
就这样,吕老师开车带着小史一起去了公司附近的新住址。开了一个多小时,终于到了新住址。一进房间,小史就忙着把心爱的电脑桌拼起来。但是电脑桌拆起来快,装起来可不好装,几十个组件,一百多个螺丝钉,小史装了一下午,最后还发现少了几个螺丝钉。
01晚饭
晚上,小史和吕老师一起吃饭。
吕老师前传
吕老师以前还是程序员的时候,在B厂上班,有一次一个新项目要发布上线。结果测试环境跑得好好的,生产环境死活跑不起来。
docker有啥好
小史:docker我用过,不过当时是因为视频教程里用的docker部署的环境,所以我也就跟着做了,其实反而觉得更麻烦了,它到底哪里好呢?
吕老师:这方面docker做了很多事情,比如提供了基础镜像的方式,docker官方的镜像仓库里有很多镜像,可以直接拉下来用,然后新的镜像可以以它们为基础,在上面commit新的东西。
吕老师:同时,docker使用了镜像分层的技术,新的commit会产生新的层,可以复用一部分老的层。这样一来制作新镜像的速度还是挺快的。
小史:我明白你的意思,这样确实制作镜像的时候可以加快速度,但是假如我要把整个环境放到另外一个机器部署,还是要拷贝整个大的镜像过去吧?
dockerfile
吕老师:你说的对,电脑桌不拆,直接放我车上放不下,那么能不能这样,我们拆的时候,就把哪个螺丝在哪里这些细节记录好,到时候装的时候只要按照记录顺序安装就好。
吕老师:你看,就这个简单的文件。第一行它告诉你这个镜像基于ubuntu基础镜像,第二行告诉你这个镜像的维护者的信息,第三行的RUN就是要执行的shell命令,比如这里,是在ubuntu的基础镜像上安装一些额外的东西,第4行是镜像启动之后执行的初始命令。
docker最佳实践
吕老师:其实在网络好的情况下,下载一个镜像一般来说比重新打一个镜像更快,所以最终部署都是基于镜像去部署,不会重新打镜像了。
docker关键概念
吕老师:你说的没错,其实镜像有点像代码,容器有点像进程。代码是存放在硬盘上的东西,而把代码运行起来,就会形成一个进程,进程才是跑起来的程序。
小史:对,你这个比喻真是贴切,镜像和容器也是一样,镜像是存在硬盘上的东西,镜像运行起来,就形成一个容器,容器才是真正跑起来的程序。只不过在docker中,我们可以进入容器,做一些操作,然后再把容器中的改动提交形成一个新的镜像。
小史:如果说镜像是代码的话,镜像仓库就有点像github了,我们写好的代码会提交到github上面进行保存和管理,方便在其他地方也能下载代码。镜像仓库也是类似的,制作好的镜像,就把它放到镜像仓库,方便其他人直接用镜像部署。
02笔记
聊天结束后,小史悄悄在手机中记录下了这次的笔记。
一、容器技术docker的思考方式是,将环境一起打包镜像,避免部署时的环境问题。
二、dockerfile记录镜像的制作步骤
三、镜像、容器、仓库的概念可以类比代码、进程、github
03饭后
吃完晚饭,小史和吕老师走在大街上,望着天上的星空。
相关推荐
docker内部培训的PPT,简介了docker容器技术的强大。为什么要使用docker容器技术。
在本节总结中,我们将详细介绍 Docker 容器技术的基本概念、优点、架构、Namespace 和 Cgroup 等关键技术点,并总结 Docker 容器技术在实际应用中的价值。 容器技术解决了环境依赖问题,实现了跨平台分发使用。...
容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat] 容器rootfs命令 — docker [commit|cp|...
5. Docker 容器技术的应用场景:快速部署应用程序、微服务架构、 DevOps 等。 详细解释: 虚拟化技术可以分为两类:系统虚拟化和进程虚拟化。系统虚拟化是指虚拟化整个系统,包括操作系统、应用程序和数据,而进程...
移动到/usr/local/bin/目录,并赋予执行权限chmod +x /usr/local/bin/docker-compose 操作指令: |docker-compose up|启动所有容器| |docker-compose up -d|后台启动并运行所有容器| |docker-compose up --no-recreate...
Proxmox LXC 容器安装docker 在 Proxmox 环境中,LXC 容器可以用来安装 Docker,并使用 Rancher 来组建 K8s 集群。在这个过程中,我们需要注意一些限制条件,例如只能在 Ubuntu 容器中安装 Docker,CentOS 容器测试...
本文将详细介绍如何使用 Docker Compose 来管理多容器应用。 Docker Compose 提供了一种简单而强大的方法来管理多容器 Docker 应用。通过本文的介绍,你应该对 Docker Compose 的使用有了深入的了解。掌握 Docker ...
"Docker容器技术在网络安全实验室的应用研究" 本文研究了Docker容器技术在网络安全实验室中的应用,旨在解决当前网络安全实验室设备和授权数量有限的问题,无法满足教学需求。通过使用Docker容器技术,建立了一个...
容器技术-Docker和K8S技术培训
从实践者的角度出发,以Docker和Kubernetes为重点,沿着“基本用法介绍”到“核心原理解读”到“高级实践技巧”的思路,一本书讲透当前主流的容器和容器云技术,有助于读者在实际场景中利用Docker容器和容器云解决...
容器技术之Docker介绍 容器技术是近年来备受关注的技术之一,它可以提供轻量级的虚拟化解决方案,提高应用程序的部署和管理效率。Docker是容器技术的代表产品之一,本文将对容器技术和Docker进行 소개。 容器技术...
9 Docker容器技术
本文介绍了Docker如何进入启动容器,分享给大家,具体如下: 在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。 这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的...
Docker 容器平台介绍及应用场景 Docker 容器平台是当前最流行的容器化技术之一,它提供了一个轻量级、可移植、灵活的解决方案,能够满足现代软件开发和部署的需求。下面是 Docker 容器平台的详细介绍和应用场景: ...
从 Docker 到 CaaS(五)灵雀云部署 Docker 容器 从 Docker 到 CaaS(四)Mesos 部署 Docker 容器 从Docker到CaaS(一)Docker集群管理介绍 从Docker到CaaS(三)Kubernetes 从Docker到CaaS(二)Docker 容器管理...
Docker容器技术是一种轻量级的虚拟化技术,它不是通过模拟硬件来隔离操作系统,而是利用Linux内核的资源隔离特性,如命名空间(Namespaces)和控制组(Cgroups),来实现应用级别的隔离。Docker容器具有启动快速、...
本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决...
Docker 容器技术的应用场景: 1. Web 应用的自动化打包和发布:Docker 容器可以将 Web 应用程序及其依赖包打包到一个镜像中,然后发布到生产环境中。 2. 自动化测试和持续集成、发布:Docker 容器可以将测试和集成...
使用Docker容器技术,可以在生活中体验到很多的便捷和高效,例如在双十一购物节、12306春运购票等场景中,可以快速部署应用程序,占用资源少,响应时间快,使得应用程序的部署和管理变得更加高效。 小结 ---- ...
Docker 容器技术是一种轻量级的操作系统虚拟化技术,能够在隔离的环境中运行多个应用程序。下面是 Docker 容器技术的详细知识点: 安装 Docker 在安装 Docker 之前,需要先安装操作系统。使用 Yum 进行安装:`yum ...