linux는 도커를 설치하면 가상 브리지 네트워크로 연결됨.
도커 컨테이너와 외부 네트워크가 통신할 때는 가상 브리지 docker0와 호스트 os 의 물리 NIC에서 패킷을 전송하는 장치가 필요함. 도커에서는 NAPT란 ip주소와 포트 번호를 변환하는 기능을 사용하여 연결함.
NAT
: Network Address Translation
프라이빗 주소와 글로벌 ip 주소가 1:1로 변환하여 서버간 통신이 성립되게 만드는 변환하는 기술
그러나 1:1로 변환되기 때문에 동시에 여러 클라이언트가 액세스할 수 없음.
NAPT
: Network Address Port Translation
위의 기술에 서로 다른 포트 번호를 할당해주는 기술
동시에 여러 클라이언트가 액세스 할 수 있음. IP mascarade
라고도 불림.
도커는 컨테이너 이미지를 copy on write 방식으로 이미지를 관리
copy on write
: 수정이 가해진 시점에 기존 데이터를 놔두고 수정된 부분만 영역을 확보하고 데이터를 복사하는 방식 > 쓸데없는 낭비를 줄이는 방식
aufs, btrfs, device mapper, zfs, overlayFs 등이 존재함.