没有合适的资源?快使用搜索试试~ 我知道了~
Docker相关命令详解.docx
需积分: 1 0 下载量 102 浏览量
2024-06-19
14:57:29
上传
评论
收藏 4.44MB DOCX 举报
温馨提示
Docker是一个基于Go语言实现的开源应用容器引擎。它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中,并发布到任何流行的Linux或Windows操作系统的机器上。Docker容器是完全使用沙箱机制,相互之间不会有任何接口,确保了应用的安全性和隔离性。适用于开发人员,运维人员,需要在不同环境中运行应用程序的团队。Docker的使用场景和目标主要包括:简化配置,代码流水线管理,提升开发效率,隔离应用,整合服务器,快速部署。
资源推荐
资源详情
资源评论
Docker 简介
现在遇到的问题
每次部署一台服务器,需要安装各种依赖,配置各种环境,十分麻烦
应用程序在我的电脑上运行完全没有问题,你说在你的电脑上不行,环境或配置不同
导致的各种问题
由于开发、测试和生产环境配置不一致,导致在生产环境中出现了在开发环境中未曾
出现的 bug
一台服务器,硬件大部分时间处于闲置状态,资源被浪费
虚拟机技术
使用虚拟机,我们可以使用同一个镜像文件,创建多个虚拟机,多个虚拟机的环境和配
置是一模一样的,这样就不会存在多个虚拟机环境不一样的问题了。
Docker 是怎么解决
Docker 和虚拟机的思路是类似的,Docker 将应用程序及其依赖项打包成镜像,镜像
包含了应用程序所需的所有内容,包括代码、运行时环境、系统工具、库和依赖项。开发者
可以在本地构建镜像,并将其部署到任何地方,无需担心环境差异导致的问题。虚拟机技术
将镜像运行为一个个独立的虚拟机,Docker 引擎将镜像运行成一个个的容器每个容器也是
相互隔离,互不影响,确保了应用程序的安全性和稳定性。总的来说,Docker 通过其容器
化技术,将应用程序和运行它所需要的环境、依赖等打包成镜像,这样就没有环境问题了。
举个例子:
我们可以直接下载 Redis 镜像,一条语句将镜像运行起来,就可以直接使用了,不需
要复杂的安装。我们的项目需要 Redis、MySql、JDK、RabbitMQ,我们可以直接将项目、
Redis、Mysql、JDK、RabbitMQ 所有的这些打包成一个镜像,部署在各个机器上,就不需
要一个个服务器安装环境了。
Docker 与虚拟机技术的不同
虚拟化层次
虚拟机技术: 使用 Hypervisor(如 VMware、VirtualBox 等)在物理服务器上创建多个
完整的虚拟机。每个虚拟机都包含了自己的操作系统、内核和用户空间,相互独立。
Docker: 利用宿主机的操作系统内核,并在其之上运行容器。容器与宿主机共享同一
个操作系统内核,但各自拥有自己的用户空间。这使得容器更为轻量级。
资源利用方式
虚拟机技术: 每个虚拟机需要独立的操作系统,因此较为笨重,占用更多资源。多个
虚拟机在同一物理机上运行时,会占用更多的内存和硬盘空间,随随便便 20、30G 的占用
空间。
Docker: 容器共享宿主机的操作系统,不需要额外的操作系统虚拟化,因此更为轻量
级。它们利用相同的内核和资源,节省了资源,并允许更多容器在同一台机器上运行。
启动时间和性能
虚拟机技术: 虚拟机启动需要较长时间,因为需要启动完整的操作系统。
Docker: 容器启动速度更快,因为它们不需要启动完整的操作系统,只需启动应用及
其依赖项即可。
环境隔离
虚拟机技术: 虚拟机提供了完全隔离的环境,每个虚拟机都是相对独立的。
Docker: 容器也提供了良好的隔离性,但与虚拟机相比,容器之间的隔离度略低。
总体来说,Docker 相对于传统虚拟机技术更为轻量级、启动更快、资源利用更高效,因为
它利用了宿主机的操作系统内核,并通过容器实现了更好的资源共享和隔离。使得应用程序
能够更便捷、高效、一致地部署和运行,解决了环境一致性、快速部署、资源利用率、版本
控制、隔离性等多个方面的问题。
Docker 三要素
镜像
容器
仓库
镜像(image)
镜像是一个静态的、只读的文件,其中包含了应用程序运行所需的所有内容,如代码、
运行时环境、系统工具、库和依赖项。它是一个模板,用来创建容器。使用一个镜像可以创
建多个容器。所以用面向对象的方式来比喻的话,镜像就是类,容器就是使用类创建的一个
一个实例。
容器(container)
容器是镜像的运行时实例,相当于面向对象中的一个个的对象实例。当你运行一个镜像
时,Docker 会创建一个容器。它提供了一个隔离的环境,让应用程序可以在其中运行。
所以容器可以被理解为一个隔离的、独立的运行时环境,其中包含了应用程序及其运行所需
的一切。
仓库(repository)
仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库。Docker 公司提供了公共的
镜像仓库 https://hub.docker.com,里面提供了大量的镜像可以给我们给我们使用,我们也
可以基于别人的镜像来创建我们自己的镜像。但是国内访问 dockerhub 速度比较慢,一般
使用阿里云或网易云。
图解
剩余11页未读,继续阅读
资源评论
一个热爱编程的小爪瓦
- 粉丝: 198
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功