>운영 및 유지보수 >Docker >Docker에서 소스 코드를 디버깅하는 방법은 무엇입니까?

Docker에서 소스 코드를 디버깅하는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-06-12 13:00:563360검색

Docker에서 소스 코드를 디버깅하는 방법은 무엇입니까?

Docker에서 소스 코드를 디버깅하는 방법은 무엇입니까?

Docker에서 소스 코드를 디버깅하는 방법:

Docker의 공식 컴파일 단계를 연구한 후 로컬 컴파일도 매우 간단하다는 것을 알았습니다. Docker 소스 코드 디렉터리에서 다음 명령만 실행하면 됩니다.

./hack/make.sh binary

위의 명령은 docker 바이너리 파일만 생성하지만 이 명령을 실행할 때 오류가 발견될 것입니다. 첫 번째 실행 중에 보고된 오류는 해당 go 종속성 패키지를 찾을 수 없다는 것입니다. 이제 첫 번째 문제인 의존성 패키지를 해결해 보겠습니다.

go 종속성 패키지를 해결하는 가장 직접적인 방법은 github이나 다른 곳에서 로컬로 하나씩 다운로드하는 것이지만, 이는 매우 번거로운 일입니다. Docker는 많은 go 언어 패키지에 의존하고, 종속 패키지는 다른 패키지에 의존할 수 있습니다. Go 언어 프로젝트 관리의 편리함이기도 한 간단하고 실용적인 방법이 있습니다. go get 명령을 사용하여 자동으로 다운로드합니다. 예를 들어 보고된 오류가 docker의 특정 디렉터리에 있는 종속 패키지인 경우 다음과 같이 실행할 수 있습니다.

go get -v ./src/github.com/docker/docker/...

이 명령이 실행된 후 해당 패키지는 의존하는 전체 docker 디렉토리의 소스 파일이 자동으로 다운로드됩니다. 다른 디렉터리의 소스 파일에서도 동일한 오류가 보고되는 경우 다음 방법에 따라 문제를 해결할 수 있습니다. 그러나 여기서 강조할 점은 이러한 다운로드는 최신 패키지를 다운로드한다는 점입니다. 기존 도커를 컴파일하면 분명히 문제가 있을 것입니다. 최신 도커 코드를 컴파일하면 공식 컴파일이므로 확실히 문제가 없습니다. 이쪽으로.

위에서 실행한 명령은 모두 Go 언어 환경이 성공적으로 구축된 것을 기반으로 합니다. 다음과 같이 /export/servers/go下面,然后所有的go语言工程源码目录放在 /export/servers/gopath。然后配置环境变量在用户的根目录下的.bashrc 파일에 설치됩니다.

export GOPATH=/export/servers/gopath
export GOROOT=/export/servers/go
export GOARCH=amd64
export GOOS=linux


추천 튜토리얼: "docker video tutorial"

위 내용은 Docker에서 소스 코드를 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.