Skip to content

Latest commit

 

History

History
77 lines (55 loc) · 1.85 KB

基础介绍.md

File metadata and controls

77 lines (55 loc) · 1.85 KB

源码编译

1、找到编译docker镜像(大概1.2G),然后把镜像加载到docker里面 : docker load < xx.tar 2、下载源代码 3、进入源代码所在目录 4、执行

docker run --rm -i -v `pwd`:/root/dockerbuild docker.zte.com.cn:5000/cci/docker-dev:heads-v1-13-1 ./build.py  #生成安装包在 ./RPMS 下面

Docker调试

日志

默认打印为info级别日志,输出在/var/log/messages中

打开/etc/docker/daemon.json,(如不存在则新建),

{ 
  "debug": true
  "log-level": "debug"  #或者这么设置
}

下面有2中方法可以使修改生效:

  1. 然后重启docker服务;
  2. 重新加载配置(不重启dockerd): sudo kill -SIGHUP $(pidof dockerd)

获取完整stack trace

方法1:
$ sudo kill -SIGUSR1 $(pidof dockerd)  #打印输出在messages里面

或者 kill -s USR1 $(pidof dockerd)

方法2:
strace -Fp `pidof dockerd` 2>&1 |grep -v futex |grep -v epoll_wait |grep -v pselect

下面有2中方法可以使修改生效:

  1. 然后重启docker服务;
  2. 重新加载配置(不重启dockerd): sudo kill -SIGHUP $(pidof dockerd)

内存分析

[root@paas]$cat /etc/docker/daemon.json 
{
    "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],
    "insecure-registries": ["0.0.0.0/0"],
    "log-opts": {"max-size": "10M", "max-file": "5"},
    "max-concurrent-downloads": 100,
    "max-concurrent-uploads": 100,
    "graph": "/root/docker",
    "storage-driver": "overlay2",
    "storage-opts": ["overlay2.override_kernel_check=true"],
    "debug" : true
}
首先需要在定位环境中安装一个工具 socat:
$ yum install socat

其次执行如下命令:
$ socat -d -d TCP-LISTEN:8080,fork,bind=localhost UNIX:/var/run/docker.sock &

最后执行如下命令,可以进去pprof的交互命令环境
$ go tool pprof -inuse_space  localhost:8080/debug/pprof/heap