前言:当我们学习一门技术,最快的学习方法是看官方文档。
个人理解docker中的镜像就像是咱们java 中的Class而容器是基于这个镜像构建出的实例。我是一个初学者,理解有误还请见谅,并麻烦您说说您的看法让彼此相互学习…
按我理解好比
docker 镜像:java中 class
docker容器 :java中 class new出来的对象
我们通过以下内容大致了解Docker:
1、了解Docker
例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等
这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突,容易出现兼容性问题。公司开发、测试、生产环境有差异,给部署带来了极大的困难。而Docker刚好解决这些问题。
1.1 什么是Docker?
Docker 是一个开源的应用容器引擎。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
1.2 Docker的优点
- 更快速的启动时间
- 快速,一致地交付您的应用程序
- 响应式部署和扩展
- 在同一硬件上运行更多工作负载
1.3 Docker的应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
总结
这里用公司数据中心和Docker比较,让我们快速理解Docker
数据中心DockerN台服务器N个容器不同类型的操作系统直接复用本地主机的操作系统依赖关系复杂,开发、测试、生产环境有差异,容易出现兼容性问题可以在不同的环境中运行启动应用时间长可以做到秒级,甚至毫秒级的启动时间价格昂贵,在同一硬件上不能运行更多工作负载,资源过剩在同一硬件上运行更多工作负载,提供了可行、经济、高效的替代方案
2、Docker 架构
Docker 包括3个基本概念:
- 镜像(Image):
Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
- 容器(Container):
容器是独立运行的一个或一组应用,是镜像运行时的实体。
- 仓库(Repository):
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。
通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。
另外也包括Docker 主机(Host)和Docker Machine
- Docker 主机(Host)
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
- Docker Machine
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、Digital Ocean、Microsoft Azure。
3、Docker 坏境搭建
3.1 准备工作(已有 Linux 环境可省略)
在这里我们用 VM 虚拟机 + CentOS 的环境进行 Docker 部署
首先准备一台 CentOS 系统的虚拟机,可以看到主机的 IP 地址为 192.168.79.139;
为了更加直观,我将使用 Xhell 6 连接虚拟机进行操作演示:
3.2 安装Docker
Docker 支持以下的 64 位 CentOS 版本:
- CentOS 7
- CentOS 8
- 更高的版本
第一步:卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -y
第二步:yum 包更新到最新
yum update -y
第三步:安装所需的软件包
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
yum install -y yum-utils device-mapper-persistent-data lvm2
第四步:设置 yum 源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第五步:安装 Docker
yum install docker-ce -y
第六步:检查 Docker 版本
docker -v
使用 docker -v 命令可以查看到版本号即说明安装成功。
至此,Docker坏境搭建完成,下一篇就给大家介绍一下Docker常用的命令,喜欢的话请三连,后续更新更多优秀文章不迷路。
版权归原作者 _Bricks 所有, 如有侵权,请联系我们删除。