ice rabbit programming

[Docker] Docker Hub와 Github 연동하여 컨테이너 빌드/실행하기 본문

Development/Infra

[Docker] Docker Hub와 Github 연동하여 컨테이너 빌드/실행하기

판교토끼 2021. 3. 14. 00:43

Docker는 현재 컨테이너 생태계에서 거의 표준에 가깝게 사용되고 있다. 빌드된 도커 이미지들은 별도의 private한 레지스트리에서 관리할 수도 있지만, github처럼 오픈된 레지스트리를 기본적으로 사용할 수 있다. 이것이 Docker Hub이다.

Github와 연동하기

본인이 Docker를 실제로 사용해본 것은 작년이 처음이었고, 개인적으로 사용해본 것은 최근의 일이었다. 이 때 Docker Hub를 사용했는데, Github와의 연동이 상당히 잘 되어 있었다.

만약 본인이 형상 관리를 github로 하고 있다면, Docker Hub에서 빌드 설정에서 연결해줄 수 있다.

위 사진은 필자가 실제로 사용하고 있는 소스 repository이다. 이렇게 연결하면 Docker Hub에서는 Github 코드 내의 Dockerfile을 찾아서 도커 이미지 빌드까지 처리해준다. 물론 자동 trigger도 걸 수 있다.

브랜치/태그 기준으로 규칙을 줄 수 있는데, 본인은 브랜치 기준으로 사용하였다. release/master에 변경(push)이 일어날 경우 자동으로 빌드되도록 하였다. 빌드 자동화(CI) 과정을 github와 Docker Hub를 연동함으로서 구성하였다.

Builds 탭에서 아래와 같이 빌드 현황을 확인할 수 있다.

빌드된 Docker 이미지 가져오기

이렇게 빌드된 이미지는, docker pull 명령어로 가져올 수 있다. 실제 도커를 실행할 환경(로컬 혹은 VM 등)에서

docker pull {Docker Hub ID}/{Docker Repository Name}:{Tag} 를 입력하면 된다.
ex) docker pull recoder1212/trading_pigeon_backend:latest