docker v0.1.0源码结构
目录
为了了解docker的核心内容, 我们先切换到v0.1.0版本,看看基本目录。为了显示简单,部分文件夹和文件使用(...)省略,如*_test.go, deb打包相关的代码等。目录和文件如下
auth
auth.go
contrib
install.sh
mkimage-busybox.sh
README
deb
debian
source
...
...
etc
...
...
docker
docker.go
docs
images-repositories-push-pull.md
README.md
puppet
manifests
...
modules
docker
...
rcli
http.go
tcp.go
types.go
term
term.go
termios_darwin.go
termios_linux.go
archive.go
changes.go
commands.go
container.go
graph.go
image.go
lxc_template.go
mount.go
mount_darwin.go
mount_linux.go
network.go
registry.go
runtime.go
state.go
sysinit.go
tags.go
utils.go
README.md
Vagrantfile
...
详解
其入口可以看作为 docker/docker.go, 我们先从上到下了解一下文件夹的用途。
auth里面只有auth.go和auth_test.go, 主要实现服务器的认证。contrib一些脚本的源码。debDebian系统打包源码。docker包含docker.go, 实现docker核心功能。docs文档目录puppet基于puppet部署工具的相关源码。rcliRemote Command-Line Interface一个简单协议的命令行界面。termTerm 的跨平台支持。README帮助文档,主要是介绍、特性、安装、使用、开发环境、容器的介绍等。- 根目录中其它.go文件各有用途,在源码阅读中我们会接触到。