이미지 커밋 방법으로이미지를 만드는 방법은 무엇일까? 이미지를 만드는 방법 -- 이미지를 만드는 방법에는 크게 2가지가 존재한다.커밋 (commit) : 실행 중인 컨테이너의 상태를 그대로 이미지를 저장한다.빌드 (build) : Dockerfile을 통해서 이미지를 저장한다.일반적으로 build 방식을 사용하지만build 방식 또한 commit 방식을 기반으로 동작하기 때문에commit 방식을 알아 두는 것이 좋다.-- commit 방식을 통해 이미지 저장하는 과정 -- 공식 Nginx 이미지를 컨테이너로 실행(공식 Nginx 이미지에는 Nginx가 설치되어 있고 기본으로 제공하는 index.html 파일도 존재)(컨테이너로 실행하면 컨테이너 레이어가 생김)컨테이너 실행 후 i..
분류 전체보기
이미지에서 레이어란 무엇일까? 레이어 (Layer)란? --이미지는컨테이너를 실행하기 위한 읽기 전용 파일이다. 해당 이미지는 저장소를 효율적으로 사용하기 위해서레이어드 파일 시스템으로 구성되어 있다.즉, 이미지는 여러 개의 레이어로 구성되어 있다. 레이어란여러 개의 층으로 구성되어 있는 것 중에 하나의 층을 의미한다. 기존에 이미지를 다운로드할 때 여러 단계에 걸쳐서 다운이 받아졌었다.바로 이 한 줄 하나가 레이어를 의미한다. 이미 가지고 있는 이미지 중에서 같은 레이어를 사용하고 있었다면이미지를 다운받을 때 해당 레이어는 다운로드하지 않고 기존에 가지고 있는 레이어를 공유해서 같이 사용하게 된다.-- 왜 이미지는 여러 개의 레이어로 구성되어 있을까? --바로 레이어드 구조가 재사용하기..
도커 허브를 통해서이미지 다운로드 및 업로드는어떻게 할까? Docker Hub 가입하기 --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 이때 Username에 작성하는 내용이 프로젝트 명이 된다.-- 도커 허브에서 이미지 검색 후 살펴보는 방..
이미지를 저장 및 공유하는 방법은 무엇일까? 이미지 레지스트리 (Registry) --이미지 레지스트리는도커 이미지를 저장하기 위한 저장소를 의미한다. 해당 이미지 레지스트리를 통해서 개인 또는 팀이 특정 이미지를 다른 사람들과 공유하거나외부에서 필요한 이미지를 다운받아 사용할 수 있게 된다. 비유를 하자면 GitHub와 비슷하다.GitHub에서 자신의 코드를 등록 및 공유를 할 수 있고 다른 사람의 코드를 다운 받을 수도 있는 것처럼이미지 레지스트리도 자신의 이미지를 등록 및 공유할 수 있고 다른 사람의 이미지를 다운로드하여 사용할 수도 있다. 많은 종류의 이미지 레지스트리 플랫폼들이 존재하고이때 가장 많이 사용되는 이미지 레지스트리가 Docker Hub이다. GitHub : 소스 코드만 ..
컨테이너의 생명주기 상태는어떻게 구성되어 있을까? 컨테이너의 생명주기 상태 (STATUS) -- 우선 컨테이너는 이미지로부터 시작한다. 생성이미지를 통해 컨테이너가 만들어지기만한 상태이다.컨테이너를 실행하기 위한 격리된 공간을 만들어지는 상태이며(네트워크, 스토리지, 환경변수 등 모든 리소스가 격리된 공간인 컨테이너로 분리된 상태)아직 내부에서 프로세스를 실제로 실행하지 않기 때문에 호스트 OS의 CPU와 메모리는 사용하지 않는다. 실행컨테이너가 실행 중인 상태이다.호스트OS의 CPU와 메모리를 사용한다. 일시정지실행 중인 컨테이너를 잠시 일시 중지한 상태이다.다시 실행하면 중지했던 시점부터 다시 이어서 실행을 할 수 있다. 종료실행 중인 컨테이너를 아예 종료를 시킨 상태이다.컨테이너를 ..
다른 사람이 올려놓은 이미지를내가 다운 받아서 사용하는 방법은? 이미지 다운로드하기 --다른 사람이 올려놓은 이미지를 다운로드하는 명령어 형식docker pull {다운받을 레포지토리/다운받을 이미지명[:태그]} 명령어 설명 pull 도커 클라이언트에 존재하는 도커 레지스트리에서 이미지를 다운받는 명령어 다운받을 레포지토리 Docker Hub의 특정 사용자나 조직의 레포지토리를 가리킨다. 다운받을 이미지명 다운받을 레포지토리에 저장된 특정 애플리케이션(이미지)를 가리킨다. :태그 이미지의 특정 태그(버전)를 다운받을 때 작성한다. 생략을 하면 기본적으로 "latest" 태그(버전)이 있는 이미지를 다운로드한다. (최신 이미지) 기본적으로 이미지를 다운로드할 때Docker Hub에서 이미지를 가..
이미지를 컨테이너로 실행할 때해당 이미지의 메타데이터에 있는 Env와 Cmd의 내용을다른 내용으로 덮어씌워서 컨테이너의 메타데이터로 사용하는 방법은? 목표 --이미지의 메타데이터에서기존 Cmd의 값(필드)은 nginx 프로그램을 실행시키는 명령어인데해당 이미지를 컨테이너로 실행시킬 때컨테이너의 메타데이터에서 Cmd의 값(필드)을 다른 명령어로 변경시키는 것을 해보자. 목표Nginx 프로그램을 실행시키는 명령어를특정 경로에 있는 html파일의 내용을 출력하는 명령어로 변경하기 이미지의 메타데이터 값은 변경되지 않고실행시킨 컨테이너의 메타데이터 값만 변경된 상태가 된다.-- 시작하기 전에 --특정 경로에 있는 html 파일의 내용을 출력하는 것이 목표이기 때문에 해당 명령어를 알아보자.(리눅스..
메타데이터를 조회하는 명령어는 무엇일까? 이미지의 세부 정보 (메타데이터) 조회하기 --이미지의 세부 정보 (메타데이터)를 조회하는 명령어 형식docker image inspect {이미지명} nginx라는 이름인 이미지의 메타데이터 조회하기docker image inspect nginx Cmd는띄어쓰기 인식이 불가능하기 때문에 띄어쓰기를 기준으로 배열 형식이 저장되어 있다. nginx 이미지를 컨테이너로 실행하는 명령어docker run -d --name defaultCmd nginx 실행 중인 컨테이너 조회하는 명령어docker ps -- 컨테이너의 메타데이터 조회하기 --컨테이너의 메타데이터를 조회하는 명령어 형식docker container inspect {컨테이너명} 실..