부트캠프 46일차 후기
어제는 감기 기운으로 인해서 중간에 조퇴했다. 팀원 분들에게 양해를 구해서 휴식을 취했기 때문에, 배운 것도 없다. 따라서 어제의 후기는 없다.
오늘 CodeKata는 1문제를 풀었다. 생각보다 시간이 걸리게 되는 구현 문제였기 때문에 예상 외로 전전긍긍하게 되었다. 그래도 문제를 보고 Stack을 바로 떠올리고 활용한 점은 칭찬 받아 마땅할지도 모르겠다.
오늘은 Docker에 대해 배우게 되었다. Docker는 CI/CD를 위해 사용하는 컨테이너 기술이다.
CI/CD는 Continuous Integration(지속적인 통합) / Continuous Delivery(지속적인 서비스 제공) / Continuous Deployment(지속적인 배포)를 의미한다. 달리 말하자면, 안정적인 코드를 짧은 주기로 빠르게 배포하는 방법을 의미한다.
Docker는 여기에서 서버를 표준화하고 코드를 신속하게 구축하고 테스트 및 배포를 할 수 있다.
Docker는 Image와 container란 용어를 사용한다. Image는 Container 런타임에 필요한 바이너리, 라이브러리 및 설정 값을 포함한 것이다. Container는 이 Image를 바탕으로 실행한 것이다. 즉, 프로세스로 보아도 무방하다. container는 실행 중일 수도 있고, 멈출 수도 있고, 아예 작동을 완전히 멈출 수도 있다.
일단 나는 빌드한 파일을 image, 이 파일을 실행 프로그램을 Container로 생각하기로 했다. 이러한 비유는 틀릴 수도 있지만, 이해를 쉽게 하기 위해서 임시적으로나마 이러한 접근법을 택하기로 한다.
\이어서 image와 container와 관련된 명령어들을 훑어보았다. container를 만드는 create, 실행하는 start / attach, 이 3개를 순차적으로 실행하는 run이라든가, 필요없는 image나 container를 삭제하는 prune, image의 구조를 확인하는 inspect 등등, 거기다 Image가 계층 구조로 구성되어있는데, 이러한 계층 구조를 확인할 수 있는 history도 있다. 그 외엔 필요할 때 찾아보기로 하자.
오늘은 아직 감기기운이 약간 남아 있어서 쉬엄쉬엄 했기에 배운 것은 별로 없다. 내일부턴 진도를 팍팍 나가자.