본문 바로가기
교육, 대외활동, 봉사/엘리스 AI 트랙 2기

[엘리스] Docker, 팀 스터디, 팀 프로젝트 (13주차, 방학)

by g0n1 2021. 9. 26.
728x90

이번 포스팅 내용은 9월 13~17일, 20~24일의 내용입니다.

(9/16) Docker 강의

짝짝짝~ 드디어 제가 듣고 싶었던 Docker 강의를 수강하였습니다. 제가 Docker 강의를 듣고 싶었던 이유 중 가장 큰 이유는, 옛날에 모두를 위한 딥러닝 시즌2 Pytorch 강의를 듣고 싶었는데 Docker를 어떻게 하는지 모르겠고 귀찮아서 때려쳤었기 때문입니다.... 그날 맺힌 한 때문에 Docker강의를 기다리고 있었습니다.

Docker란?

docker는 OS와 사용할 앱을 하나의 이미지로 묶어 어떤 환경에서도 돌아갈 수 있도록 제공해줍니다. 이 이미지가 실행된 상태에 있을 때 이를 컨테이너라고 부릅니다. 컨테이너들은 각각 격리되어있고 캡슐화되어있기 때문에 서로에게 영향을 주지 않고 독립적으로 실행될 수 있습니다.

Docker란?

특히 요즘처럼 serverless기술이 많이 쓰이는 곳에서 요긴하게 쓰이고 있다고 합니다. 특히 쿠버네티스 같은 최신 기술들과 쓰이면서 트래픽을 동적으로 수월하게 관리할 수 있다고 합니다.
(자바, 아파치 톰캣, WAS에 대한 이해가 있었다면 더 와닿았을 텐데 제가 모르는 것들이라 조금 애매했습니다..ㅎㅎ)

Docker 커맨드

강의에 나와서 주로 사용했던 커맨드와 파라미터(옵션)들을 알아보겠습니다.

  • docker run: image를 실행시킵니다.
    • -d: image를 background에서 실행시킵니다.
    • -p <호스트 포트>:<컨테이너 포트> : 호스트포트로 접속하면 컨테이너 포트로 연결해줍니다.
  • docker ps : 현재 실행중인 컨테이너를 보여줍니다.
  • docker container ls : docker ps와 동일한 기능
  • docker images : 실행시킬 수 있는 이미지들을 알려줍니다.
  • docker rmi <이미지 이름>: 이미지를 삭제합니다.

이 외에도 다양한 커맨드가 있지만, 우선 이정도만 알아도 기본적인 사용은 할 수 있을 것 같습니다.

Dockerfile 작성하기(image 파일 만들기)

FROM 내가 사용할 OS
COPY <image에 복사할 파일> <복사한 파일이 저장되는 위치>
WORKDIR <아래 명령어들이 실행 될 위치> 
RUN <실행시킬 명령어>
CMD <실행시킬 명령어>
  • FROM 절에는 내가 사용할 os image가 들어갑니다. https://hub.docker.com/에서 내가 사용할 언어를 검색하고 keyword를 찾아 넣어주면 됩니다.
  • COPY 절에는 내가 image에 어떤 파일들을 이미지에 넣어서 배포할 것인지 고려할 수 있습니다.(.dockerignore을 통해 ignore할 파일도 선택 가능)
  • WORKDIR 절에는  RUN, CMD, ENTRYPOINT, COPY and ADD가 실행될 위치를 지정할 수 있습니다.
  • RUN 절은 하나의 Dockerfile에 여러개가 들어갈 수 있습니다. pip install이나 chmod등의 명령어를 쓸 수 있습니다.
  • CMD 절은 하나의 Dockerfile에 하나만 들어갑니다. 이미지가 실행될 때 최종적으로 실행되는 명령어를 작성하는 것 같습니다. The main purpose of a CMD is to provide defaults for an executing container라고 써져있네요.

https://academy.elice.io/courses/15433/info

 

Docker | 엘리스

Docker란 무엇인지 알아보고, 직접 사용해보며 Devops에 한 발짝 다가갑니다.

academy.elice.io

2. 2차 스터디 (여기서부터 400자)

이번에는 1차 스터디가 끝나고 2차 스터디가 다시 시작되었습니다. 대부분 1차스터디를 유지하시면서, 어떤 분들은 추가로 스터디를 들어가시거나 새로 만드시더라구요. 저도 개인적으로는 코딩테스트 관련 스터디를 하나 더 할까 싶었는데 아무래도 개인 스케줄이 너무 힘들 것 같아서 포기했습니다. 

첫 회의

이번에 새로 들어오신 분이 계셔서 서로 간단한 소개와 관심 분야, 관심 직무를 공유하고 이런저런 이야기를 나눴습니다. 그 뒤에는 각자 개인 프로젝트를 하고 발표를 하는 시간을 가질지, 넷이 하나의 프로젝트를 진행할 지 이야기해보았습니다. 결과적으로는 팀 프로젝트를 하기로 하긴 했는데 어떤 서비스를 만들지는 아직 정하지 못했습니다.

두번째 회의

큰 주제는 정해졌지만, 자세히 어떤 대상에게 어떤 서비스를 제공할 지는 정해지지 않았습니다... 다들 주제를 하나씩 준비해오긴 했지만 뭔가 서로 전달이 안 되거나 모자란 부분이 있어서 결국 다시 만나기로,,,,

저도 너무 재미위주로만 생각하다보니 의미있는 프로젝트를 생각하진 못했습니다. 

3. 팀 프로젝트

주제: OTT 서비스 데이터 분석

이라는 주제입니다. OTT냐 배달이냐 크게 두개의 주제가 있었고 저는 OTT를 선택했습니다. 배달보다는 컨텐츠에 관심이 더 가서 선택했습니다. 사실 컨텐츠를 직접 업로드하는 공간이나 그런 게 있는 건 아니지만, 그래도 배달보다는 재밌을 거라고 생각했습니다.

저는 프론트엔드에도 관심이 있긴 하지만, 백엔드 + 데이터 분석관련 직무를 희망한다고 작성했습니다. 굳이 프론트엔드로 돌아가서 프로젝트 진행에 폐를 끼치고 싶진 않아서... ㅎㅎ

3주간의 일정

내일부터 본격적인 프로젝트 주간이 시작되는데요, 실제 개발 기간은 2주고 첫주는 기획, 스토리보드 & 시나리오 작성이네요. 1주동안 힘겨운 아이디어 쥐어짜내기가 되겠군요...

다들 화이팅!!!

728x90

댓글