Docker学习之1—基础及安装
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—基础及安装的更多相关文章
- ELK-6.5.3学习笔记–elk基础环境安装
本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
- docker学习笔记一:基本安装和设置容器静态ip
docker是一个lxc升级版的容器类虚拟环境,具有快速部署,灵活,易迁移的虚拟机模式,现在各大公司已经开始广泛使用为了自己方便学习linux,需要多台虚拟机环境,但是vmware开启多台虚拟机时需要 ...
- docker学习笔记--重基础使用
最近一直在研究Elasticsearch,后来部门的同事遇到了一个docker集群的未授权访问漏洞,于是稍微看了一下docker进行了一下基本的入门,本文把自己学习docker的过程进行了一个详细的记 ...
- Docker学习笔记【三】安装Redis
项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...
- Docker学习笔记:基础
docker的概念 :docker是一个可供开发者在容器中 开发 部署 运行 应用的一个平台.通过使用Linux容器去部署应用的方式称为容器化. 基础概念 Images and Container i ...
- Docker学习笔记一 概念、安装、镜像加速
本文地址:https://www.cnblogs.com/veinyin/p/10406378.html Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...
- Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...
- docker学习之路-centos下安装docker
前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这 ...
随机推荐
- pip使用国内镜像安装各种库
1. 指定阿里云镜像, 安装requirements.txt中的所有 pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-h ...
- 利用java的url实现小型的网页爬虫
暂时还没学处理数据的方法,扒下来的数据还包含html的标签. 后面再学. package com.imooc; import java.io.BufferedReader; import java.i ...
- java多线程中注入Spring对象问题
web应用中java多线程并发处理业务时,容易抛出NullPointerException. 原因: 线程中的Spring Bean没有被注入.web容器在启动时,没有提前将线程中的bean注入,在线 ...
- 手机号读取城市数据库2018年3月excel版
EXCEL表中是更新到2018年3月份的手机归属地数据库. 手机号读取城市数据库2018年3月excel版.zip
- 在JAVA中对于类,对象,继承,多态的看法
这是我第一次学高级语言.很抱歉选择了JAVA,目标是开发一款可以上线的APP. 类:是建立对象的一个模板,就是系列产品中的基础款图纸.只是图纸而已.不是产品. 对象:是一个可以操作的对象.新建一个对象 ...
- Latex引用\ref
在等式/图/定理等后面加\label{name} 正文引用方法:等式使用 \eqref{name},非等式引用可使用\ref{name}.
- Python中使用cx_Oracle调用Oracle存储过程
import cx_Oracle as cx import datetime def execute_sql(): # 声明变量 date_time = datetime.datetime.now() ...
- Exp 8 Web基础
Exp 8 Web基础 20154305 齐帅 一.实践要求: (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. ...
- Linux关于文件,文件夹操作命令
文件 文件夹 相关操作命令 查看文件 cd 切换目录位置 ls 目录 查看指定目录所有文件 --缺省当前目录 ls -l 目录 查看指定目录所有文件的详细信息 --同 ll 命令 ls -a ...
- RAC环境中threads变更后如何确保goldengate继续正常复制
转载:http://www.easyora.net/blog/goldengate_rac_threads_remap.html 当rac节点变更的时候,比如我们添加或者删除了集群中的节点,理所当然会 ...