docker push 实现过程
摘要:这一篇文章分析一下docker push的过程;docker push是将本地的镜像上传到registry service的过程; 根据前几篇文章,可以知道客户端的命令是在api/client/push.go中,CmdPush()函数: 基本思路就是将通过解析cmd.Arg(0)参数,提取去要pus
阅读全文
通过docker-machine和etcd部署docker swarm集群
摘要:本片文章介绍一下 使用docker-machine 搭建docker swarm 集群;docker swarm是docker 官方搭建的容器集群编排工具;容器编排,就是可以使你像使用一太机器一样来使用一个集群,你运行的容器可能会在容器中的任何一个节点上运行; 首先盗一张 docker swarm的
阅读全文
用docker toolBox 搭建 nginx + flask + redis 环境
摘要:本篇博客,主要是了解一下docker-compose的使用,docker-compose是官方给出的同时部署多个容器的解决方案;当你需要多个容器同时运行作为你的解决方案时:比如构建一个网站,需要php + apache + postgrel ,这里面的每一个组件(web server,数据库等)都是
阅读全文
关于docker容器是怎样建立新的namespace的。
摘要:最近博客收到了一封交流的私信,感谢您的关注;现在就我理解的docker建立容器时namespace的建立问题做一个 个人的回答: 一,从原理角度来讲: docker创建container,说白了就是linux系统中的一次fork的调用,在fork调用的时候,会传入一些flag参数,这些参数可以控制对
阅读全文
docker 源码分析 六(基于1.8.2版本),Docker run启动过程
摘要:上一篇大致了解了docker 容器的创建过程,其实主要还是从文件系统的视角分析了创建一个容器时需要得建立 RootFS,建立volumes等步骤;本章来分析一下建立好一个容器后,将这个容器运行起来的过程, 本章主要分析一下 docker deamon端的实现方法;根据前面几章的介绍可以容易找到,客户
阅读全文
docker 源码分析 五(基于1.8.2版本),Docker容器的创建
摘要:前面讲到了docker容器得镜像,镜像其实是docker容器的静态部分,而docker容器则是docker镜像的动态部分,即启动了一个进程来运行,本篇最要来分析一下怎样创建并运行一个容器。创建一个容器在客户端实现是在api/client/create.go,其中得CmdCreate()方法,这个函数...
阅读全文
docker 源码分析 四(基于1.8.2版本),Docker镜像的获取和存储
摘要:前段时间一直忙些其他事情,docker源码分析的事情耽搁了,今天接着写,上一章了解了docker client 和 docker daemon(会启动一个http server)是C/S的结构,client端发出的命令由docker daemon接收并处理。我们在运行docker的时候,可能会使用到...
阅读全文
docker 源码分析 三(基于1.8.2版本),NewDaemon启动
摘要:本文来分析一下New Daemon的启动过程;在daemon/daemon.go文件中;func NewDaemon(config *Config, registryService *registry.Service) (daemon *Daemon, err error) { setDefault...
阅读全文
docker 源码分析 二(基于1.8.2版本),docker client与daemon交互
摘要:(2) 那我们通过docker客户端发送一个命令,docker是怎样接收到并处理的呢,我们就举个例子来看一下,比如docker pull 命令;我们回到 docker/docker.go 中,在上一章中我们讲了docker daemon的启动,代码讲到了handleGlobalDaemonFlag(...
阅读全文
docker 源码分析 一(基于1.8.2版本),docker daemon启动过程;
摘要:最近在研究golang,也学习一下比较火的开源项目docker的源代码,国内比较出名的docker源码分析是孙宏亮大牛写的一系列文章,但是基于的docker版本有点老;索性自己就git 了一下最新的代码研读;docker是c/s的架构,分为docker client 和 docker daemon,...
阅读全文
ubuntu 14.04 安装docker
摘要:常会遇到的问题就是网络的问题,如访问https://get.docker.io/ 遇到403的问题;总结一下最简单的几条命令:$ sudo apt-get install apt-transport-https$ sudo apt-key adv --keyserver hkp://keyserve...
阅读全文