개요Docker로 개발할 때 가장 큰 고민 중 하나는 코드 변경사항을 빠르게 확인하는 것입니다. 변경할 때마다 이미지를 다시 빌드하고 컨테이너를 재시작하는 것은 매우 비효율적입니다. 이런 문제를 해결해주는 것이 바로 바인드 마운트(Bind Mount) 입니다. 바인드 마운트란❓바인드 마운트(Bind Mount)는 Docker에서 호스트 파일 시스템의 특정 디렉토리를 컨테이너 내부 디렉토리에 연결(마운트)하는 방법입니다. 이를 통해 호스트와 컨테이너가 데이터를 실시간으로 공유할 수 있습니다. 소스 코드가 컨테이너에 실시간으로 반영됨이미지 재빌드 없이 변경사항 즉시 확인 가능영구적이고 편집 가능한 데이터 관리 가능 바인드 마운트 vs 명명된 볼륨바인드 마운트와 볼륨은 비슷해 보이지만 중요한 차이가 있습니다:..
DevOps
개요 [Docker] 컨테이너의 파일시스템 이해하기: 데이터는 어디에 저장될까❓개요Docker 컨테이너를 사용하다 보면 가끔 당황스러운 상황을 마주하게 됩니다. 열심히 저장했던 데이터가 컨테이너를 재시작한 후 사라져있거나, 로컬에서 찾을 수 없는 경우입니다. 왜 이런pixx.tistory.com 앞선 포스팅에서 살펴본 것처럼, Docker 컨테이너는 격리성이라는 특징 때문에 컨테이너가 삭제되면 내부의 데이터도 함께 사라지는 문제가 있었습니다. 이는 실제 운영 환경에서 심각한 문제가 될 수 있습니다. 이번 포스팅에서는 이 문제를 해결할 수 있는 Docker Volume에 대해 자세히 알아보겠습니다. Docker Volume이란❓Docker Volume은 컨테이너의 데이터를 호스트 시스템에 영구적으로 저장할..
개요Docker 컨테이너를 사용하다 보면 가끔 당황스러운 상황을 마주하게 됩니다. 열심히 저장했던 데이터가 컨테이너를 재시작한 후 사라져있거나, 로컬에서 찾을 수 없는 경우입니다. 왜 이런 현상이 발생하는 걸까요❓ 이번 포스팅에서는 간단한 Node.js 애플리케이션을 통해 Docker 컨테이너의 파일 시스템 특성을 알아보고, 데이터가 사라지는 이유와 그 원리를 자세히 살펴보겠습니다. 특히 컨테이너와 이미지의 관계, 그리고 컨테이너가 왜 격리된 환경으로 동작해야 하는지를 이해할 수 있을 것입니다. 애플리케이션 세팅이번 포스팅에서 사용할 간단한 애플리케이션은 다음과 같이 동작합니다. 웹 페이지에서 제목과 내용을 입력받아 텍스트 파일로 저장하는 Node.js 애플리케이션입니다. 제목은 파일명이 되고, 저장된..
개요 이미지나 컨테이너의 이름(REPOSITORY)나 태그(TAG)를 지정하지 않았을 때 항상 이미지나 컨테이너의 목록을 조회하고, 자동으로 생성된 해당 ID를 수동으로 복사하여 사용했습니다. 잊어버리거나 입력하기 상당히 불편합니다. 도커에는 이를 해결할 수 있는 고유 옵션을 부여할 수 있는 기능이 있습니다. 본 글에서는 Docker에서 컨테이너와 이미지에 이름과 태그를 지정하는 방법과 필요성에 대해서 알아보겠습니다. 컨테이너에 이름 부여하기 : --namedocker run --help 위 명령어를 입력하면 여러 리스트가 출력되는데 아래와 같은 --name 옵션을 확인할 수 있습니다.사용 방법docker run --rm "부여할 이름" "이미지 ID" 이 --name 옵션을 사용하여 이미지를 빌드하면 ..