
Docker
讲解Docker操作使用到底层原理的系列博文
yaluoshan
程序员
展开
-
Docker笔记(10):Docker安全防护与配置
Docker是基于 Linux操作系统实现的应用虚拟化。运行在容器内的进程,与运行在本地系统中的进程在本质上并无区别,因此,配置的安全策略不合适将可能给本地系统带来安全风险。Docker的安全性在生产环境中是十分关键的衡量因素。Docker容器的安全性,在很大程度上依赖于 Linux系统自身。目前,在评估 Docker的安全性时,主要考虑下面几个方面:Linux内核的命名空间机制提供的容器隔离安全;Linux控制组机制对容器资源的控制能力安全;Linux内核的能力机制所带来的操作权限安全;Dock原创 2020-11-17 16:56:59 · 461 阅读 · 0 评论 -
Docker笔记(9):容器的资源分配
1.内存分配内存限额与操作系统类似,容器可使用的内存包括两部分:物理内存和swap。Docker通过下面两组参数来控制容器内存的使用量。(1)-m或-memory:设置内存的使用限额,例如100MB,2GB。(2)-memory-swap:设置内存+swap的使用限额。默认情况下对容器内存和swap的使用没有限制。如果在启动容器时只指定-m而不指定–memory-swap,那么–memory-swap默认为-m的两倍。当我们执行如下命令:docker run -m 200M --memory-s原创 2020-11-17 16:56:28 · 1571 阅读 · 0 评论 -
Docker笔记(8):Docker网络
1.docker网络原理在安装 Docker时,会创建一个新的网络接口docker0,docker0是一个虚拟的以太网桥,用于连接容器和本地宿主网络。通过命令查看目前 Docker宿主机上这个网络接口的信息。ip a show docker0docker0接口有符合RFC1918规范的私有IP地址,范围是172.16~172.30。接口本身的地址172.17.0.1,是这个Docker网络的网关地址,也是所有 Docker容器的网关地址。Docker会默认使用172.17.x.x作为子网地址,如果原创 2020-11-16 10:18:08 · 453 阅读 · 0 评论 -
Docker笔记(7):Docker 存储
Docker为容器提供了两种存放数据的资源:(1)由storage driver管理的镜像层和容器层。(2)Data Volume。1.storage driver镜像的分层结构使镜像和容器的创建、共享以及分发变得非常高效,而这些都要归功于Docker storage driver。正是storage driver实现了多层数据的堆叠,并为用户提供一个单一的合并之后的统一视图。Docker支持多种storage driver,有AUFS、Device Mapper、Btfs、OverlayS、VFs原创 2020-11-16 10:17:50 · 184 阅读 · 0 评论 -
Docker笔记(6):镜像
本地镜像都保存在 Docker宿主机的/var/lib/docker目录下。1.镜像的分层结构(1)分层结构Docker镜像是由文件系统叠加而成,最底端是一个引导文件系统bootfs,这很像典型的 Linux/Unix的引导文件系统,Docker用户几乎永远不会和引导文件系统有什么交互。实际上,当容器启动后,引导文件系统则会被卸载,以留出更多的内存供initrd磁盘镜像使用。Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如 Deb原创 2020-11-16 10:17:38 · 690 阅读 · 0 评论 -
Docker笔记(5):Docker底层依赖的核心技术
1. 基础架构Docker采用了标准的C/S架构,包括客户端和服务端两大部分,同时通过镜像仓库来存储镜像,架构如下图。客户端和服务端既可以运行在一个机器上,也可通过 socket或者 RESTful API来进行通信。(1)服务端Docker服务端一般在宿主机后台运行,dockerd组件作为服务端接受来自客户的请求,并通过 containerd组件处理这些请求(创建、运行、分发容器)。服务端主要包括四个组件:dockerd:为客户端提供RESTful API ,响应来自客户端的请求,采用模块化的原创 2020-11-16 10:17:25 · 983 阅读 · 0 评论 -
Docker笔记(4):容器技术生态
围绕Docker有一个生态系统,Docker是这个生态系统的基石,完善的生态系统才是保障 Docker以及容器技术能够真正健康发展的决定因素,容器生态系统包含核心技术、平台技术和支持技术。1.容器核心技术容器核心技术是指能够让Container在主机上运行起来的那些技术,包括容器规范、容器runtime、容器管理工具、容器定义工具、Registry、容器OS等。(1)容器规范容器不止有Docker,还有其他容器,比如Cores的rkt。为了保证容器生态的健康发展,保证不同容器之间能够兼容,Docke原创 2020-11-16 10:17:12 · 212 阅读 · 0 评论 -
Docker笔记(3):Dockerfile
1.什么是DockerfileDockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。Dockerfile的作用包括:1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了; 3、对于运维人员:在部署时,可以实现应用的无缝移植。2.Dockerfile基本结构Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。一般的,Dock原创 2020-11-16 10:16:55 · 293 阅读 · 0 评论 -
Docker笔记(2):Docker的基本使用与配置
1、镜像、容器的相关命令1.镜像相关命令(1)镜像查找docker search NAME(2)镜像拉取用docker run命令从镜像启动一个容器时,如果该镜像不在本地,Docker会先从Docker hub下载该镜像。Registry默认为registry.hub.docker.com,TAG默认为latest。docker pull [Registry]/NAME:TAGdocker pull ubuntu:16.04(3)镜像信息查看# 查看已经拉取的镜像,存储在宿主机的/va原创 2020-11-16 10:16:36 · 156 阅读 · 0 评论 -
Docker笔记(1):Docker简介与安装
1、Docker简介1.虚拟化技术简介虚拟化(Virtualization)技术是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份不受现有资源的架设方式,地域或物理组态所限制,一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利原创 2020-11-16 10:16:22 · 135 阅读 · 0 评论