Cómo depurar el código fuente de Docker
./hack/make.sh binario.
El comando anterior puede generar directamente archivos binarios de Docker, pero definitivamente no será fácil. Encontrará errores al ejecutar este comando. Si se produce un error la primera vez que lo ejecuta, es posible que no se pueda encontrar la dependencia de go correspondiente. Entonces, comencemos a resolver el primer problema, que son las dependencias de go.
La forma más directa de resolver las dependencias de go es descargarlas de github u otros lugares, pero esto es problemático porque Docker depende de una gran cantidad de paquetes de go, y estas dependencias pueden depender de otros paquetes. A continuación se presenta un método simple y práctico, que también es la conveniencia que brinda el proyecto de gestión de idiomas go. Por ejemplo, si descubre que un paquete dependiente en un determinado directorio de Docker se informa como un error, puede hacer esto:
go get -v ./src/github.com/docker/docker/. ..
Después de ejecutar este comando, los paquetes de software que dependen de los archivos fuente en todo el directorio de Docker se descargarán automáticamente. También puede seguir este paso si descubre que otros directorios informan el mismo error. Sin embargo, debe enfatizarse que estas descargas descargarán los paquetes más recientes, por lo que si compila con la ventana acoplable anterior, habrá problemas; si compila con el último código de la ventana acoplable, no habrá problemas, porque este es el método de compilación oficial;
Los comandos anteriores se basan en el establecimiento exitoso del entorno de lenguaje go. El encuentro de go que instalé es la versión 1.3.3 y lo instalé usando el método del código fuente. Lo instalé en /export/servers/go y luego coloqué todos los directorios de código fuente del proyecto de idioma go en /export/servers/gopath. Luego, configuré las siguientes variables de entorno en el archivo .bashrc en el directorio raíz del usuario:
export GOPATH=/export/servers /gopath
export GOROOT=/export/servers/ ir
exportar GOARCH=amd64
exportar GOOS=linux