本文作为Docker基础系列第一篇文章,将详细阐述和分析三个问题:Docker是什么?为什么要用Docker?如何快速掌握Docker技术? 本系列文章中Docker的用法演示是基于CentOS7进行,因此假设读者已经掌握了初步的Linux知识,如果你对Linux最基本的常用命令及操作还不太熟悉,请参考我之前写的Linux入门系列教程. 一.Docker是什么 用简单的一句话来概况:Docker就是一种容器虚拟化技术. 要了解Docker为什么会出现,它解决了什么样的问题,那就要回顾下虚拟化技术…
Docker+K8s基础篇(一) docker的介绍 A:为什么是docker B:k8s介绍 docker的使用 A:docker的安装 B:docker的常用命令 C:docker容器的启动和操作 docker镜像的基础管理 A:docker镜像的基础概念 B:docker镜像的生成途径 C:镜像的导入和导出 容器的虚拟化网络 A:容器虚拟化网络基础 B:docker的网络形式 C:docker网络的相关操作 docker的存储卷 A:docker的存储卷介绍 B:docker的网络形式 C…
Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 虚拟化技术 硬件级虚拟化(hardware-level-virtualization) 基于Hyper-V运行在硬件之上的虚拟化技术,模拟的是一个完整的操作系统. VMWare, Xen, VirtualBox,亚马逊AWS和阿里云都是用的这种技术. 操作系统级虚拟化(os-level-virtualization) 运行在操作系统之上的,模拟的是运行在操作系统上的多个不同进程,…
本文来自网易云社区. 虚拟化 是一种资源管理技术,将计算机的各种资源予以抽象.转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本更好的方式来应用这些资源. Hypervisor 一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件. Hypervisor可以捕获CPU的指令,为指令访问硬件控制器和外设充当中介. 两种模型 本地虚拟化hypervisor直接运行在硬件之上,在hypervisor上面是虚拟机 特点 需要硬件支持 虚拟机监视器作为主操作…
欢迎访问网易云社区,了解更多网易技术产品运营经验. Docker原理分析 Docker架构 镜像原理 镜像是一个只读的容器模板,含有启动docker容器所需的文件系统结构及内容Docker以镜像和在镜像基础上构建的容器为基础,以容器开发.测试.发布的单元将应用相关的所有组件和环境进行封装,避免了应用在不同平台间迁移所带来的依赖问题,确保了应用在生产环境的各阶段达到高度一致的实际效果. 主要特点 分层     镜像采用分层构建,每个镜像由一系列的镜像层组成, 当需要修改容器内的某个文件时,只对处于…
基本概念定义 基本组成 客户端/守护进程 C/S架构 本地/服务器 镜像 容器基石 只读文件系统 联合加载(union mount) 容器 通过镜像启动 执行 写时复制 仓库 公有 docker hub 私有 相关技术简介 依赖的Linux内核特性 Namespace 命名空间 LXC Kernel Namespace 封装 -> 代码隔离->资源隔离 PID 进程隔离 独立进程表 NET 管理网络接口 network info IPC 进程通信 额外信息标记 MNT 挂载点 UTS 隔离内核…
Docker是一个开源的应用容器引擎,基于Go语言,并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. Docker容器是完全使用沙箱机制,相互之间不会有任何接口,相比于虚拟机,容器启动速度快,性能开销极低. Docker架构 首先介绍下Docker的架构,可以由下图表示,主要由Clients.Hosts.Registries组成,下面提到了几个专有名词,我来一个个单独介绍:…
目录 1.1.Docker架构简介 1.2.Docker 两个主要部件 1.3.虚拟机和Docker对比: 1.4.Docker内部结构 Docker系列之原理简单介绍 @ Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像:运行中的这个镜像称为容器,容器启动是非常快速的. 1.1.Docker架构简介 Docker 使用客户端-服务器 (C/S) 架构模式,先给出官方的…
1 Docker简介 1.1 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储. 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明…
一. docker的架构 1.1 docker的架构 先来看docker官网给出的docker架构图: 看官网,docker的架构描述: https://docs.docker.com/get-started/overview/ Docker使用客户端-服务器架构.Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作.Docker客户端和守护程序可以 在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序.Docke…
Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell 文件系统隔离:每个进程容器运行在完全独立的根文件系统里 写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间 资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源 网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己…
首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/sshd -D -d 是docker run的参数,是让docker后台运行的 -p 是进行的端口映射,把宿主linux的2222映射或者说连通到docker中操作系统的22端口, 22端口是ssh默认端口. -D 是针对SSH的参数,此选项只是用来监视sshd的启动状态,在附加此选项时,sshd不…
Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 Docker基础命令 Docker 查看帮助信息:docker --help 查看docker命令帮助信息:docker COMMAND --help 查看docker版本:docker version 查看docker信息:docker info 镜像 查看本地已有镜像:docker images 显示镜像历史: docker history IMAGE_NAME 查找仓库中镜…
Docker内核知识 namespace资源隔离 namespace的6项隔离 NameSpace 系统调用参数 隔离内容 UTS CLONE_NEWUTS 主机名与域名 IPC CLONE_NEWIPC 信号量,消息队列,共享内存 PID CLONE_NEWPID 进程编号 Network CLONE_NEWNET 网络设备,网络栈,端口路由等 Mount CLONE_NEWNS 文件系统 User CLONE_NEWUSER 用户和用户组(权限等) Linux内核实现namespace的一个…
Docker入门基础 Linux只存在文件目录,不存在“盘”的概念 Dockers优点:方便部署环境.资源占用少(微服务) Docker的三大概念 镜像:类似虚拟机的镜像.用俗话说就是安装文件.容器:类似linux系统环境,运行和隔离应用.容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变.仓库:Docker集中存放镜像文件的场所. VOLUME VOLUME是在container中创建一个挂载点(Volume挂载卷:映射),我们可以将本地的一个文件卷…
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 知乎上的很多理解是将其理解成集装箱,彼此之间互相不影响,各自运行在各自的环境…
## 一. [docker](http://www.itxdm.me/archives/tag/docker/)概念 [Docker](http://www.itxdm.me/wp-content/plugins/YZ-Link/go.php?url=aHR0cDovL2xpYi5jc2RuLm5ldC9iYXNlLzQ=)包括三个基本概念:镜像(Image).容器([Container](http://www.itxdm.me/wp-content/plugins/YZ-Link/go.php…
可以实现快速部署. 比如一台 16 核 32G 内存的虚拟机上,需要跑 500+ 个用户的应用(每个应用的功能可以认为是一个网站 + 一系列的 RESTful API),有两个事情很重要: 资源隔离:比如限制应用最大内存使用量,或者资源加载隔离等. 低消耗:虚拟化本身带来的损耗需要尽量的低. 我们不可能在一台机器上开 500 个虚拟机,虽然可以在资源隔离方面做的很好,但这种虚拟化本身带来的资源消耗太严重. 另一个方面,我们可以考虑使用语言级别沙箱,虽然这种「虚拟化」本身的消耗可以低到忽略不计,但…
Docker网络基础:快速指南 原文连接:http://blogxinxiucan.sh1.newtouch.com/2017/07/30/Docker网络基础:快速指南/ 了解有关扩展网络功能的默认Docker网络设置和选项. 网络管理员不再拥有配置物理路由器,交换机和其他LAN / WAN组件的舒适区域.我们现在生活在一个虚拟化世界中,管理员必须挖掘VMware,Microsoft,Red Hat等虚拟化平台中的网络组件. 今天,企业IT 对容器越来越感兴趣,这些容器需要强大的网络技能才能正…
一.docker容器基础6种名称空间:UTS.MOunt.IPC.PID.User.Net (1) Linux Namespaces:namespace 系统调用参数 隔离内容 内核版本  UTS      CLONE_NEWUTS                主机名和域名     2.6      IPC    CLONE_NEWIPC         信号量.消息队列和共享内存   2.6      PID   CLONE_NEWPID             进程编号 2.6     …
小白学Docker之基础篇   系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 知乎上的很多理解是将其理解成集装箱,彼此之间…
快速掌握Docker必备基础知识 Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种不同的计算机虚拟化技术,也有很多人会觉得,有了虚拟机,那为什么还要使用Docker呢? 带着心里的一点点疑问,让我们一起来学习Docker吧. 没有虚拟化技术的原始年代 我们仔细想想,在没有计算虚拟化技术的“远古”年代,如果我们要部署一个应用程序(Application),一般的步骤是怎么样的? 第…
Docker+K8s基础篇(五) service资源介绍 A:service资源的工作特性 service的使用 A:service字段介绍 B:ClusterIP的简单使用 C:NodePort的简单使用 D:LoadBalancer和ExternalName E:无头service ♣一:service资源介绍 A:service资源的工作特性: kubernetes的service资源:在整个k8s集群的节点中pods资源是最小的对象,这些对象是提供真正服务的重要组成部分,当我们需要通过外…
Docker+K8s基础篇(四) pod控制器 A:pod控制器类型 ReplicaSet控制器 A:ReplicaSet控制器介绍 B:ReplicaSet控制器的使用 Deployment控制器 A:Deployment控制器的介绍和简单使用 DaemonSet控制器 A:Deployment控制器的介绍 B:Deployment控制器的简单使用 C:pod的共享字段介绍 ♣一:Pod控制器 A:Pod控制器类型 通过yaml格式创建的pod资源我们手动delete之后,是不会重建的,因为这…
Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周期 A:Pod的生命周期阶段 B:容器的两种探测(探针) C:容器启动后和终止前钩子 ♣一:kubernetes的资源 A:k8s上的常用资源: 1:workload(工作负载型对象): pod,Replicaset,Deployment,statefulSet,DaemonSet,Job,Cron…
Docker+K8s基础篇(二) docker的资源控制 A:docker的资源限制 Kubernetes的基础篇 A:DevOps的介绍 B:Kubernetes的架构概述 C:Kubernetes的集群安装 Kubernetes的简单应用 A:Kubernetes命令的介绍和使用 B:Kubernetes的增删改查: C:service资源的增删改查: D:pods资源的滚动部署,升级,回滚: ♣一:docker的资源控制 A:docker的资源限制 在之前我们提到过容器有6大基本功能组成,…
docker入门   在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护. Docker 使用 Google 公司推出的 Go 语言 进行开发实现. docker是linux容器的一种封装,提供简单易用的容器使用接口.它是最流行的Li…
概述 简单介绍一下 docker 镜像的概念 1. 背景 复习 docker 镜像是 docker 最基础, 最重要的概念之一 所以正式使用之前, 最好有所理解和认识 2. 镜像 概述 简单描述 理解不够深入, 内容可能会有偏差 1. 镜像到底是什么 概述 大致说明镜像是什么 本质 文件系统的模板 关系类比 镜像 和 容器 的关系 类似于 代码 和 进程 的关系 镜像层(layer) 概述 镜像是由 一个或多个 镜像层组成的 镜像层可以由多个镜像公用 image 概念 docker 为了方便镜像…
巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源.   从163的网址里边下载好repo文件 http://mirrors.163.com/.help/centos.html 放入到这个目录下,也就是说你自己连repo都不用配置了. /etc/yum.repos.d/ 执行yum makecache生成缓存   安装EPEL源: EPEL本身也是一个软件包,可以提供CentOS…
前面介绍了nginx与php两个容器间是如何进行通信的: [root@docker ~]# docker run -d --name=php -v /www:/usr/local/nginx/html php [root@docker ~]# docker run -d --name=nginx --link=php:php -v /www:/usr/local/nginx/html -p : nginx [root@docker ~]# docker ps -a CONTAINER ID IM…