썸네일 [25] 이미지는 읽기 전용 [이미지는 읽기 전용]도커 이미지의 읽기 전용 특성 이해하기 이미지의 특성읽기 전용(Read-only)한번 빌드된 이미지는 변경 불가코드 변경사항이 자동 반영되지 않음이미지는 빌드 시점의 스냅샷 코드 변경 시 프로세스소스 코드 수정이미지 다시 빌드docker build .새로운 이미지 ID 생성새 이미지로 컨테이너 실행 작동 방식 예시초기 상태# 첫 빌드docker build . # 이미지 ID: abc123docker run abc123  코드 수정 후# 재빌드 필요docker build . # 새 이미지 ID: xyz789docker run xyz789  주요 포인트이미지 불변성이미지는 변경 불가능모든 변경은 새 이미지 생성 필요개발 과정코드 수정 → 이미지 재빌드 → 새 컨테이너 실행매 변경마다..
썸네일 [23] 자체 이미지를 기반으로 컨테이너 실행하기 [ 자체 이미지를 기반으로 컨테이너 실행하기] 도커 이미지 빌드와 컨테이너 실행하기 이전 블로그에서 도커파일을 만들고 빌드 후이미지를 실행해도 로컬호스트에선 보이지 않는다.? 도커파일에서 포트를 노출했음에도.. 새 터미널을 켜고 docker ps 현재 실행중인 프로세스만 표시된다그럼 포트 80에서 수신대기할 수 없는 이유는 무엇일까? 한단계가 빠져있기 때문이다도커파일에 EXPOSE 80 명령어가 있지만, 실제론 이 명령은 문서 목적으로만 추가되었을 뿐? 즉, 아무것도 안한다는것 문서를 추가하는것은 모범적인 사례이고, 분명 추가하여 컨테이너 포트를 노출시켜야 합니다만, 그 외에 추가해야할 것이 있다. 이미지 빌드docker build .. => 현재 디렉토리의 Dockerfile 사용빌드 완료 시 이미지 ..
썸네일 [21, 22] 우리의 목표 : NodeJS 앱 [ 우리의 목표 : NodeJS 앱 ]Dockerfile로 커스텀 도커 이미지 만들기  Dockerfile 기본 구조와 명령어 설명Doickfile 생성이 파일에는 자체 이미지를 빌드할 때 실행하려는 도커에 대한 명령이 포함따라서 자체 이미지에 대한 설정 명령이 포함 FROM 명령어 node라는 이름의 이미지가 존재하며, 이를 찾을 수 있다는것을 의미베이스 이미지 지정예: FROM node이미 만들어진 이미지를 기반으로 새 이미지 생성 WORKDIR 명령어컨테이너 내부의 작업 디렉토리 설정예: WORKDIR /app이후 모든 명령어는 이 디렉토리 기준으로 실행 COPY 명령어로컬 파일을 컨테이너로 복사문법: COPY [로컬경로] [컨테이너경로]예: COPY . /app 또는 COPY . ./COPY . ..
썸네일 [20] 외부(사전 빌드된) 이미지의 사용 & 실행 외부(사전 빌드된) 이미지의 사용 & 실행 이미지 얻는 두 가지 방법기존 이미지 사용 (Docker Hub)직접 이미지 생성 Docker Hub 소개도커의 공식 이미지 저장소공식/커뮤니티 이미지 제공예: Node.js 공식 이미지  기본 이미지 실행하기# 기본 실행docker run node# 대화형 모드로 실행docker run -it node  실행 옵션 이해-it : 대화형 터미널 모드i : interactive (대화형)t : terminal (터미널)컨테이너와 직접 상호작용 가능 컨테이너 특징격리된 환경에서 실행호스트 시스템과 독립적필요한 모든 것이 포함된 패키지 중요 개념이미지 : 실행에 필요한 모든 설정과 코드 포함컨테이너 : 이미지의 실행 인스턴스실행 : docker run으로 이미지로부터..
썸네일 [19] 이미지 & 컨테이너 : 무엇이며, 왜 사용하는가? 이미지 & 컨테이너 : 무엇이며, 왜 사용하는가?  이미지(Image)란? 애플리케이션의 설계도 / 템플릿포함하는 것실행할 코드필요한 도구와 라이브러리환경 설정특징재사용 가능공유 가능변경되지 않는 상태(불변)   컨테이너( Container )란?이미지를 기반으로 실제 실행되는 인스턴스실제 동작하는 애플리케이션특징독립적인 실행 환경필요한 모든 것이 포함된 패키지다른 컨테이너와 충돌 없이 실행   이미지와 컨테이너의 순서를 살펴보자면Dockerfile 작성이미지 빌드 ( docker build ) : 이 빌드한 이미지가 애플리케이션의 청사진 / 템플릿, 이걸 Docker Hub등을 통해 다른 사람과 공유도 가능하고, 팀원들이 같은 이미지를 다운받아 사용 가능하다 ( 생성된 이미지는 불변성을 가지고 있어, ..
썸네일 윈도우11 Home에서 Hyper-V 설치 및 활성화 방법 윈도우11 Home에서 Hyper-V 설치 및 활성화 방법이 글은https://geekorea.com/how-to-enable-hyper-v-windows11-home/#ftoc-heading-1 에서 퍼온 것으로,차후에 윈도우에서 도커를 위해 hyper-v를 설치해야할 경우를 대비해 기록으로 남겨두기 위해서 씁니다.혹시나 좋은 정보의 글이 사라지는 경우가 있어서 ㅠ 혹여나 하는 마음에..자 이제 시작이야 이 가이드는  Windows 11 Home에서  Hyper-V 설치 및 활성화 방법에 대해 설명합니다.Windows 11 환경 뿐만 아니라 Linux 등 다양한 버전의 운영 체제를 사용하는 사용자라면 가상 머신 플랫폼은 없어서는 안될 중요한 기능입니다.Hyper-V는 Windows에서 가상화 기능을 사..
썸네일 [13] Docker 실전 참여해보기 Docker 실전 참여해보기Docker로 Node.js 애플리케이션 실행하기  1. 도커 이미지 생성 과정 이해하기도커파일(Dockerfile) 작성CopyFROM node:14 # Node.js 14 버전을 기본 이미지로 사용WORKDIR /app # 컨테이너 내부의 작업 디렉토리 설정COPY package.json . # package.json 파일만 먼저 복사RUN npm install # 의존성 설치COPY . . # 나머지 모든 파일 복사EXPOSE 3000 # 3000번 포트 노출CMD ["node", "app.mjs"] # 애플리케이션 실행 명령   2. 도커파일 명령..
썸네일 [6, 7, 8] Docker 설정 Docker 설치 가이드 운영체제별 설치 방법도커(Docker)를 설치하는 방법은 사용하는 운영체제에 따라 다릅니다.각 운영체제별 설치 방법을 자세히 알아보겠습니다. 기본 설치 옵션Docker Desktop (권장)현대적이고 사용하기 쉬운 GUI 환경 제공Windows와 macOS에서 사용 가능시스템 요구사항을 충족해야 함Docker Toolbox구형 시스템을 위한 대체 도구Docker Desktop의 요구사항을 충족하지 못하는 경우 사용더 이상 적극적인 지원은 없지만 여전히 사용 가능 운영체제별 설치 방법macOS 설치docker.com에서 Docker Desktop for Mac 다운로드DMG 파일 실행 및 설치설치 확인:Docker Desktop 실행메뉴바의 도커 아이콘 확인기본 설정(Prefere..
썸네일 [5] 가상 머신 VS Docker 컨테이너 가상 머신 VS Docker 컨테이너   Solution : Virtual Machines / Virtual Operating Systems ??가상 머신(Virtual Machine)이란?가상 머신은 '컴퓨터 속의 컴퓨터'라고 생각하면 됩니다. 작동 방식- 호스트 컴퓨터(Windows/macOS/Linux) 위에서 실행 - 완전한 운영체제를 포함한 독립적인 가상 컴퓨터 생성 - 필요한 모든 도구와 라이브러리를 설치 가능장점1. 완벽한 환경 격리 2. 안정적인 동작 보장 3. 팀원간 동일 환경 공유 가능단점1. 높은 리소스 사용량    - 각 VM ( Virtual Machine )마다 완전한 OS ( Operating System ) 필요    - 메모리, CPU, 저장공간 많이 차지 2. 느린 성능 ..
썸네일 [3] Why Container? Why Container?We Want Reliability & Reproducible Environments (신뢰성과 재현 가능한 환경을 원한다) 컨테이너가 필요한 이유 : 소프트웨어 개발의 신뢰성과 재현성소프트웨어 개발에서 컨테이너를 사용하는 이유를 실제 상황을 통해 알아보겠습니다.   개발 환경과 운영 환경의 차이 문제개발자의 흔한 경험 : "내 컴퓨터에서는 잘 되는데..."예시 상황Node.js 14.3 버전으로 새로운 애플리케이션 개발개발자의 로컬 환경: 최신 버전 설치운영 서버: 이전 버전 설치결과: 로컬에서 잘 작동하던 코드가 서버에서 작동 실패해결책도커 컨테이너로 Node.js 버전을 고정개발부터 배포까지 동일한 환경 보장버전 불일치로 인한 문제 예방   팀 개발 환경의 통일성 문제현실적..
썸네일 [2] What is Docker? What is Docker? 도커란?컨테이너를 만들고 관리하는 도구입니다. 쉽게 말해 애플리케이션을 실행하는데 필요한 모든 것을 하나의 패키지로 만들어주는 플랫폼입니다. 컨테이너란?실제 운송용 컨테이너처럼, 소프트웨어 컨테이너는애플리케이션 코드실행 환경(예: NodeJS)필요한 도구들과 설정들을 하나의 패키지로 묶어둔 것입니다. 컨테이너의 장점일관성 : 동일한 컨테이너는 어디서 실행하든 항상 같은 결과를 보장합니다.독립성 : 각 컨테이너는 서로 영향을 주지 않고 독립적으로 실행됩니다.편의성 :- 필요한 모든 것이 이미 포함되어 있어 추가 설치가 불필요- 모든 최신 운영체제에서 쉽게 실행 가능플랫폼 호환성 : - 최신 운영체제에 컨테이너 기술이 기본 내장- Windows, macOS, Linux 등 다양한..