github 레포지토리에 자신이 만든 도커파일 스크립트를 올리면, 도커허브에 연동하여 자동으로 이미지를 빌드하고, 결과를 도커허브에 저장할 수 있다. github 뿐만 아니라 Bitbucket도 가능한데, 여기서는 다루지 않는다. 먼저, 아래 두 사이트의 계정을 생성한다.
접속 후 계정을 만든다음 로그인한다.
도커허브에 로그인한다.
오른쪽 상단에 지문을 클릭한 후 Account Settings에 들어간다.
왼쪽 메뉴에 Linked Accounts를 선택하면 아래와 같은 화면이 나온다.
GitHub 부분에서 Connect를 선택한다.
아래와 같이 GitHub 로그인 페이지가 나온다. 로그인한다.
로그인이 성공적으로 완료되면, 아래와 같이 연결된 마크로 변경된다.
2. Github에 도커파일과 데이터 업로드하기
github에 로그인한다. 로그인 후 맨 오른쪽 아이콘을 선택하고 Your repositories를 선택한다.
오른쪽 녹색 New 버튼을 선택한다.
Repository 이름을 입력하고, 그 외 부분은 아래와 동일하게 한 후, Create repository 선택
다음과 같은 화면이 나온다. 중간에 보면 creating a new file or uploaading an existing file 을 선택할 수 있다.
uploading an existing file 선택하면 아래와 같은 화면이 나온다. 2개의 파일(Dockerfile, website.tar)을 업로드한다.
이건 예시로 올리는 것이며, 자유롭게 단순한 Dockerfile을 만들어도 된다. 잘 작동만 하면 되니까.
업로드가 완료되면, 다음과 같이 결과가 나온다.
3. 도커허브에서 연동된 github의 dockerfile을 바탕으로 이미지 생성하기
다시 도커허브로 돌아온다. Create Repository를 선택한다.
아래와 같이 Repository 생성 화면이 나온다. 이름은 자유롭게 하고, 그 외에는 건드릴 필요 없다.
- name : 이미지 이름이 되는 리포지토리명은 3~30문자까지의 영어소문자,숫자,언더바,하이픈(-), 점(.)을 쓸 수 있다.
- description : 이미지에 대한 간단한 설명을 기술한다.
- visibility : 퍼블릭으로 하면 누구나 접근 가능. 프라이빗으로 하면 한정된 사람만 접근 가능.
- build setting : 이미지 태그, github에서 가져올 소스(브랜치 정보 등)을 설정한다.
아래 Build Settings에서, Connected 되어 있는 github를 누르면, 자신의 아이디와, 레포지토리를 선택할 수 있다. 위에서 생성한 docker_example 레포지토리를 선택하자.
아래 BUILD RULES 에서 + 를 선택하면, 아래와 같이 내용이 나온다. 특별히 변경할 것 없이 그대로 진행하면 된다.
다 되면, Create & Build를 선택한다. 아래와 같은 화면이 나오며, 오른쪽 중간에 주황색으로 Build in 부분을 선택한다.
현재 빌드 진행상황을 실시간으로 확인할 수 있다. 처음에는 아래와 같이 PENDING이 나오며, 완료될때까지 기다리면 된다. 조금 시간이 걸릴 수 있다.
다 되면 아래와 같이 SUCCESS 결과가 나오며, 진행 로그도 확인할 수 있다.
이제 다시 내 도커허브의 레포지토리에 가면, 만든 이미지가 생성된 것을 확인할 수 있다. 해당 이미지를 push로 다운받을 수 있게 아래 명령어도 친절하게 적혀있다.
마지막으로, 내 도커 서버에서 해당 이미지를 다운받아 실행까지 해보자.
결과
문제없이 잘 완료되었다.
'Docker Basic' 카테고리의 다른 글
[Docker Basic] 22. Private Registry 구축하기 (0) | 2020.06.27 |
---|---|
[Docker Basic] 20. 여러 컨테이너 관리 - docker compose 명령어 (0) | 2020.06.25 |
[Docker Basic] 19. 여러 컨테이너 관리 - docker compose.yml 톺아보기 (1) | 2020.06.25 |
[Docker Basic] 18. 여러 컨테이너 관리 - docker compose 개념 (0) | 2020.06.25 |
[Docker Basic] 17. Dockerfile 상세 명령 (0) | 2020.06.15 |