[사내 도커 스터디] #0 Introduction
Introduction
어쩌다보니 새해벽두부터 사내 스터디를 주관하게 됐다. 주제는 도커인데, 이전부터 도커를 공부하고 싶었지만 짬이 잘 나지 않아 계속 미뤄두던 차였다. 사실 지금은 자바 & 스프링에 더 집중해야 될 때가 아닌가 싶기도 했고. 그런데 FE팀 분들과 이야기를 나누다가 FE/BE/QA 상관없이 다같이 스터디해보는 게 어떻겠냐는 의견이 나왔다. 특정 분야에 속한 기술 혹은 언어가 아닌 개발 전반에 걸쳐 배울 수 있는 게 무엇일까 하다가 도커가 나왔다. 생각해보니 프론트 단도 도커로 말아서 띄우고 할테니 (사실 QA분께는 무엇이 도움될까 잘 모르겠긴 한데..) 다같이 해보면 재밌겠다 싶었다. 계속 우선순위에 밀려있던 도커였기에 이참에 두 달 남짓 빡세게 조지고 끝내기로 했다.
1. 목적
도커 공부를 통해 아래 두 가지를 해내는 것이 목적이긴 한데,,그냥 도커에 대한 이해도 자체를 올리고 싶었다.
- 빠르고 품질 좋은 서비스 배포를 위한 컨테이너 기술에 대해 이해도 향상
- 마이크로서비스 및 서버리스 개발 환경을 실무에 적용(해보면 좋지 않을까하는 바람)
사실상 현대 서버 아키텍쳐는 대부분 쿠버네티스 위에서 돌아간다고 해도 과언이 아니다. 마이크로서비스를 나누는 기준이 쿠버네티스를 쓰냐 그렇지 않냐에 따라 갈린다는 이야기도 있고. MSA가 은총알은 아니라는 이야기가 요즘 곳곳에서 많이 들리긴 하지만, 모르고 무시하는 것과 기술을 잘 이해하고 쓰지 않는 것은 천지차이다. 쿠버네티스는 컨테이너 오케스트레이션 툴이기에 근본적으로 컨테이너 기술에 대한 이해도를 끌어올릴 필요가 있었다. 그 근간은 아무래도 도커만한 것이 없기도 하고.
2. 선정 도서
도커 관련해 추천 도서 목록을 살펴본 결과, <도커, 컨테이너 빌드업!>이 실습 위주로 구성되어 있어 스터디를 진행하기에 가장 좋다고 판단했다. 다만 중급자용이라 도커에 대한 기초 지식이 없으면 어려울 수 있다고 해, 보조 교재로 더 쉬운 난이도인 <15단계로 배우는 도커와 쿠버네티스>를 병행하기로 했다.
3. 진행 방식
1) 기간
매주 1회 2시간 진행
2) 주차별 진도
2주에 한 챕터 끝내기를 목표로 총 8주 진행 예정 (Ch.1, Ch.2는 1주차에 끝내기 목표)
- 1주차: Ch.1 ~ Ch.2
- (클라우드 컴퓨팅 개요 - 이론 위주 & 도커 설치 미리 해오시면 금방 끝남)
- 2주차: Ch.3-1
- (컨테이너 서비스를 위한 도커 활용 - 3.1 컨테이너 서비스 ~ 3.2.2 도커 컨테이너 명령어)
- 3주차: Ch.3-2
- (컨테이너 서비스를 위한 도커 활용 - 3.2.3 도커 볼륨 활용 ~ 3.2.6 도커 kill 명령과 초기화)
- 4주차: Ch.4-1
- (컨테이너 환경 구성을 위한 Dockerfile 구성 - 4.1 Dockerfile~4.3 Dockerfile을 활용한 다양한 이미지 생성)
- 5주차: Ch.4-2
- (컨테이너 환경 구성을 위한 Dockerfile 구성 - 4.4 깃허브를 이용한 Dockerfile 코드 공유~4.5 개별 이미지 저장을 위한 프라이빗 레지스트리 구성)
- 6주차: Ch.5
- (도커 컴포즈 도구를 이용한 다중 컨테이너 애플리케이션 서비스 배포 - 도커 컴포즈)
- 7주차: Ch.6-1
- (AWS 클라우드를 활용한 컨테이너 서비스 배포 - 6.1 AWS 클라우드 ECS ~ 6.2 AWS EC2 + Docker + ECR 구성해보기)
- 8주차: Ch.6-2
- (AWS 클라우드를 활용한 컨테이너 서비스 배포 - 6.3 AWS 클라우드 ECS 구성 워크숍)
3) 수업 방식
- 수업은 내가 혼자 진행하기로 했다.
- 쉬운 결정은 아니었지만, 원래 스터디장이 가장 많이 배우는 자리다. 그 혜택을 톡톡히 누리기 위해서라도 내가 직접 진행하기로 했다.
- 이론은 간단하게 훑고 최대한 실습 위주로 진행할 예정이다.
- 만약 실습 중간에 수업 시간이 끝날 경우, 남은 진도는 과제로 내기로 했다(그 주 주말까지 완료해서 제출).
- 덧붙여 과제를 2회 이상 내지 않으면 탈락!(내가 탈락할지도…ㅎ..)하기로 했는데, 이왕 하는 거 제대로 해보자 하는 뭐 그런..마음에..(이게 잘될 지는 모르겠다..)
- 기대가 된다. 잘 해보자!