docker 源码开发环境的创建

来源:互联网 发布:一点一点吃干抹净淘宝 编辑:程序博客网 时间:2024/05/24 03:20

1.首先安装git make docker 这三个软件,如何安装相信大家都会了,这里就不再费笔墨了
2.其次git的配置以及fork 分支,新建分支dry-run-test 这里也不说了,请参考这里

3.Work with a development container(在容器里面开发)环境的部署

1). 删除所有的镜像以及容器
2). 可以通过以下命令删除容器
docker version >=1.13

$ docker system prune -a

docker version <1.13

 $ docker rm   $(docker ps -a -q)

通过 docker ps -a 查看容器是否完全删除

3). 可以通过以下命令删除镜像

$ docker rmi -f $(docker images -q -a -f dangling=true)

通过docker images 查看镜像是否删除完全

4.build 开发所用到的镜像

$ cd ~/repos/docker-fork

$ make BIND_DIR=. shell

这一条命令会熄会使用Dockerfile,来创建镜像,这一过程比较慢
build image成功之后 会出现 以下信息

Successfully built 3d872560918edocker run --rm -i --privileged -e BUILDFLAGS -e KEEPBUNDLE -e DOCKER_BUILD_GOGC -e DOCKER_BUILD_PKGS -e DOCKER_CLIENTONLY -e DOCKER_DEBUG -e DOCKER_EXPERIMENTAL -e DOCKER_GITCOMMIT -e DOCKER_GRAPHDRIVER=devicemapper -e DOCKER_INCREMENTAL_BINARY -e DOCKER_REMAP_ROOT -e DOCKER_STORAGE_OPTS -e DOCKER_USERLANDPROXY -e TESTDIRS -e TESTFLAGS -e TIMEOUT -v "home/ubuntu/repos/docker/bundles:/go/src/github.com/moby/moby/bundles" -t "docker-dev:dry-run-test" bashroot@f31fa223770f:/go/src/github.com/moby/moby#

在当前文件夹会看到有这个目录

/go/src/github.com/moby/moby

进到容器里 可以执行 编译docker的源码

root@a8b2885ab900:/go/src/github.com/moby/moby# hack/make.sh binary...output snipped...bundles/1.12.0-dev already exists. Removing.---> Making bundle: binary (in bundles/1.12.0-dev/binary)Building: bundles/1.12.0-dev/binary/docker-1.12.0-devCreated binary: bundles/1.12.0-dev/binary/docker-1.12.0-devCopying nested executables into bundles/1.12.0-dev/binary

把二进制放到目录/usr/local/bin/

root@a8b2885ab900:/go/src/github.com/moby/moby# make install
root@a8b2885ab900:/go/src/github.com/docker/docker# dockerd -D &...output snipped...DEBU[0001] Registering POST, /networks/{id:.*}/connectDEBU[0001] Registering POST, /networks/{id:.*}/disconnectDEBU[0001] Registering DELETE, /networks/{id:.*}INFO[0001] API listen on /var/run/docker.sockDEBU[0003] containerd connection state change: READY

或者执行

hack/make.sh binary install-binary runroot@5f8630b873fe:/go/src/github.com/moby/moby# docker --versionDocker version 1.12.0-dev, build 6e728fb

接下来 你就可以修改docker的代码了,详情请参考这里