본문 바로가기

개발 일기라기 보단 메모장/Docker

(9)
09. 도커 컴포즈(Docker Compose)란 무엇일까? 1. 도커 컴포즈(Docker Compose)란? Compose란 사전적인의미로는 "구성하다"라는 뜻의미인데, 말 그대로 Docker Compose란 여러 컨테이너를 모아서 하나의 어플리케이션을 구성하는 것을 말한다. 2. 도커 컴포즈(Docker Compose) 실행 예제. (1) 개요 express와 redis를 사용하여 새로 고침할때 마다 +1 씩 카운팅 하기. express : node.js를 이용하여 간단하게 REST서버를 구성하는 역할(따로 공부 필수). redis : "키-값"으로 구성된 영속성이 보장되는 인메모리 데이터 저장소(따로 공부 필수). (2) node.js 서버를 작동하기 위한 package.json 작성 // 파일명 : package.json { "name": "docker-c..
08. 도커(docker) 이미지 빌드 예제 0. 도커 이미지 빌드 예제 개요 : node.js를 이용하여 간단한 프로그램 만들기 package.json 파일 작성 server.js 파일 작성 Dockerfile 작성 Docker build 실행 도커 이미지 빌드 예제 코드의 문제점 완성 코드 volume을 사용하여 실행 1. package.json 파일 작성 예제 { "name": "nodejs-docker-app", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start" : "node server.js" }, "author": "", "license": "IS..
07. 도커(docker) 이미지 만들기 1. 도커 이미지 만들기 순서 2. Dockerfile(도커 파일) 이란? 도커 이미지를 만들기 위한 설정파일로 컨테이너가 어떤 일을 해야하는지 등을 정의. 도커 파일을 만드는 순서 1. 베이스 이미지 명시 (파일 스냅샷) 2. 필요한 파일을 다운 받기 위한 명령어 (파일 스냅샷에 해당) 3. 컨테이너 시작 명령어 베이스 이미지란 ? - 도커 이미지는 여러개의 레이어(layer)로 구성이 되어 있음. 그 중에서도 가장 근본이 되는 이미지 파일 (윈도우나 리눅스 같은 OS 정도로 이해) 3. Dockerfile(도커파일) 작성 실습 - "Hello"를 출력하는 도커파일 만들기 Dockerfile 만들기 실습을 위한 폴더 만들기 VScode같은 에디터를 사용하여 폴더열기 "Dockerfile"이름의 파일 만..
06. 도커(docker) 컨테이너의 생명주기 및 사용법 1. 도커 컨테이너 생명주기 보통 우리는 docker run 명령어를 이용하여 컨테이너 생성과 실행을 한번에 하였는데, 원래는 create + start로 나누어 볼 수 있다. 2. 도커 실행 (docker run = docker crete + docer start) docker create 이미지 이름 (녹색 박스) : 파일 스냅샷을 하드디스크에 넣어줌. docker start 컨테이너 아이디 or 이름 (파란색 박스) : 이미지에서 받아온 시작 명령어 실행. 3. 도커 실행 중지 (docker stop VS docker kill) docker stop : 현재 진행중이던 작업을 정리할 시간을 기다렸다가 컨테이너를 중지. docker kill : 현재 작업지 진행중이라도 정리할 시간을 기다려주지 않고 ..
05. 도커(docker) 이미지로 컨테이너 만들기 1. Docker 이미지의 구조 이미지는 프로그램을 실행하는데 필요한 모든 것을 담고 있다. 컨테이너가 시작할때 필요한 명령어 + 파일 스냅샷이 필요하다. * 파일 스냅샷 : 디렉토리나 파일을 카피한것. 2. Docker 이미지로 컨테이너를 만드는 순서 Client에서 "docker run youtube"을 실행한다. 명령어를 docker server로 전송한다. 먼저 이미지 cache 저장소에 있는지 체크하여, 미리 사용했던 이미지가 있으면 cache에 있는 이미지를 사용하고 없으면 Docker Hub에서 검색하여 가져온다. 가져온 이미지를 가지고 컨테너를 만들게 되는데, 프로그램을 실행하는 명령어를 컨테이너에 넣어주고 파일 스냅샷은 컨테이너에 할당된 하드디스크에 적재해준다. 컨테이너를 실행하게 되..
04. 도커(Docker) 컨테이너란? (가상화 기술과의 비교) 1. 가상화 기술 사용 이전 한대의 서버는 하나의 용도로만 사용을 하고 있었음. 하나의 서버에 하나의 프로그랜만 서비스되다보니 다른 프로그램에는 영향을 끼치지 않아 안정적으로 운영할 수 있다는 장점이 있지만 반대로 남는 공간이 많아 비효율적이라는 단점이 존재했다. 2. 하이버 바이저 기반 논리적으로 공간을 분할하여 VM이라는 독립적인 가상환경을 만들어서 사용. => 네이티브형(세팅이 힘들어 잘 쓰지 않음) vs 호스트형 호스트 시스템 아래에 다수의 게스트 OS를 만들어 구동할수 있도록 해줌.(호스트형 하이퍼 바이저) 이러한 기술을 토대로 하여 도커가 개발됨. 3. 도커의 구조 기본 하드웨어에서 격리된 환경을 만들어서 애플리케이션을 배치해주는 방법이다. 도커의 경우에는 VM과 다르게 컨터이너 안에 게스트 ..
03. 도커(Docker) 실행 순서 1. 도커 실행 흐름 먼저 도커 클라이언트에 명령어를 입력하면 도커 서버에 전달하여 이미지를 만들거나 컨테이너를 불러 와 실행하게 된다. 2. 도커 명령어 입력 명령어를 입력하기 위해서는 Docker아이콘에 초록불과 함께 Docker Desktop is running인 상태에 있어야 한다. docker run hello-world 명령어를 입력하게 되면 아래와 같은 화면이 뜨게 된다. 최초 실행이기 때문에 아직 hello-world에 대한 이미지가 없다. 때문에 내 컴퓨터에서 먼저 hello-world 이미지를 찾고(빨간색), 도커 이미지 파일들이 모여있는 도커 허브에서 hello-world 이미지 파일을 찾아서(초록색) 내컴퓨터에 있는 도커 클라이언트에 다운받아서 사용할 준비를 완료한다(노란색). 위에..
02. 도커(Docker) 설치 방법 - MacOS 1. 도커 다운로드 접속 : https://www.docker.com/get-started 최근 나온 ARM 기반의 맥북 사용자라면 Apple Chip으로 받고, 기존에 Intel Mac 을 사용하는 사용자라면 Intel Chip 버전으로 받는다. 2. 아이디 만들기 접속 : https://hub.docker.com/signup 아이디, 이메일, 비밀번호로 간단하게 생성가능. 3. 설치확인 docker --version 터미널 창을 열어서 입력 이렇게 에러없이 도커 버전 정보가 출력되면 도커 설치 완료!