docker

OverviewMulti Stage build 는 말그대로 여러 스테이지를 가지고 빌드 하는 것을 말한다.stage란 무엇인가?Docker 이미지 빌드의 각 단계라고 보면된다. 다음은 Build stage  와 Running Stage 를 구성한 예다. 최종 이미지는 ./myapp 을 실행하기 위한 최소한의 환경만 세팅되어있다.go compiler 같은 파일은 제외되어있다. Why to Use그렇담 왜 쓰는 것일까?1. 이미지 크기 경량화최종 생성 이미지는 마지막 stage 의 Layer 에서만 만들어지기 때문에 불필요한 설치파일 등을 제외할 수 있다. 2. 더 빠른 빌드통상 builder stage 가 running stage 보다 더 오래걸린다.필요한 의존성을 설치하고, 실행파일을 빌드하기 때문이다...
개요Docker credential 이 내부적으로 어떻게 이뤄지는지 안다.docker 클라이언트 로그인을 한다.$ docker login -u # password 수동 입력Login Succeed!로그인이 완료되면~/.docker/config.json 파일을 열어보자Default{ "auths": { "https://index.docker.io/v1/": { "auth": "" } }}credsStoreDocker Desktop 설치 및 로그인을 하는 경우 설정된다.{ "auths": { "https://index.docker.io/v1/": { }, "credsStore": "wincred" }}cred..
배경 Windows 환경에서 k8s cluster 를 Virtual Box 로 띄우려고 하는데 실패한다. 문제 상황 minikube & virtual box 를 설치한 상태에서 minikube 로 클러스터를 virtualbox 로 띄운다. $ minikube start --drier=virtualBox 원인 => 둘중 하나만 써야한다. Windows 에서 Hyper-V 사용중이면 Virtual box 구성 불가. Hyper-V 와 Virtual Box 둘다 가상화 도구다. Hyper V 는 HyperVisor version 1 VirtualBox 는 HyperVisor version 2 을 지원한다. If you install VirtualBox on a Windows machine, Make sure ..
🎯 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..
실습 내용 Host OS 에서 nginx 를 설치하고 apache docker container 3개를 띄워 로드벨런싱해본다. 무엇을 배우나? Container Load balancing Container Network 설정 Q & A Q1. Nginx on Container vs Host OS? A1. 둘다 가능함. 단 Container 로 띄울거면 access-log 를 어디에 저장할지 잘 생각해야함. 공통으로 사용하는 volume 추천. Q2. How to communicate among contaienrs on network? A2. Many ways. Use bridge network (docker0) set custom docker bridge network with `docker networ..
도커는 유니온 파일 시스템을 사용하고 호스트 OS와 컨테이너 앱에서 발생하는 데이터를 공유 데이터의 영속성과 지속성을 보장하기 위해 (컨테이너는 삭제시 앱 내에서 발생한 데이터가 사라짐) 데이터와 비즈니스 로직을 분리하기 위한 매커니즘이다. volume 은 어디 생성되나? Linux 에서는 기본적으로 호스트 OS의 `/var/lib/docker/volumes` 에서 관리한다. Windows, Mac 에서는 해당 경로에서 찾을 수 없다. 이는 의도한 것으로 사실 volume 은 호스트 OS에서 직접 읽고 쓰는 작업을 위한 용도가 아니라, 컨테이너에서 쓸 영속 데이터를 관리하는 용도이기 때문이다. 호스트 OS에서 직접 쓸 데이터(ex. source code)는 volume 이 아닌 bind mount 를 쓰..
M_Falcon
'docker' 태그의 글 목록