일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- property
- Python
- TypeScript
- dotenv
- machine learning
- security
- bash
- 앙상블
- AI
- docker
- generic
- C++
- npm
- BOJ
- nginx
- scss
- 보안
- git
- leetcode
- Clone
- var
- vuetify
- VUE
- JavaScript
- condition
- C#
- type
- loop
- webpack
- vue.js
- Today
- Total
ice rabbit programming
[Docker] Docker Hub와 Github 연동하여 컨테이너 빌드/실행하기 본문
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