🎯 Goals Docker 에서 사용하는 네트워크 모드 4가지를 알아본다. host - container 간 통신과 차이점을 안다. container 간 통신하는 법을 알아본다. Docker Netowrk Mode 4 모드라고 했지만 --network, --net 의 '이름'이기도 하다. bridge (default) 별도의 네트워크 설정이 없는경우 이 값으로 지정된다. docker0 으로 도커 설치시 기본 내장된다. 172.17.0.1 을 Gateway 로 갖고있다. 이 모드로 추가되는 컨테이너는 veth 로 컨테이너 외부와 (보통 bridge와) 연결되고, eth는 내부 Network Interface 라고 보면된다. veth Virtual Network Adapter로 Virtual Ethernet..
Container
🎯 What's target? Sometimes we neeeds share and backup & restore among multiple containers. It's time to use volume. Volume path according to Host OS Host OS path Linux /var/lib/docker (standard) Windows ?? (VM) Mac ~/Libfrary/Containers/com.docker.docker/Data/vms/0/tty (VM) Windows, Mac both use Virtual machine based on linux since docker use default linux mechanism Step by Step using data conta..
도커는 유니온 파일 시스템을 사용하고 호스트 OS와 컨테이너 앱에서 발생하는 데이터를 공유 데이터의 영속성과 지속성을 보장하기 위해 (컨테이너는 삭제시 앱 내에서 발생한 데이터가 사라짐) 데이터와 비즈니스 로직을 분리하기 위한 매커니즘이다. volume 은 어디 생성되나? Linux 에서는 기본적으로 호스트 OS의 `/var/lib/docker/volumes` 에서 관리한다. Windows, Mac 에서는 해당 경로에서 찾을 수 없다. 이는 의도한 것으로 사실 volume 은 호스트 OS에서 직접 읽고 쓰는 작업을 위한 용도가 아니라, 컨테이너에서 쓸 영속 데이터를 관리하는 용도이기 때문이다. 호스트 OS에서 직접 쓸 데이터(ex. source code)는 volume 이 아닌 bind mount 를 쓰..
TL;DR;💡Container Create from image그냥 컨테이너 빨리 실행시키고 싶다면 다음을 기억하라. $ docker run [OPTIONS] [image-name] [Command]# OPTIONS List# -it : 실행하자마자 stdin/out CLI 시작# -p : 포트 바인딩# --name: 생성될 컨테이너 이름# -d : 백그라운드 실행 (생략시 포그라운드 실행)# Command: 실행할 명령어$ docker run -it -p 7379:6379 --name redis-test redis# => 실행하자마자 CLI를 시작하고# => 호스트 7379 포트를 컨테이너 6379 포트로 바인딩 / 포워딩 하고# => 컨테이너 명은 'redis-test' 며# => 'redis' 라는..
Isolated, light weight Linux Process using host kernel 1. 왜 필요한가? 이기종 Device, OS, Windows 기반으로한 Application이 Linux/ MAC OS에서는 돌아가지 않는 경우 ∴ Docker resolve a problem of environment disparity (ex. OS, Programming Language) 어떻게 구성되어있나? Docker 도 클라이언트와 서버로 이뤄져있다. Docker Client CLI , GUI 를 모두 제공한다. Unix Socket 도커는 최소한의 기능을 탑재한 경량화된 리눅스 프로세스라고 했다. Client - Server 간 통신을 Unix 소켓으로 담당한다. Docker Server 기본적..