이제 애플리케이션을 실행해 보자. 이 애플리케이션이 지금까지 이번 장에서 실행했던 다른 애플리케이션을 하나로 묶게 될 것이다. 앞서 빌드한 애플리케이션이 제공하는 API를 사용하는 것이 바로 이 Go 애플리케이션이기 때문이다. 앞에서 본 애플리케이션의 컨테이너가 정확한 이름으로 모두 실행 중인지 다시 한 번 확인하자. docker container ls 명령을 사용해 확인해 보면 이번 장에서 실행한 두 개의 컨테이너 accesslog(Node.js 애플리케이션)와 iotd(자바 애플리케이션)가 실행 중일 것이다. Go 애플리케이션을 담은 컨테이너를 실행하면 새로운 컨테이너가 이들 두 컨테이너가 제공하는 API를 사용하게 된다.
실습 Go 애플리케이션 이미지로 컨테이너를 실행하되, 컨테이너를 nat 네트워크에 접속하고 80번 포트를 호스트 컴퓨터의 포트를 통해 공개하라.
docker container run -d -p 802:80 --network nat image-gallery
웹 브라우저를 통해 http://localhost:802에 접근해 보면 NASA가 제공하는 오늘의 천문 사진을 볼 수 있다. 그림 4-10은 내가 실행한 컨테이너를 통해 본 오늘의 천문 사진이다.
▲ 그림 4-10 자바 애플리케이션이 제공하는 API의 정보로 사진을 보여 주는 Go 애플리케이션