[Docker] 도커 커밋과 빌드
·
Docker · Git
커밋 (Commit)실행 중인 컨테이너를 그대로 이미지로 만드는 방식. 직접 새로운 이미지를 만든다. 기존 이미지 + 레이어 1개로 새로운 이미지가 만들어지며, 여러 레이어를 쌓으려면 커밋을 여러 번 반복한다. 빌드 (Build)도커 데몬이 도커 파일 (Docker file)이라는 명세서를 통해 이미지를 만든다. 여러 레이어를 쌓을 때, 도커 파일에 적어 놓으면 도커 데몬이 지시어에 따라 이미지를 생성한다. IaC (Infrastructure as Code)코드형 인프라. 코드로 인프라를 관리한다. IaC와 도커 빌드도커 빌드가 IaC이다. 도커 파일로 인프라 관리가 가능하다. 커밋에서 사용자가 직접 수행했던 것을 도커 파일의 지시어로 기록한다. 이미지를 빌드할 때 도커 데몬이 도커 파일로 이미지를 만든..
[Docker] 도커 이미지 레이어 확인
·
Docker · Git
도커에서의 레이어도커의 이미지는 레이어로 이루어져 있다. 이미지에 어떤 변경 사항이 일어났다면, 그 변경 사항의 레이어만 다운로드하여 효율적으로 사용할 수 있다. 이미지 레이어는 SHA-256 알고리즘으로 암호화되어 있으며, 다른 레이어와 구분된다. 즉 레이어마다 각각의 ID를 가지고 있다. 레이어링 하는 이유중복 데이터 최소화빌드 속도 증가저장소를 효율적으로 사용 컨테이너 레이어와 이미지 레이어레이어는 두 가지 종류가 있다. 컨테이너 레이어각 컨테이너마다 무조건 하나씩 가지는 레이어이다. 읽기와 쓰기가 가능하며, 프로세스가 변경하는 내용을 기록한다. 이미지 레이어이미지를 구성하는 하나의 레이어이다. 컨테이너를 실행하기 위한 세이브 포인트 역할이다. 읽기 전용이다. 이미지가 이미지 레이어로 구성되어 있기..
[Docker] 이미지 레지스트리
·
Docker · Git
도커 허브에 있는 이미지를 pull하고, tag하고 push하는 방법에 대해 실습했다. 1. 도커 허브 웹 페이지 로그인https://hub.docker.com/ Docker Hub Container Image Library | App ContainerizationIncrease your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.hub.docker.com도커 허브에 들어가서 로그인한다. 2. 레지스트리명을 확인한다.로그인 후 상단 프로필 썸네일을 ..
[Docker] 도커 로그 log 확인 명령어와 옵션
·
Docker · Git
1. 기본 컨테이너 로그 확인 명령어docker logs container_name일회성 로그 조회이다. 명령어 실행 당시의 컨테이너 로그만 출력하고 끝난다. 2. 컨테이너 실행과 출력을 동시에 하는 명령어docker start -i container_name-i 옵션을 추가하면 실행과 출력을 동시에 할 수 있다. 3. 컨테이너 실시간 로그 확인docker logs -f container_name일회성 로그 조회와 달리 실시간으로 변화하는 로그를 조회할 수 있다. 4. 실시간 컨테이너 로그에서 빠져나오기Ctrl + c
[Docker] 컨테이너의 라이프 사이클 생애 주기
·
Docker · Git
도커 컨테이너 생애 주기도커 컨테이너 생애 주기는 생성, 실행, 일시정지, 종료, 삭제로 나눌 수 있다. 1. 생성도커의 컨테이너가 만들어지는 단계이다. 실행은 되지 않는다.격리된 공간이 만들어진다.Host의 리소스(CPU, memory)를 사용하지 않는다. 2. 실행생성된 컨테이너를 실행하는 단계이다.이미지를 다운받아 바로 run 했다면, 생성 단계가 포함되어 자동으로 실행된다.실행 단계부터 Host의 리소스를 사용한다.실행 중, restart 명령을 하면 즉시 멈추고 처음부터 다시 시작한다. 3. 일시정지실행 단계에서 pause 명령을 한 상태이다.현재 상태를 메모리에 저장하고 멈춘다.CPU는 사용하지 않는다.unpause 하면 다시 실행 상태로 돌아간다.pause 했던 시점부터 다시 실행한다. 4...
[Docker] 메타 데이터 수정하기, 덮어쓰기
·
Docker · Git
1. Cmd 덮어쓰기 1-1. nginx 실행docker run -d --name defaultCmd nginxdefault 값으로 nginx를 실행한다. -d는 데몬으로 실행한다는 뜻이다. --name 옵션은 컨테이너 이름을 설정하는 옵션이다. 1-2. 실행 확인docker ps명령어로 확인했을 때 nginx 이미지가 설정한 이름대로 실행 중이면 성공. 1-3. 메타 데이터 확인docker container inspect defaultCmd메타 데이터를 확인할 수 있다. 1-4. CMD 수정 후 새로운 nginx 실행하기docker run --name customCmd nginx cat usr/share/nginx/html/index.htmlnginx를 customCmd라는 컨테이너 이름으로 실행하는데..