Docker主要有三大核心的概念,分别为镜像(Image)、容器(Container)及仓库(Repository)。

一、核心概念

1、Docker镜像

​ Docker镜像其实与虚拟机镜像很类似,我们可以将其理解为面向一个Docker引擎的只读模板,其中包含了文件系统。镜像是创建Docker容器的基础,通过版本管理和增量的文件系统,Docker提供一个简单的机制来创建和更新现有的镜像,当然我们也可以直接下载一个现成的应用镜像来直接使用。

2、Docker容器

​ Docker类似一个轻量级的沙箱,Docker利用容器来运行和隔离不同的应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,容器之间是相互隔离、互不可见的。镜像本身是只读的,容器从镜像启动时,Docker会在镜像的上层创建一个可写层,此时镜像本身依然时保持只读不变的。

3、Docker仓库

​ Docker仓库与代码仓库类似,是Docker镜像集中存放的场所。同时Docker仓库可以分为公开仓库和私有仓库。当前最大的国际公开仓库是Docker Hub,国内也自建了一些比较稳定的仓库。若我们不希望公开自己的镜像,则可以在本地网络创建只可自己访问的私有仓库。

​ 我们创建了自己的镜像之后,就可以使用 push 命令将其上传到仓库中,供下次我们使用,使用 pull 命令将其从仓库拉取出来。

二、安装Docker

1、Ubuntu

1.1、Ubuntu14.04及以上版本

​ 在此版本中,官方已经原生地自带了Docker包,我们可以直接安装。

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io # 以上步骤即使用系统自带的包来安装Docker,当然也可以使用以下命令来安装最新版本 $ sudo apt-get install apt-transport-https
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36ED7....
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install -y lxc-docker # 安装后,若以后需要更新,则只要执行以下命令
$ sudo apt-get update -y lxc-docker

1.2、Ubuntu14.04以下版本

​ 在低版本中,我首先需要将内核进行更新才可正常安装。

$ sudo apt-get update
$ sudo apt-get install -y linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot # 更新完内核之后,按照14.04版本来安装Docker

2、CentOS

2.1、 CentOS6

$ sudo yum install -y http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo yum install -y docker.io

2.2、CentOS7

$ sudo yum install -y docker

3、Windows

​ 下载exe可执行文件,直接安装,关键是有公司服务器是window吗?有,那你们公司厉害了,我服。

4、MacOS

​ 好像也没有听说服务器安装这个操作系统,自己研究去吧。

三、学习Docker环境

​ 自己在VMware虚拟机上安装的是 CentOS7.x 版本。本机电脑为Win10,宿主机和虚拟之间使用NAT网络方式来连接。

二、【Docker笔记】Docker的核心概念及安装的更多相关文章

  1. Docker系列(一)Docker概述,核心概念讲解,安装部署

    部分内容参考链接: Docker实战总结(非常全面,建议收藏) 一. Docker概述 Docker是一个开源的应用容器引擎(基于Go语言开发),让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...

  2. docker的核心概念和安装

    里Dcoker的安装要求 我这里安装的是在vmware下的centos7 64位 并且通过模拟远程连接xshell 我在安装好之后就配置了静态ip,这里我就不多说怎么配置了 具体静态ip配置可以参考 ...

  3. Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

    Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  4. docker笔记--docker 各系统安装

    在线安装 Docker 在 CentOS/RHEL 中安装 Docker 在终端中运行下面的命令安装 Docker. sudo yum install -y yum-utils sudo yum-co ...

  5. K8S学习笔记之Kubernetes核心概念

    0x00  Kubernetes简介 Kubernetes(K8S)是Google开源的容器集群管理系统,其设计源于Google在容器编排方面积累的丰富经验,并结合社区创新的最佳实践. K8S在Doc ...

  6. Docker笔记——Docker安装及制作镜像

    1 Docker安装本文中Docker运行环境为Ubuntu 14.04.1 LTS 3.13.0-32-generic x64参考:https://docs.docker.com/v1.11/eng ...

  7. Maven入门(二)pom.xml和核心概念

    一.pom.xml文件说明 1.pom意思就是project object model. 2.pom.xml包含了项目构建的信息,包括项目的信息.项目的依赖等. 3.pom.xml文件是可以继承的,大 ...

  8. Docker笔记4:在 CentOS 上安装 Docker

    Docker 是一个开源的应用容器引擎,主要有两个分支,一个是社区免费版(Docker CE),一个是企业版(Docker EE). 第1步:系统环境要求 Docker 支持的 CentOS 版本: ...

  9. OCP读书笔记(1) - Oracle核心概念和工具

    ohasdoracle high available service daemon OEMweb -- Database Control资料库 -- sysman Starting Oracle Re ...

随机推荐

  1. Java和C++引用的区别

    Java的引用实际上是对指针的一个封装. C++的引用是变量的一个别名. Java的定义出来的变量(除了基本类型)其实就是一个引用,指向真正的对象. C++可以通过将引用传入函数,在函数内修改所引用的 ...

  2. 前端ps中常用的操作

    昨天,ui给了个psd图,让写成网页.额,要自己切图.很久之前,操作的还凑乎.但是,好久了,都忘了.所以,打算自己记个笔记,方便以后查看. 首先,打开ps就先来设置一下ps的单位啦点击最上面的一行的编 ...

  3. Head First设计模式——复合模式

    复合模式是HeadFirst上面详细讲的最后一个模式,其前面的模式作者认为都是成熟的经常使用的模式.所以这是详细讲解模式的最后一篇,同时这个模式讲解的篇幅也是最长的,接下来我就对其进行总结提炼进行讲解 ...

  4. 用反射机制和pandas,实现excel数据的读取以及参数化${arg}的赋值

    反射类:class GetData: index = pd.read_excel(file_name, sheet_name).loc[0, ['index']].values[0] email = ...

  5. Redux 架构理解

    Redux 是一种前端“架构模式”,是 Flux 架构的一种变种,用来提供可预测的状态管理.虽然经常和 React 一起被提及,但是 Redux 却不仅仅只能用于 React,还可以将其运用到其他前端 ...

  6. 鸟哥的Linux私房菜基础学习篇(第三版)——阅读笔记(二)

    第一章 Linux是什么 1.Linux是什么 一套操作系统 早期的Linux是针对386开发的 具有可移植性 2.Unix及Linux的发展史 1973年,Unix诞生,Ritchie等人以C语言写 ...

  7. npm install --save,npm install --save-dev,npm install

    react npm install --save 与 npm install --save-dev 的区别以npm安装msbuild为例: nam install msbuild: 会把msbuild ...

  8. 详解如何快速使用数据可视化BI软件创建医疗运营监控数据中心大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以医疗运营监控数据中心大屏 ...

  9. 文件上传transferTo一行代码的bug

    本次的项目环境为 Running with Spring Boot v1.5.10.RELEASE, Spring v4.3.14.RELEASE, 服务器环境为CentOS7.0. transfer ...

  10. Python3学习之路~10.2 协程、Greenlet、Gevent

    一 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切 ...