热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker入门与实践

一、初识docker1、什么是dockerdocker是docker.lnc公司开源的基于LXC技术之上构建的container容器引擎,源代码托管在GitHub上&

 一、初识docker

1、什么是docker

        docker是docker.lnc公司开源的基于LXC技术之上构建的container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache 2.0协议开源。诞生于2013年初。

docker是通过内核虚拟化技术(namespaces及cgroup等)来提供容器的资源隔离与安全保障等。由于docker通过操作系统层的虚拟化实现隔离,所以docker容器在运行时,不需要类似虚拟机额外的操作系统开销,提高资源利用率。

 docker容器技术

      docker引擎的基础是Linux容器(Linux container,LXC)技术。容器有效的将由单个操作系统管理的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容器可以在核心CPU本地运行指令,而不需要任何专门的解释机制。

    从Linux容器到docker

     在LXC基础上,docker进一步优化了容器的使用体验。docker提供了各种容器管理工具(如分发、版本,移植等)让用户无需关注底层的操作,可以简单明了的管理和使用容器,可以将容器理解为一种沙盒。每个容器内运行一个应用,不同的容器相互隔离,容器之间也可以简历通信机制。容器本身对资源的需求十分有限,有时候直接把容器当做应用本身没有任何问题。

 1.1、为什么使用docker

docker能够在任何平台高效的构建应用,能够脱离底层机器,具体来说,docker在开发和运维中,有下面几个优势:

  #更快速交付和部署。开发人员可以使用镜像来快速构建一套标准的开发环境,快速的创建,删除容器,实现快速迭代,大量节约开发,测试,部署的时间。

  #更高效的资源利用。docker容器的运行不需要额外的虚拟化管理程序支持,他是内核级别的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。

  #更轻松的扩展和迁移。docker容器几乎可以在任何平台上运行,包括物理机,虚拟机,云平台,个人电脑,服务器等。

  #更简单的更新管理。使用dockerfile,只要小小的配置修改,就可以替代以往的大量的更新工作。并且所有的修改都以增量的方式进行分发和更新,从而实现自动化并且高效的容器管理。

2.docker安装

 2.1、修改镜像源

##下载repo源
wget
-O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
#更改国外镜像源为国内(中科大)
sed
-i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

2.2、安装docker

yum install docker-ce -y

 

转:https://www.cnblogs.com/dadonggg/p/8613863.html



推荐阅读
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
author-avatar
法华大道暴力喵一只
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有