docker study
文章平均质量分 84
Max_Cong
这个作者很懒,什么都没留下…
展开
-
Docker pull 发生了什么 -- overlay2
阅读前提: 浏览一下网页docker manifest usage:https://docs.docker.com/engine/reference/commandline/manifest/manifest V2 description:https://docs.docker.com/registry/spec/manifest-v2-2/docker pull 流程docker发送...原创 2019-10-21 16:01:48 · 1267 阅读 · 0 评论 -
docker Plugin config
Plugin Config Version 1 of Plugin V2This document outlines the format of the V0 plugin configuration. The pluginconfig described herein was introduced in the Docker daemon in thev1.12.0release.转载 2017-09-16 10:31:16 · 711 阅读 · 0 评论 -
安装docker
Docker目前分为两个版本:Docker Enterprise Edition (Docker EE) 专为企业开发和IT团队设计,用于在大规模生产中构建,运送和运行关键业务应用程序。Docker EE集成,认证和支持,为企业提供业界最安全的容器平台,使所有应用程序现代化。Docker Community Edition (Docker CE) 是开发人员和小团队的理想选择,希望开始使用转载 2017-09-09 13:11:28 · 524 阅读 · 0 评论 -
Docker log sharing
View logs for a container or servicethe docker service logs command shows information logged by all containers participating in a service. The information that is logged and the format of the log depe原创 2017-12-19 14:28:10 · 645 阅读 · 0 评论 -
docker sharing -- code
概要阅读准备docker-daemon关于日志源码分析概要从docker源码的角度分析docker daemon怎么将容器的日志收集出来并通过配置的log-driver发送出去。阅读准备本文适合能够阅读和编写golang代码的同学。 (1)首先你需要认知以下几个关键词: * stdout: 标准输出,进程写数据的流。 * stderr: 错误输出,进程写错误数据的流。 * 子进程转载 2017-12-19 14:55:31 · 511 阅读 · 0 评论 -
OCI规范 镜像规范
容器OCI规范 镜像规范前言OCI 镜像规范初步OCI 文件类型Media TypeMedia Type 的不一致OCI Content DescriptorContent Descriptor 属性摘要和校验Content Descriptor 示例OCI 镜像布局规范详细内容示例Blobs 文件夹Blobs 示例oci-layout 文件oci-layout 示例indexjson 文件ind...转载 2018-07-16 14:00:55 · 3830 阅读 · 0 评论 -
docker 存储驱动(一) ---- overlay2
官方的文档请参考:docker overlay stroage一直很好奇docker是怎么存image的。再这总结一下。前提OverlayFS is supported if you meet the following prerequisites:The overlay2 driver is supported on Docker CE, and Docker EE 17.06.02...原创 2019-05-21 16:13:05 · 1683 阅读 · 0 评论 -
如何限制docker container 最大磁盘 -- docker overlay2 over xfs -- pquota
最近研究docker images。 出现一个问题。 在container 里查看磁盘,发现在host上overlay多大,在container中 “/”就多大。这样可能就会有个问题,要是在container中不断的写磁盘,如果占用太多的话,可能会占满磁盘。docker run -ti --storage-opt size=20g centos bash这回返回说让我们开启xfs的pquo...原创 2019-07-04 10:00:57 · 5212 阅读 · 0 评论 -
docker 存储驱动(三)----- docker 是怎么知道image大小的,以及container大小的(overlay2)
在研究docker overlay时候碰到一个很有趣的问题。也就是docker images时候显示image的大小。docker是怎么知道image大小的?众所周知,dockers是分层存储image的。不同的image可以share同一层。那么他们是怎么share同一层layer的?image 如何存储问题的答案首先要从docker inspect开始,这里我们只关注RootFS:r...原创 2019-07-30 14:38:29 · 1312 阅读 · 0 评论 -
docker 有关/etc/{hosts,hostname,resolv.conf}
1)为什么/etc/{hosts,hostname,resolv.conf}文件是从外面安装的?我至少看到一个原因。想象一下,如果容器引擎只是将这些文件写入容器的文件系统并且用户决定挂载/etc为卷(这是完全合法且非常有用的 - 安装/etc将允许用户为容器提供多个配置文件,会发生什么情况一个-v论点docker run):首先,卷安装到容器的/etc目录; 然后它的内容由容器引擎改...原创 2019-08-03 09:17:11 · 1686 阅读 · 0 评论 -
docker 存储驱动(二) ---- docker启动时文件操作(hostname hosts resolv.conf)
上一篇文章学习了overlay2的基本知识, 分享时候发现有个问题。就是2cda8c39e97b6157f8599f83c50c4591da423a2c3c0abd20302140c515a876a9-init这种xxx-init文件是干什么用的。搜了几篇文章都说这个是系统初始化时候,解决host问题的。但是具体过程都没有说明。为此做了一些尝试。首先看看host 中的resolve.conf...原创 2019-07-22 15:16:32 · 1841 阅读 · 0 评论 -
docker log driver
(1)首先你需要认知以下几个关键词:stdout: 标准输出,进程写数据的流。stderr: 错误输出,进程写错误数据的流。子进程: 由一个进程(父进程)创建的进程,集成父进程大部分属性,同时可以被父进程守护和管理。(2)你需要知道关于进程产生日志的形式: 进程产生日志有两类输出方式,一类是写入到文件中。另一类是直接写到stdout或者stder转载 2017-09-16 10:27:44 · 2726 阅读 · 0 评论 -
docker 插件开发案例
docker plugin转载 2017-07-21 14:01:43 · 2565 阅读 · 0 评论 -
docker logger 源码分析
概要本文将从docker(1.12.6)源码的角度分析docker daemon怎么将容器的日志收集出来并通过配置的log-driver发送出去,并结合示例介绍了好雨云帮中实现的一个zmq-loger。阅读本文,你也可以实现适合自己业务场景的log-driver。阅读准备本文适合能够阅读和编写golang代码的同学。(1)首先你需要认知以下几个关键词: * stdout:标转载 2017-07-21 09:23:35 · 869 阅读 · 0 评论 -
Docker背后的容器管理——Libcontainer深度解析
原文地址:http://www.infoq.com/cn/articles/docker-container-management-libcontainer-depth-analysisLibcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces、cgroups、capabilities以及文件系统来进行容器控制。你可以使用Libcontai转载 2017-02-19 08:23:36 · 2183 阅读 · 0 评论 -
virtualbox迁移至vcenter/vmware workstation
原文地址 http://www.cnblogs.com/xwdreamer/p/3779291.html参考文献:http://www.itsecurenet.com/virtualbox-ova-to-vsphere-ovf/http://www.techrepublic.com/blog/windows-and-office/how-do-i-convert-virt转载 2017-02-20 12:53:33 · 1741 阅读 · 3 评论 -
docker study --- runc
his blog is based on the master branck of ruc. I had fork it and save it under https://github.com/savagecm/runc.There are four background process background: docker daemon、docker-containerd、docker原创 2017-01-30 10:26:51 · 1598 阅读 · 0 评论 -
docker study --- containerd
containerd is a binary , it will run background when docker service starts.containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim containerd-shim --metrics-interval=0 --s原创 2017-02-01 10:31:11 · 1024 阅读 · 0 评论 -
docker study --- containerd
上次写了个containerd的源码分析,不知道为什么CSDN给删掉了,难道是审核不通过?......重新写一篇,希望这次顺利Containerd 是一个控制 runC 的守护进程,主要是为了性能和密度。Containerd 提供一个命令行客户端和 API,在一个机器上管理容器。Containerd 使用 runC 来根据 OCI 规范运行容器 。containerd 是doc原创 2017-02-02 08:02:19 · 1585 阅读 · 0 评论 -
docker study --- shim
shim 逻辑简单docker-containerd-shim的入口在:/docker/containerd/containerd-shim/main.go根据传入的参数,构造一个process:// containerd-shim is a small shim that sits in front of a runtime implementation// that allo原创 2017-02-02 13:57:08 · 1227 阅读 · 0 评论 -
docker -- cgroups资源限制
原文连接 http://www.infoq.com/cn/articles/docker-kernel-knowledge-cgroups-resource-isolation上一篇中,我们了解了Docker背后使用的资源隔离技术namespace,通过系统调用构建一个相对隔离的shell环境,也可以称之为一个简单的“容器”。本文我们则要开始讲解另一个强大的内核工具——cgrou转载 2017-02-25 10:25:27 · 573 阅读 · 0 评论 -
docker -- Namespace资源隔离
原文地址 -- http://www.infoq.com/cn/articles/docker-kernel-knowledge-namespace-resource-isolation?utm_source=infoq&utm_campaign=user_page&utm_medium=linkDocker这么火,喜欢技术的朋友可能也会想,如果要自己实现一个资源隔离的容器,应该转载 2017-02-25 10:30:46 · 632 阅读 · 0 评论 -
docker -- 标准化容器执行引擎——runC
随着容器技术发展的愈发火热,Linux基金会于2015年6月成立OCI(Open Container Initiative)组织,旨在围绕容器格式和运行时制定一个开放的工业化标准。该组织一成立便得到了包括谷歌、微软、亚马逊、华为等一系列云计算厂商的支持。而runC就是Docker贡献出来的,按照该开放容器格式标准(OCF, Open Container Format)制定的一种具体实现。本文作者及转载 2017-02-25 10:28:48 · 1244 阅读 · 0 评论 -
docker state.json
for docker share.this file is under /run/runc/$containerID/state.json{ "id":"47ab892087d05c71d08f274d8a9f385e82230459b4580e5872f5b266d1626b4b", "init_process_pid":7486, "init_proc原创 2017-03-04 12:09:55 · 1390 阅读 · 0 评论 -
Docker Container网络
原文 http://www.infoq.com/cn/articles/docker-source-code-analysis-part81.Docker Client配置容器网络模式Docker目前支持4种网络模式,分别是bridge、host、container、none,Docker开发者可以根据自己的需求来确定最适合自己应用场景的网络模式。从Docker Conta转载 2017-03-08 10:41:41 · 728 阅读 · 0 评论 -
how to run docker build behind a proxy (docker build host machine behind a proxy)
most time, my work environment is behind proxy(to jump out Chixx Gateway). Now there is a problem. when we run docker run. the build will fail if we try to access the internet.the solution is as bel原创 2017-03-08 11:13:19 · 1420 阅读 · 0 评论 -
docker study -- runc share -- parent process 2017/3/19
本文是为了和同事们share runc相关的study。首先 runc 支持如下的command。 从runc的 create, start两方面说起。COMMANDS: checkpoint checkpoint a running container create create a container delete delete原创 2017-03-08 14:57:24 · 1133 阅读 · 0 评论 -
docker study -- runc share -- init process 2017/3/19
晚上差点没赶上班车。明天要share,继续准备##main.go ->initCommand##main_unix.govar initCommand = cli.Command{ Name: "init", Usage: `initialize the namespaces and launch the process (do not call原创 2017-03-08 19:07:56 · 719 阅读 · 0 评论 -
runc源码分析——create和start
Createcreate.go#createCommandutils_linux.go#startContainer根据容器id参数和spec信息用工厂模式创建了一个linux container实例。对listen fd做一些初始化操作,用于socket activation?构建一个runner对象,调用runner.runutils_linux.go#run这个r转载 2017-03-07 07:04:01 · 1002 阅读 · 0 评论 -
使用插件扩展Docker
Extend Docker Via Plugin Last updated: 2017-05-03 by <a href="https://blog.codeship.com/author/lorenzofontana/" title="Posts by Lorenzo Fontana" rel="author">Lorenzo Fontana | 5 Comments<div cla转载 2017-07-07 14:57:37 · 843 阅读 · 0 评论 -
docker study --- overlay docker cp not work
最近公司有人开出个ticket 给Docker team。我看了看。背景:We meet another issue on Fawn’s lab -- “docker cp” doesn’t work. Could you please help to have a check? It had worked well last week. But now, it show fo原创 2017-02-17 15:17:54 · 1503 阅读 · 0 评论