Docker Port 사용법 완벽 가이드! -p·-P 옵션과 호스트·컨테이너 포트 매핑 이해하기

Docker Port 사용법

Docker 컨테이너에서 Nginx, Apache, Spring Boot, Node.js와 같은 웹 애플리케이션을 실행했는데 브라우저에서 접속되지 않는 경우가 있습니다. 컨테이너 내부에서는 서비스가 정상적으로 실행되고 있지만, 컨테이너의 포트가 Docker 호스트에 공개되지 않았기 때문일 수 있습니다. Docker 컨테이너는 기본적으로 독립된 네트워크 공간을 사용합니다. 따라서 외부 사용자가 컨테이너 내부 서비스에 접근하려면 호스트 포트와 컨테이너 포트를 연결하는 포트 매핑이 필요합니다. 이번 글에서는 … 더 읽기

가상 머신(Virtual Machine, VM)이란 무엇인가? 실제 컴퓨터처럼 사용하는 가상 컴퓨터 쉽게 이해하기

가상 머신(Virtual Machine, VM)이란 무엇인가? 실제 컴퓨터처럼 사용하는 가상 컴퓨터 쉽게 이해하기 클라우드 서버나 서버 가상화를 공부하다 보면 ‘가상 머신(Virtual Machine, VM)’이라는 용어를 자주 접하게 됩니다. 많은 사람들이 가상 머신을 단순한 프로그램이라고 생각하지만, 실제로는 하나의 독립적인 컴퓨터처럼 작동하는 매우 중요한 기술입니다. 오늘날 클라우드 서비스, 기업 데이터센터, 개발 환경, 테스트 서버 등 다양한 분야에서 가상 머신이 … 더 읽기

Docker Inspect 사용법 총정리! 컨테이너·이미지·네트워크 상세 정보와 format 활용 방법

Docker 컨테이너를 운영하다 보면 컨테이너의 IP 주소, 환경 변수, 볼륨 연결 상태, 포트 매핑, 재시작 정책 등을 자세히 확인해야 하는 경우가 많습니다. docker ps 명령은 컨테이너의 기본 상태를 빠르게 보여주지만, 세부 설정까지 모두 확인할 수는 없습니다. 이때 사용하는 명령어가 바로 docker inspect입니다. Docker Inspect는 Docker가 관리하는 컨테이너, 이미지, 네트워크, 볼륨 등의 내부 정보를 JSON 형식으로 … 더 읽기

Docker 환경 변수(Environment Variables) 완벽 가이드! ENV·-e·.env 파일 사용법 총정리

Docker 컨테이너를 실행할 때 데이터베이스 주소, 포트 번호, 애플리케이션 실행 모드, API 주소처럼 환경마다 달라지는 설정이 필요합니다. 이러한 값을 Docker 이미지 안에 직접 작성하면 개발 서버와 운영 서버마다 이미지를 새로 만들어야 하며, 비밀번호나 인증 정보가 이미지에 포함될 위험도 있습니다. 이 문제를 해결하기 위해 Docker에서는 환경 변수(Environment Variable)를 사용합니다. 이번 글에서는 Docker 환경 변수의 개념부터 Dockerfile의 … 더 읽기

Docker Exec 사용법 총정리! 실행 중인 컨테이너 접속과 Bash·Shell 활용 방법

Docker 컨테이너를 운영하다 보면 내부 파일을 확인하거나 설정을 수정하고, 실행 중인 프로세스를 점검해야 하는 경우가 자주 있습니다. 이럴 때 사용하는 명령어가 바로 docker exec입니다. docker exec를 사용하면 실행 중인 컨테이너 내부에서 Bash나 Shell을 실행하거나 원하는 명령어를 직접 수행할 수 있습니다. 이번 글에서는 Docker Exec의 개념부터 Bash 접속, 파일 확인, 프로세스 조회, 환경 변수 확인, 실무 … 더 읽기

Docker Logs 사용법 총정리! 컨테이너 로그 확인·실시간 추적·최근 로그 조회 방법

Docker 컨테이너를 운영하다 보면 가장 먼저 확인하는 것이 바로 로그(Log) 입니다. 웹 서비스가 실행되지 않거나, 애플리케이션이 갑자기 종료되거나, 데이터베이스 연결 오류가 발생했을 때 대부분의 원인은 로그를 통해 확인할 수 있습니다. Docker는 컨테이너의 표준 출력(Standard Output)과 표준 오류(Standard Error)를 자동으로 수집하며, docker logs 명령을 이용해 손쉽게 확인할 수 있습니다. 이번 글에서는 Docker Logs의 개념부터 로그 조회, … 더 읽기

Docker Network란? Bridge·Host·None·Overlay 네트워크와 컨테이너 통신 완벽 이해

Docker 컨테이너는 기본적으로 독립된 실행 환경을 가집니다. 하지만 실제 서비스를 구성하려면 웹 서버, 애플리케이션 서버, 데이터베이스 등 여러 컨테이너가 서로 통신해야 합니다. 예를 들어 쇼핑몰 서비스를 운영한다면 Nginx 컨테이너는 애플리케이션 컨테이너에 요청을 전달해야 하고, 애플리케이션 컨테이너는 MySQL과 Redis 컨테이너에 접근해야 합니다. 이러한 컨테이너 간 통신을 관리하는 기능이 바로 Docker Network입니다. Docker Engine은 bridge, host, none, … 더 읽기

Docker Volume이란? 데이터 영구 저장과 Bind Mount·Named Volume 차이 완벽 이해

Docker를 처음 사용할 때 가장 많이 겪는 문제 중 하나는 컨테이너를 삭제하면 데이터도 함께 사라진다는 점입니다. 예를 들어 MySQL 컨테이너에 중요한 데이터를 저장했는데 컨테이너를 삭제하자 데이터베이스까지 모두 삭제되는 경우가 있습니다. 이 문제를 해결하기 위해 Docker에서는 Volume 기능을 제공합니다. 이번 글에서는 Docker Volume의 개념부터 Bind Mount와 Named Volume의 차이, 데이터 영구 저장 방법, 실무 활용 예제까지 … 더 읽기

Docker Compose란? 여러 컨테이너를 한 번에 실행하는 방법과 docker-compose.yml 작성법

실제 서비스를 운영하다 보면 하나의 컨테이너만 사용하는 경우는 거의 없습니다. 예를 들어 웹 서비스 하나를 운영한다고 해도 다음과 같이 여러 개의 컨테이너가 필요합니다. 이들을 하나씩 실행하면 매우 번거롭습니다. Docker Compose는 이러한 문제를 해결하기 위해 등장했습니다. 이번 글에서는 Docker Compose의 개념부터 docker-compose.yml 작성법, 여러 컨테이너를 동시에 실행하는 방법, 실무에서 가장 많이 사용하는 명령어까지 자세히 알아보겠습니다. Docker … 더 읽기

Dockerfile이란? FROM·RUN·COPY·CMD 명령어와 이미지 생성 실습 완벽 가이드

Docker를 사용하는 가장 큰 이유는 동일한 실행 환경을 언제 어디서나 재현할 수 있기 때문입니다. 이러한 환경을 코드로 정의하는 파일이 바로 Dockerfile입니다. Dockerfile을 작성하면 애플리케이션 실행에 필요한 운영체제, 라이브러리, 프로그램, 환경 변수 등을 하나의 이미지로 자동 생성할 수 있습니다. 이번 글에서는 Dockerfile의 개념부터 주요 명령어인 FROM, RUN, COPY, WORKDIR, CMD, ENTRYPOINT의 역할과 이미지 생성 실습까지 자세히 … 더 읽기