Docker介绍:

 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
  Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。

Docker三大组件:

镜像(Image)
容器(Container)
仓库(Repository)

 
镜像介绍:类似于虚拟机,作用和虚拟机是一样的,唯独是组成部分会有些区别。简单的说如果我们想启动一个容器就必须要有镜像

容器介绍: docker是通过容器来运行业务的,就像运行一个kvm虚拟机是一样的。容器其实就是从镜像创建的一个实例。
  我们可以对容器进行增删改查,容器之间也是相互隔离的。和虚拟机最大的区别就是一个是虚拟的一个是隔离的。
缺点:不会像虚拟机那样隔离的那么彻底,我们可以将容器理解为简化版的linux,有进程运行在里面。

仓库介绍: 根据docker的三大理念构建 运输 运行,我们就需要一个仓库来存放镜像
简单的说:我们将镜像创建完成就需要存放到仓库里面,进行集中式的管理。仓库这点类似于github,docker也有一个dockerhub,他也是一个公共对外的仓库。

虚拟机和docker的区别

简单解释,VMware运行在操作系统上,而docker是直接运行在应用上。

Docker应用场景

1. 简化配置

2. 代码流水线(Code Pipeline)管理

3. 提高开发效率

4. 隔离应用

5. 整合服务器

6. 调试能力

7. 多租户环境

8. 快速部署

Docker对各职能部门的好处

面向产品:产品交付
面向开发:简化环境配置
面向测试:多版本测试
面向运维:环境一致
面向架构:自动化扩容(微服务)

Docker应用场景

1、应用打包与部署自动化

构建标准化的运行环境:

现在大多方案是在物理机和虚拟机上部署运行环境,面临问题是环境杂乱、完整性迁移难度高等问题,容器即开即用。

2、自动化测试和持续集成/部署

自动化构建镜像和良好的REST/API,能够很好的集成到持续集成/部署环境来。

3、部署与弹性扩展

由于容器是应用级的,资源占用小,弹性扩展部署速度要更快。

4、微服务

Docker这种容器化隔离技术,正式应对了微服务理念,将业务模块放到容器中运行,容器的可复用性大大增加了业务模块扩展性。

下面安装Docker:

环境:

[root@controller ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@controller ~]# uname -a
Linux controller 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Docker支持CentOS 6 以上的版本。

对于CentOS 6 系统需要安装EPEL库,命令如下:

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
yum install -y doker-io

对于CentOS 7 系统已经内置Docker,可用yum直接安装。命令如下:

# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2 unzip
# Step 2: 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
service docker start
systemctl enable docker
[root@controller ~]# docker --version
Docker version 1.12.6, build 85d7426/1.12.6

配置镜像源及限制日志大小

[root@cn-hongkong ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": [ "https://registry.docker-cn.com"],
"insecure-registries":["172.31.182.143"],
"log-driver":"json-file",
"log-opts":{ "max-size" :"10m",
"max-file":"2"
}
}

Docker学习之1—基础及安装的更多相关文章

  1. ELK-6.5.3学习笔记–elk基础环境安装

    本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...

  2. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  3. docker学习笔记一:基本安装和设置容器静态ip

    docker是一个lxc升级版的容器类虚拟环境,具有快速部署,灵活,易迁移的虚拟机模式,现在各大公司已经开始广泛使用为了自己方便学习linux,需要多台虚拟机环境,但是vmware开启多台虚拟机时需要 ...

  4. docker学习笔记--重基础使用

    最近一直在研究Elasticsearch,后来部门的同事遇到了一个docker集群的未授权访问漏洞,于是稍微看了一下docker进行了一下基本的入门,本文把自己学习docker的过程进行了一个详细的记 ...

  5. Docker学习笔记【三】安装Redis

    项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...

  6. Docker学习笔记:基础

    docker的概念 :docker是一个可供开发者在容器中 开发 部署 运行 应用的一个平台.通过使用Linux容器去部署应用的方式称为容器化. 基础概念 Images and Container i ...

  7. Docker学习笔记一 概念、安装、镜像加速

    本文地址:https://www.cnblogs.com/veinyin/p/10406378.html  Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...

  8. Docker学习3-简单shell脚本安装mysql5.7与docker小技巧

    前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...

  9. docker学习之路-centos下安装docker

    前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这 ...

随机推荐

  1. Sql Server免域,异地备份

    --先决条件 开启xp_cmdshellEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_c ...

  2. jhipster安装_Windows

    1:安装 Node.js lts版本的 https://nodejs.org/en/ 2:安装Yarn https://yarn.bootcss.com/docs/install.html 3:修改y ...

  3. spo0lsv病毒分析

    1.样本概况 1.1 样本信息 病毒名称:spo0lsv.exe 所属家族:Worm MD5值:512301C535C88255C9A252FDF70B7A03 SHA1值:CA3A1070CFF31 ...

  4. python for data analysis 2nd 读书笔记(一)

    第一章相对简单,也么有什么需要记录的内容,主要用到的工具的简介及环境配置,粗略的过一下就行了.下面我们开始第二章的学习 CHAPTER 22.2Python Language Basics, IPyt ...

  5. Vue.js环境配置

    一.安装node.js 自行下载安装 https://nodejs.org/en/ 二.查看版本,更新版本 查看node版本 node --version 查看npm版本 npm --version ...

  6. Shell输入和输出功能-3

  7. Python序列结构--元组

    元组:轻量级列表 元组创建于元素访问 >>> x = (1, 2, 3)>>> type(x)<class 'tuple'>>>> x ...

  8. 学习笔记----html的lang属性

    lang属性的取值应该遵循 BCP 47 - Tags for Identifying Languages. 单一的 zh 和 zh-CN 均属于废弃用法. 问题主要在于,zh 现在不是语言code了 ...

  9. day_9内存管理

    复习 '''文件处理​1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读写 ...

  10. Go语言map

    map 是一种特殊的数据结构:一种元素对(pair)的无序集合,pair 的一个元素是 key,对应的另一个元素是 value,所以这个结构也称为关联数组或字典.这是一种快速寻找值的理想结构:给定 k ...