docker learn

来源:互联网 发布:浙大教授被骗婚 知乎 编辑:程序博客网 时间:2024/05/18 21:42

golang的docker,学习学习!

 

docker可以用docker build出来

 

常用docker命令:

docker pull

docker run

docker -d

 

main函数的分析:

1.  很多的flag函数,parse命令行,获取参数选择执行的程序

flVersion 获取版本

bridge   猜测可能是桥接

flDebug debug开关

flDaemon 开启后台进程,这个是很多命令的前提

其他命令

 

2. deamon的过程

a. os.Geteuid() &runtime.GOOS必须是root & linux

b. flag.NArg()不能有多余参数

c. 设置TMPDIR 环境变量

d. 设置root目录 root:=*flRoot;realRoot=root
e. 启动一个engine并注册builtins.Register(eng)

f.  设置eng的参数

g. 启动run 一个server的job

h. 启动run一个serveapi的job

 

3. client端

a. 获取addr,strings.SplitN(flHosts.GetAll()[0],"://",2)

b.tlsConfig做配置

c.client.NewDockerCli创建一个clistruct

cli=client.NewDockerCli(os.Stdin,os.Stdout,os.Stderr,protoAddrParts[0],protoAddrParts[1],&tlsConfig)

d.对命令行参数做parse做转义,最后一步,开始执行

cli.ParseCommands(flag.Args()...) //这里的...将切片打散

 

 

 

 


0 0
原创粉丝点击