서버 인프라에서 컨테이너는 아주 중요해 졌고 아마 앞으로도 계속 그럴 것이라고 생각합니다. 컨테이너가 가져다 준 불변성과 재현성은 단점보다 장점이 훨씬 많다고 생각합니다. 이 글을 쓰신 분이 같은
서버 인프라에서 컨테이너는 아주 중요해 졌고 아마 앞으로도 계속 그럴 것이라고 생각합니다. 컨테이너가 가져다 준 불변성과 재현성은 단점보다 장점이 훨씬 많다고 생각합니다. 이 글을 쓰신 분이 같은 팀원이라서 그동안 컨테이너 빌드와 관련해서 고민하던 것도 알고 있고 이 글을 정리한 내용도 사내에서 발표로 들었기 때문에 재밌었습니다. 글 앞에는 컨테이너를 이해하기 위해서 pivot_root로 프로세스를 격리하고 OverlayFS로 파일을 복사에서 컨테이너를 어떻게 만드는지에 대한 설명을 합니다. 컨테이너 시대의 시작은 Docker였지만 이후 커뮤니티 기반의 표준화가 이루어지고 CRI, OCI 등 다양한 표준이 나오지만 묘하게 헷갈리기도 하고 저도 다 외우고 있지믄 못하는데 이 글을 통해서 더 이해할 수 있게 되었습니다. 사실 글의 마지막이 원래의 목표이긴 한데 이렇게 이해한 컨테이너를 빌드할 때 현재 Docker 뿐 아니라 jib, Kaniko, Docker BuildKit 등이 있습니다. 저희도 다른 빌드 도구를 적용하려고 여러 테스트를 하곤 했지만 여전히 개발자에게 익숙한 것은 Dockerfile입니다. 이 Dockerfile에서 새로운 기능이 들어가기 때문에 Dockerfile에 대한 표준화와 호환성에 대해서도 최근 궁금한 부분인데 이 글의 결론에서도 각 도구를 비교하며 DOckerfile은 표준이 아직 없기 때문에 Dockerfile을 사용한다면 Docker 도구와 의존성을 끊고 빌드하긴 어렵다고 설명하고 있습니다.