当前位置: 首页 > news >正文

docker部署不影响原来的服务器,docker的使用-docker的好处,为什么使用docker来部署服务器...

Docker的使用

Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。

Docker有两个非常重要的概念:镜像和容器。

镜像是呈载容器的实体,所有容器都是运行在镜像之上。用版本管理的角度来看,镜像就像是某一个节点,它可以派生出不同的分支,你可以在不同分支上做不同的事情。可以想象成一棵树,最基本的镜像是主树干,主树干可以分出旁支树干,而旁支树干可以分出更细的旁支,而树干上可以生长树枝。

比如,你使用Docker,从官方仓库下载一个ubuntu镜像,把它作为最基础的镜像。然后在上面运行一个容器,这个容器里下载Nginx,再以这个容器为基础生成一个新的镜像,以后这个镜像生成的容器就都是ubuntu+nginx为基础。但是你工作环境可能需要你使用Apache来工作,你也想有一个ubuntu+apache为基础的镜像,于是你可以使用最基础的ubuntu镜像运行一个容器,在里面下载安装Apache,然后以这个容器为基础,保存一个ubuntu+apache的镜像,以后在这个镜像基础上运行的所有容器都拥有了一个apache环境。

如何使用docker安装应用程序

Docker提供了一个可以运行你的应用程序的封套(envelope),或者说容器。它原本是dotCloud启动的一个业余项目,并在前些时候开源了。它吸引了大量的关注和讨论,导致dotCloud把它重命名到DockerInc。它最初是用Go语言编写的,它就相当于是加在LXC(LinuXContainers,linux器)上的管道,允许开发者在更高层次的概念上工作。

Docker扩展了Linux器(LinuxContainers),或着说LXC,通过一个高层次的API为进程单独提供了一个轻量级的虚拟环境。Docker利用了LXC,cgroups和Linux自己的内核。和传统的虚拟机不同的是,一个Docker器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的。这里有一个Stackoverflow的答案,里面非常详细清晰地描述了所有Docker不同于纯粹的LXC的功能特性

Docker会像一个可移植的容器引擎那样工作。它把应用程序及所有程序的依赖环境打包到一个虚拟容器中,这个虚拟容器可以运行在任何一种Linux服务器上。这大大地提高了程序运行的灵活性和可移植性,无论需不需要许可、是在公共云还是私密云、是不是裸机环境等等。

Docker由下面这些组成:

1.Docker服务器守护程序(serverdaemon),用于管理所有的容器。

2.Docker命令行客户端,用于控制服务器守护程序。

3.Docker镜像:查找和浏览docker器镜像。

相关文章:

  • 微软TechEd 2008(北美地区)技术大会 Windows Mobile相关课程资料下载
  • 计算机怎么建我的文档,如何修改我的文档路径
  • 优酷为什么封百度?
  • 裸考上海计算机一级,在上海,“裸考”到底有多吃亏?
  • CheckStyle使用java.header文件的问题
  • 云服务器swap虚拟内存如何开启,云服务器swap虚拟内存如何开启
  • 360无线wifi路由器连接到服务器,360PI无线路由器怎么联接无线+有线?
  • Java中的ArrayList的容量
  • iis 服务器修复,老司机应对win7系统搭建IIS服务器的修复方法
  • LWUIT + J4LChart 之 多种Chart
  • 用template 来开发dojo widget
  • Trufun Kant Studio 2008面向VS.NET的开发应用
  • 01课程概要,什么是操作系统
  • Java vs. .NET:就业市场和薪资比较
  • 02操作系统的历史、操作系统结构
  • 【前端学习】-粗谈选择器
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CSS实用技巧干货
  • Javascript编码规范
  • JS笔记四:作用域、变量(函数)提升
  • js数组之filter
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Magento 1.x 中文订单打印乱码
  • Median of Two Sorted Arrays
  • PHP 小技巧
  • React as a UI Runtime(五、列表)
  • sublime配置文件
  • 大主子表关联的性能优化方法
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 机器学习中为什么要做归一化normalization
  • 计算机在识别图像时“看到”了什么?
  • 今年的LC3大会没了?
  • 类orAPI - 收藏集 - 掘金
  • 扑朔迷离的属性和特性【彻底弄清】
  • 如何设计一个微型分布式架构?
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 主流的CSS水平和垂直居中技术大全
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​linux启动进程的方式
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (+4)2.2UML建模图
  • (10)ATF MMU转换表
  • (C语言)球球大作战
  • (二)PySpark3:SparkSQL编程
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (论文阅读30/100)Convolutional Pose Machines
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ***详解账号泄露:全球约1亿用户已泄露
  • .gitignore文件---让git自动忽略指定文件
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .net分布式压力测试工具(Beetle.DT)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)