什么是docker?
docker是基于Go语言编写的开源容器引擎,是操作系统级别的轻量级虚拟技术。主要用于应用打包、分发、部署。
打包:软件开发过程中,打包是将程序打包成软件包或者镜像的过程;在容器化程序中,打包是将应用程序依赖项、应用程序打包成镜像的过程。
分发:将打包完成的镜像上传至对应的仓库,已授权的其他用户可以获取该镜像。
部署:创建并运行容器的过程
docker的特性:
容器:是一种轻量级、独立运行的软件包,包含了应用程序及其运行依赖包(第三方库、运行环境配置、配置文件等);容器是镜像的一个运行实例。一个镜像可以被很多容器使用(这里可以把镜像想成一个类,容器就是该类的实例对象,在编程过程中,类只需要声明一次,但是可以new 出无数个对象)。
镜像:镜像是一个只读文件系统,镜像包含了应用程序运行所需的所有文件、依赖和配置。
仓库:集中存储和共享镜像的平台,跟git的仓库是一个意思。
跨平台:docker支持跨多个操作系统和平台的应用程序部署,无论是Linux、Windows、macos,均可使用相同的镜像和容器运行对应的程序
快速部署和拓展:docker可以将应用程序的依赖和程序本身与镜像一起打包,镜像又是在容器中运行,docker只需要一行命令就可以将容器启动,对应的程序便可以在容器中运行
简化配置和维护:docker容器间相互独立,每个容器的环境也是独立的,能够减少因为配置或者环境冲突的异常出现率,如遇异常也只需要对对应的容器环境进行维护即可。
docker与虚拟机的区别?
架构和隔离级别:
虚拟机:虚拟机需要在物理机上运行一个完整的操作系统,然后在该操作系统中去运行对应的程序。每个虚拟机都有自己的内核、操作系统资源;彼此间相互隔离,不受影响。
docker容器:共用宿主机的内核、操作系统资源。是在独立的空间(容器)中去运行相应的程序,容器间相互隔离,不受影响。
资源利用和运行效率:
虚拟机:每个虚拟机都需要自己的内核、操作系统,因此会占用较多的内存和存储空间,并且虚拟机运行时,是运行一个完整的系统,因此会在性能和运行效率存在一定的开销。
docker:容器共享宿主机的内核、操作系统;不需要额外的操作系统和资源。容器应用也能快速的启动,运行效率更快。
可移植性和部署:
虚拟机:可以在不同的物理机服务器和虚拟化平台运行,但是需要在这些平台安装和配置相应的虚拟机管理工具和环境,在配置过程中,可能需要解决环境冲突导致的问题。
docker:容器可以在docker支持的任何环境中运行,不需要单独配置或者安装相应的工具。
docker为什么运行比虚拟机快?
1.docker在启动时,只需要启动容器内部的进程,虚拟机在启动时,需要启动完整的操作系统,然后在去运行对应的程序。
2.docker的磁盘占用和内存占用比虚拟机低。
3.docker容器间公用物理机的内核、操作系统,虚拟机之间的内核、操作系统完全独立;很占用宿主机的资源。文章来源:https://www.toymoban.com/news/detail-635834.html
如何安装docker?
以centos系统为例子:
1.更新软件包列表: sudo yum update
2.安装必要依赖项:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加Docker稳定版存储库:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装Docker引擎:sudo yum install docker-ce docker-ce-cli containerd.io
5.启动Docker服务:sudo systemctl start docker
6.验证安装:sudo docker run hello-world文章来源地址https://www.toymoban.com/news/detail-635834.html
--------------------学海无涯
到了这里,关于docker简介和安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!