그다음에는 몇 가지 설정값을 환경 변수 형태로 설정하고 컴파일된 바이너리를 실행해 애플리케이션을 시작한다. 애플리케이션 단계는 builder 단계에서 빌드한 웹 서버 바이너리와 이 웹 서버가 제공할 HTML 파일을 복사하는 과정으로 마무리된다. 마지막으로, 바이너리 파일이 chmod 명령을 통해 명시적으로 실행 권한을 부여받는다(윈도에서는 효과가 없다).
실습 Go 애플리케이션의 소스 코드를 훑어본 다음 이미지를 빌드하라.
cd ch04/exercises/image-gallery docker image build -t image-gallery .
이번 빌드에서는 컴파일 과정에서 출력되는 로그 양이 그리 많지 않다. Go 컴파일러는 비교적 로그 양이 적으며 빌드에 실패한 경우에만 로그를 출력하기 때문이다. 내가 실행한 빌드의 출력 내용을 발췌한 것을 그림 4-9에 실었다.
▲ 그림 4-9 멀티 스테이지 빌드를 적용한 Dockerfile 스크립트로 Go 애플리케이션 빌드하기