리셋 되지 말자

[source code] build 코드 본문

Docker

[source code] build 코드

kyeongjun-dev 2021. 12. 3. 12:57

go cobra 패키지

cobra는 go에서 제공하는 cli 구성 도구이다. docker의 경우도 cobra로 cli가 사용됐다.

 

build command 추가 부분

github의 repository에 가면 아래와 같이 cobra로 cmd를 추가하는 부분을 확인할 수 있다. 링크

 

build commnad 동작

코드를 따라가기 시작하면, 아래처럼 cobra Command에 build를 추가하고 runBuild 함수를 호출한다. 링크

 

runBuild 함수

링크의 209번째 줄을 확인하면 build command 실행 시, 실행되는 함수인 runBuild 함수를 확인할 수 있다.

 

runBuild 함수 부분인 258번째 줄을 보면 각 case 마다 docker build로 넘기는게 tar 인지, Dockerfile인지, git URL인지, 그냥 URL 인지 나눈 뒤에, buildCtx, dockerfileCtx에 담는다

 

계속 내려가다 보면 buildCtx를 body에 담고, 이를 넘겨서 dockerCli.Client().ImageBuild를 호출한다

Comments