本文参照Docker官网的Work with a development container搭建了Docker的开发环境,据说Docker Engine的核心开发团队就是这么个开发流程:)
大家也可以使用DockerHub上的官方docker镜像来搭建。
docker
源码仓库中有一个Dockerfile
文件,定义了Docker的开发环境,包括系统软件库、Go环境以及Go的依赖等。
Task 1. 删除镜像和容器
Docker开发者一般会运行最新的稳定版Docker release,删除停止的容器以及没用的images虽然不是必要的任务,但这通常是一个好习惯。
Task 2. 运行一个开发容器
这样我们就得到了一个可用的docker开发环境镜像,可以使用docker images
查看,并使用如下命令重新启动docker开发容器:
这样就把docker源码仓库挂载到了开发环境的容器中,对docker源码仓库中的任何改动都会映射到开发环境容器中。
在开发过程中,避免不了在多个Terminal进入同一个Container,使用attach命令进入一个正在运行的容器,会导致在exit的时候把容器stop掉,多个Terminal同时退出容器。
可以使用exec
避免如上效果。
Build Docker源码
至此,我们可以像Docker Engine核心团队一样来开发Docker了:)