docker(3)
-
Docker를 이용해 프로젝트 컨테이너화 하기 - docker-compose.yml 작성
현재 진행 중인 프로젝트는 로컬에서 컨테이너화 없이 개발하고 있었습니다.이번에 개발환경 컨테이너화 했는데, 이 과정과 컨테이너화를 하면서 얻은 이점은 어떤 게 있는지에 대해서 소개하겠습니다.프로젝트 구조프로젝트는 전형적인 3-tier 아키텍쳐로 구성되어 있습니다.프론트엔드(Presentation TIer): React18.3.1 + TypeScript (CRA 기반)백엔드(Application Tier): Java 17 + Spring Boot 3.3.4 (Gradle)데이터베이스(Data Tier): MySQL, Redis기존 개발 환경 및 컨테이너화 이유1. Docker 학습 목적대략적으로 도커가 어떤 기술이다 라는건 알고 있었지만, 현재 재직 중인 회사에서는 도커를 사용하고 있지 않습니다.현재 도커..
2026.01.20 -
도커 이미지와 컨테이너
모든 내용은 공부 후 정리해서 적어둔 내용입니다. 틀린 내용이 있다면 댓글로 말씀해 주세요.(도커는 이미 설치되어 있다는 가정하에 글을 작성했습니다.)이미지란?도커로 컨테이너를 다루기위해서 이미지에 대해서 알아야 합니다.이 전에 컨테이너에 대한 글을 작성하면서 컨테이너는 프로그램과 그 실행에 필요한 모든 환경이 있다고 했습니다.이 것을 패키징 한 게 이미지입니다. 쉽게 말해, 이미지 → 빵 틀 / 컨테이너 → 틀로 찍은 빵이라고 생각하시면 됩니다.그럼 당연히 컨테이너를 만들기 위해서는 이미지가 있어야 한다는 말도 됩니다.이미지정적인 실행 패키지, 읽기 전용(불변)컨테이너이미지를 기반으로 실제 실행되는 인스턴스(읽기/쓰기 가능) 이미지 검색하고 내려받기이미지는 레지스트리(registry)라고 하는 저장소..
2025.07.08 -
볼륨과 바인드 마운트
볼륨과 바인드 마운트란?볼륨(Volume): Docker가 관리하는 저장 공간을 말합니다.바인드 마운트(Bind Mount): 호스트의 특정 폴더를 컨테이너에 연결하여, 파일을 양쪽에서 실시간으로 공유하는 것을 말합니다. 볼륨과 바인드 마운트는 왜 필요한가문제 1. 컨테이너를 삭제하면 데이터가 사라진다.컨테이너는 격리된 파일 시스템을 가지고 있기 때문에 컨테이너 내부에 있는 파일은 컨테이너 안에만 존재합니다.따라서, 컨테이너가 삭제되면 우리가 컨테이너에 저장해 둔 데이터도 삭제됩니다. 예를 들어서 mysql 컨테이너를 띄운 후 여러 작업을 통해 DB에 데이터가 생성되었는데포트를 변경해야해서 컨테이너를 삭제하고 다시 띄우면 여태까지 진행한 작업에 대한 데이터가 다 날아갑니다. 컨테이너를 삭제하지 않으면 되..
2025.07.08