k8s와 Docker는 함께 컨테이너 어플리케이션을 빌드하고 동작시킨다.Docker는 컨테이너, k8s는 컨테이너 운영에 도움을 주는 오케스트레이션 시스템.API 서버를 통해서 k8s와 통신하는 것컨테이너 기반의 어플리케이션을 효율적으로 운영할 수 있도록 도와주는 오케
도커 컨테이너끼리의 통신을 위해서 Docker 네트워크가 필요하다도커 네트워크의 Default 값Docker deamon 생성 시에 docker0라는 bridge가 생성됨각각의 컨테이너들은 생성 시에 고유한 network namespace 영역을 가짐docker0 br
도커 레이어 아키텍쳐  docker build -t app ./ 명령어를 입력하면 dockerfile이라는 명세파일을 기반으로 빌드가 진행됨 운영체제 레이어 apt 패키지 설치 레이어 파이썬 페키치 설치 레이어 소스코드 레이어 엔트리포인트 레이어 레이어 구조의 장
$ docker logs container$ docker logs —tail 10 container$ docker logs -f container$ docker logs -f -t containerlog driver = json-file 인 경우에만 해당$ cat /v
nginx - 우분투 기반으로 이루어 졌다고 가정web app - nginx 기반으로 이루어 졌다고 가정layer A,B,C - 새로운 변경사항이 위에 쌓이는 레이어 구조nginx는 우분투 기반으로 구성되었기 때문에 layer C 위에 nginx 레이어가 쌓임web-a
ENV 키워드를 사용하면 이미지 빌드, 컨테이너 런타임에 환경변수를 선언하고 사용할 수 있다.Build Argument 전달ARG 키워드를 사용하면 변수를 선언하고 사용할 수 있다.도커파일에 ARG 키워드를 사용해 미리 변수 선언 방법build 할 때 —build-ar
docker save -o OUTPUT-FILE IMAGEdocker save -o ubuntu_focal.tar ubuntu:focaldocker load -i INPUT-FILEdocker load -i ubuntu_focal.tardocker tag IMAGE
단일 서버에서 여러 컨테이너를 프로젝트 단위로 묶어서 관리docker-compose.yml YAML 파일을 통해 명시적 관리프로젝트 단위로 도커 네트워크와 볼륨 관리프로젝트 내 서비스 간 의존성 정의 가능프로젝트 내 서비스 디스커버리 자동화손 쉬운 컨테이너 수평 확장도
RUN 지시어 숫자만큼 레이어가 늘어나게 됨으로 RUN 명령어를 줄인다.RUN \\ apk add --no-cache bash curl git && \\ git clone https://github.com/course-hero/slacktee /slackt