개요도커(Docker)는 컨테이너화된 애플리케이션을 위한 다양한 네트워크 모드를 제공합니다. 각 네트워크 모드는 서로 다른 사용 사례와 요구사항을 충족시키기 위해 설계되었습니다. docker network ls 위와 같이 ls 명령어로 현재 네트워크 목록을 확인하면 아래와 같이 3가지의 네트워크 모드가 존재하는 것을 알 수 있습니다. bridge, host, none 이외에도 추가적으로 Ipvlan,Macvlan도 존재하는 데 본 글에서는 이 도커의 주요 네트워크 모드들을 정리하고자 합니다. Bridge 네트워크 모드란❓Bridge 네트워크는 도커의 기본 네트워크 모드입니다. 도커의 브릿지 네트워크 모드는 컨테이너들이 서로 통신할 수 있게 해주는 가상의 네트워크 브릿지를 생성합니다. 왼쪽 그림에서 볼 ..
DevOps
개요Docker를 사용하다 보면 여러 컨테이너 간의 통신이 필요한 상황이 발생합니다. 도커는 이런 상황에서 컨테이너 간 안전하고 효율적인 통신이 가능하게 하는 network기능을 제공합니다. 본 글에서는 Docker Network에 대해서 정리하고자 합니다. Docker Network란❓ Docker Network는 컨테이너 간의 통신을 가능하게 하는 가상의 네트워크 인프라입니다. 여러 컨테이너가 서로 통신해야 하는 상황에 필수적인 요소입니다.Docker Network가 필요한 이유 컨테이너 간 안전한 통신 환경 구축마이크로서비스 아키텍처(MSA) 구현애플리케이션 컴포넌트 간의 격리IP 주소 대신 컨테이너 이름으로 통신 가능Docker Network 사용 방법1. 네트워크 생성 볼륨과 달리 Docker는..
개요Docker를 사용하다 보면 컨테이너 내부에서 로컬 머신의 애플리케이션이나 데이터베이스에 접근해야 할 때가 있습니다.이때 사용할 수 있는 기능이 바로 host.docker.internal 입니다. 본 글에서는 ~ 할 수 있는 "host.docker.internal"에 대해서 정리하고자 합니다. host.docker.internal이란❓컨테이너 내부에서 호스트 머신(로컬 컴퓨터)의 네트워크에 접근할 수 있도록 제공되는 특별한 도메인입니다. 즉, 컨테이너가 실행되는 호스트 머신의 IP를 자동으로 매핑해 주는 역할을 합니다. 기본적으로 localhost는 컨테이너 내부를 가리키기 때문에 "host.docker.internal"을 사용해야 호스트 머신의 서비스(DB 등) 에 접근할 수 있습니다. 주로 개발 ..
개요도커 컨테이너를 구성할 때 유연성을 제공하는 두 가지 핵심 기능인 build-time 인수와 runtime 환경변수를 지원합니다. 이번 글에서는 빌드타임 인수(ARG)와 런타임 환경변수(ENV)에 대해 자세히 알아보겠습니다. 빌드타임 인수(ARG)ARG는 Dockerfile에서 ARG 명령어를 사용하여 선언하며, 도커 이미지를 빌드하는 동안에만 사용할 수 있는 변수입니다. 컨테이너가 실행될 때는 ARG 값에 접근할 수 없습니다.빌드 시점에만 사용되며, 컨테이너 실행 시에는 사용되지 않습니다.기본값을 설정하거나, docker build 명령에서 --build-arg 옵션을 통해 값을 동적으로 설정할 수 있습니다.이미지 히스토리에 값이 저장되므로 민감한 정보는 피해야 합니다.빌드 시점 환경변수 사용하기F..