Docker简介与安装

本文详细介绍了Docker的概念、容器与虚拟机的区别、Docker的重要技术,以及Docker的安装和常用命令。通过实例演示了镜像的创建、下载、上传、删除、导出和导入等操作,帮助读者快速掌握Docker的使用。
摘要由CSDN通过智能技术生成

Docker简介
Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序从基础设施中分离出来,从而可以快速交付软件。使用Docker,您可以像管理应用程序一样管理基础设施。通过利用Docker的方法来快速发布、测试和部署代码,可以显著减少编写代码和在生产环境中运行代码之间的延迟。


Docker的官网图标是一个抽象化的鲸鱼驮着一堆的集装箱。在容器中运行的应用就像集装箱一样,不需要关注底层运行的环境,总能够通过任意平台达成应用运行的目的。虽然Docker不是唯一的容器引擎,但在目前任然是最流行的,且市场占有率最大容器引擎。但随着K8s的最近一次更新,不在原生支持Docker,其霸主地位是否会被撼动,任不得知。

2. 容器与虚拟机
如简介所说的,Docker只是众多容器引擎中的一款,却不是唯一,所以不要认为Docker就是容器。Docker作为容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。而应用则可以在容器中运行。可以将容器认为是一个轻量级的虚拟机,而容器引擎是创建容器的应用。其他常见容器引擎有:Rocket、podman、container。

容器优点
容器化越来越受欢迎,因为容器具有以下特点:

灵活:即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核。
可互换:可以即时部署更新和升级。
便携式:可以在本地构建,部署到云,并在任何地方运行。
可扩展:可以增加并自动分发容器副本。
可堆叠:可以垂直和即时堆叠服务。
 

容器与虚拟机的区别

                                                    容器                                    虚拟机

启动速度                                      秒级                                    分钟级

计算损耗                                      几乎没有                             损耗30%-50%

性能                                             接近原生                              弱于

系统支撑量                                  上千                                      几十个

隔离性                                          资源隔离                              完全隔离

容器实现的3种重要技术

docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

其中namespace实现完成了容器化所需要的六项隔离:

Dcoker的核心概念 

镜像
Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向Docker容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。Docker镜像也是一 个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建。
所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。
 

容器


容器是镜像的可运行实例。您可以使用Docker API或CLI创建、启动、停止、移动或删除容器。您可以将一个容器连接到一个或多个网络,将存储附加到它,甚至根据它的当前状态创建一个新的镜像。
可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

仓库
存放镜像的地方

Docker的安装

systemctl stop firewalld.service
setenforce 0

#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 
device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce

systemctl start docker.service
systemctl enable docker.service 

#查看 docker 版本信息
docker version

 

 

Docker 常见命令

镜像相关

搜索镜像(search)

[root@local ~]# docker search nginx #默认显示前25个镜像
[root@local ~]# docker search  --limit 5 nginx #显示前5个镜像


NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                              Official build of Nginx.                        16985     [OK]       
bitnami/nginx                      Bitnami nginx Docker Image          131        [OK]
ubuntu/nginx                       Nginx, a high-performance reverse proxy &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值