전체 글
도커 네트워크(Docker Network)
도커 네트워크(Docker Network)는 호스트 OS 위에서 실행되는 컨테이너들이 서로 통신하거나, 외부 네트워크와 통신할 수 있도록 제공되는 소프트웨어 기반의 가상 네트워크 환경이다. 컨테이너들은 물리 서버가 아니기 때문에 물리 네트워크 카드, 스위치를 가질 수 없다.도커는 이를 해결하기 위해 리눅스 커널의 네트워크 기능을 조합하여 가상 네트워크를 구성한다. 도커 네트워크의 주요 구성 요소는 다음과 같다.브릿지(bridge): 가상 스위치브릿지 네트워크(bridge network) 브릿지 드라이버로 만든 가상 네트워크 단위가상 인터페이스(veth): 컨테이너를 브릿지에 연결하는 가상 랜 케이블NAT / 포트 포워딩: 도커 네트워크(컨테이너)와 외부 네트워크가 통신하기 위한 변환 메커니즘브릿지(Bri..
도커 볼륨 & 바인드 마운트(Docker Volume & Bind Mount)
도커 컨테이너는 기본적으로 휘발성 구조를 가진다. 즉, 컨테이너가 삭제되면 내부 데이터도 함께 사라진다.하지만 컨테이너 실행 후 생성되는 데이터 중 영속성을 유지해야하는 데이터가 존재할 수도 있다.이러한 데이터를 영속적으로 저장하기 위해 도커는 볼륨과 바인드 마운트라는 기능을 제공한다. 두 방식 모두 데이터를 호스트 머신에 저장한다.하지만 관리 주체, 경로 지정 방식, 운영 목적에서 차이를 보인다.도커 볼륨(Docker Volume)도커 볼륨은 컨테이너 데이터를 안전하게 보관하기 위한 컨테이너 외부의 저장 공간이다.볼륨에 컨테이너 데이터가 실제로 저장되는 원리도커 볼륨은 도커 엔진이 직접 관리하며, 호스트 머신의 다음 경로에 저장된다./var/lib/docker/volumes//_data/컨테이너 내부의..
도커 이미지 빌드(Docker Image Build)
도커 이미지를 생성하는 방법에는 크게 두 가지가 있다.하나는 실행 중인 컨테이너의 상태를 그대로 이미지로 저장하는 커밋 방식이다.다른 하나는 도커파일(Dockerfile)이라는 명세서를 바탕으로 이미지를 생성하는 빌드 방식이다.이미지 커밋(Image Commit)개념기존 이미지를 통해 컨테이너를 실행하면, 이미지의 맨 위에 쓰기 가능한 컨테이너 레이어가 추가된다.컨테이너 레이어에는 컨테이너 실행 중 발생한 파일의 변경사항들이 저장된다.이 상태에서 docker commit 명령어를 사용하면, 컨테이너 레이어를 포함하는 새로운 이미지가 생성된다.명령어docker commit -m "[메시지]" [실행 중인 컨테이너 이름 또는 ID] [생성할 이미지 이름]docker commit -m "add config c..