SW/DevOps

DevOps : Docker : 설치, 예제, 개념

얇은생각 2019. 11. 22. 07:30
반응형

도커 플랫폼

도커를 설치하기 전에 도커 에디션에 대해서 살펴보겠습니다. 도커는 두 가지 방식의 라이선싱 모델을 제공합니다. 커뮤니티 에디션과 엔터프라이즈 에디션입니다.

Community Edition, 줄여서 CE는 오픈 소스 버전으로 누구나 무료로 사용할 수 있습니다. Enterprise Edition, EE는 상용 버전으로 인증이 완료된 플러그인이나 보안 기능 등 추가 기능과 지원을 받을 수 있습니다. 실습에서는 CE 에디션을 사용합니다.

도커 CE가 지원하는 플랫폼입니다. 크게 데스크톱과 서버로 구분할 수 있습니다. 도커는 원래 리눅스 커널을 사용하기 때문에 리눅스 상에서 작동하지만 개발 환경을 제공하기 위하여 데스크톱용 클라이언트 도구를 제공합니다.

 

 

도커 설치

Docker Desktop for Mac은 Mac OS용 도구입니다. Docker Desktop for 윈도우는 윈도우 10용 도구입니다. 실습은 Docker Desktop for Windows로 진행합니다.

윈도우 10부터는 마이크로소프트사가 제공하는 하이퍼바이저 Hyper-V를 사용하기 때문에 별도의 하이퍼바이저가 필요 없습니다. 만약 Windows 10 이전 버전이라면 Hyper-V를 지원하지 않기 때문에 과거 버전인 Docker Toolbox를 사용해야 합니다. Docker Toolbox는 오라클사의 버추얼 박스 같은 하이퍼바이저를 설치하여 사용해야 합니다.

도커 포 윈도우 설치를 위한 시스템 요구사항은 윈도우10 64bit가 필수입니다. 화면에서 표시되는 버전 이상이 되어야 합니다. 또한 바이오스에서 가상화 기능 사용이 설정되어 있어야 합니다. 보통 바이오스의 설정은 가상화 기능을 사용하는 것으로 설정되어 있습니다. 여러 개의 컨테이너를 원활하게 실행시키기 위해서 램은 최소 4GB 이상이 되어야 합니다.

도커 데스크톱을 설치하기 위해서 다운로드 링크로 들어갑니다. 화면에서 다운로드 포 윈도우 버튼을 선택하면 도커의 공식 레지스트리 서비스인 도커허브 링크로 이동합니다. 우측 상단에 도커 데스크톱 포 윈도우를 다운로드 하기 위해서는 로그인하라는 버튼이 있습니다.

버튼을 선택하고 도커 허브에 가입 한 후 로그인하면 설치 파일을 다운로드 받을 수 있습니다. 다운로드가 완료되면 파일을 실행합니다. 다운로드 파일은 도커 데스크톱 인스톨러로서 실행을 하면 설치에 필요한 파일을 다운로드 하기 시작합니다. 여기서 시간이 약간 걸릴 수 있습니다.

 

도커 설치


필요한 파일 다운로드가 완료되어 설치가 준비되면 인스톨링 도커 데스크톱 창이 뜹니다. OK 버튼을 눌러서 진행합니다. 압축이 풀리면서 설치가 진행됩니다.

 

도커 설치 후 재시작


설치가 완료 되면 Close 버튼을 누릅니다. 상황에 따라서 컴퓨터를 재시작 해야 한다는 메시지가 나올 수 있습니다. 이 경우에는 컴퓨터를 재시작합니다. 컴퓨터를 재시작 한 후에 만약 윈도우의 하이퍼브이 사용 설정이 안 되어 있는 경우에는 화면과 같은 창이 뜹니다. OK 버튼을 누르면 도커 실행을 위한 설정이 자동으로 이루어지고 컴퓨터가 재시작 됩니다.

 

 

도커 설치 완료


설치가 성공하면 바탕화면에 Docker Desktop 아이콘이 생기고, 윈도우 작업 표시줄에는 도커의 고래 모양 아이콘이 표시됩니다. 고래 모양 아이콘을 마우스 오른쪽 버튼으로 클릭하면 도커의 설정을 확인하거나 변경할 수 있는 컨텍스트 메뉴가 뜹니다. 여기서 About Docker Desktop을 선택하면 도커 데스크톱의 정보를 확인 할 수 있습니다.

 

쿠버네티스와 설정 옵션


설치된 도커 데스크톱의 버전 정보와 빌드 정보 등을 확인 할 수 있습니다. 버전은 2.0.0.2, 채널은 스테이블, 빌드 넘버 및 그리고 구성요소 별 버전을 확인할 수 있습니다. 보시는 화면은 일반적인 설정을 위한 제너럴 탭 화면입니다. Shared Drives 탭에서는 공유하고 싶은 드라이브를 선택할 수 있습니다. Advanced 탭에서는 도커가 사용하는 CPU나 메모리, 디스크 이미지의 최대 사이즈 등을 조정할 수 있습니다. 최신 버전 도커 데스크톱에는 쿠버네티스가 포함되었는데, 쿠버네티스 탭에서 쿠버네티스 사용설정을 할 수 있습니다. 쿠버네티스는 구글에서 만든 컨테이너 오케스트레이션 도구로서 다수의 컨테이너를 효과적으로 관리 운영할 수 있습니다.

 

도커 파워쉘


도커 CLI를 사용하기 위해서 윈도우 파워쉘을 실행합니다. 윈도우 시작 버튼을 누르고 Powershell을 타이핑해서 검색한 후 윈도우 파워셀을 실행합니다. 파워쉘이 실행되면 프롬프트에서 ‘Docker Version’이라고 명령을 입력합니다. Docker Version을 실행하면 도커의 버전 및 세부 정보를 확인 할 수 있습니다.

 

도커 상세 정보

도커 실행 환경의 상세 정보를 확인하려면 Docker System Info 명령을 실행합니다. 커널 버전, 아키텍처 등의 정보를 확인할 수 있습니다.

 

 

도커 CLI 


도커의 컨테이너 실행 첫 번째 예제로 Hello World를 실행해 보겠습니다. 명령어는 Docker Container Run Ubuntu:latest Binecho ‘Hello World!’입니다. 명령어를 살펴보면 'Docker Container Run' 의 의미는 도커 컨테이너를 생성하고 실행하라는 의미입니다. 그다음의 Ubuntu:latest는 컨테이너를 실행 할 대상 이미지로 우분투의 최신 버전 이미지를 지정한다는 것입니다. 그리고 그 뒤의 Binecho ‘Hello World!’는 생성된 컨테이너 안에서 Echo 명령을 실행해서 Hello World를 출력하라는 의미입니다.

명령이 실행되면 동작 절차는 먼저 Ubuntu의 최신 버전 이미지가 로컬 도커 호스트에 있는 지 확인하고, 없는 경우 Docker Registry에서 이미지를 자동으로 다운로드합니다. 이미지가 로컬 도커 호스트에 다운로드 되면 이 이미지로 컨테이너를 시작합니다. 컨테이너는 헬로 월드를 출력하는 에코 명령을 실행합니다.

로컬에 이미지가 없다는 메시지가 표시되고, 이미지를 레이어 별로 다운로드 받습니다. 컨테이너가 실행되고 마지막 줄에 Hello world!가 출력됩니다. 처음에는 이미지 다운로드 때문에 시간이 걸렸지만 다시 실행해보면 이미지 다운로드 없이 로컬의 이미지로 바로 컨테이너가 시작합니다.

 

 

Nginx 웹 서버 명령어


이번에는 단순한 예제가 아니라 실제로 많이 사용하는 Nginx 웹서버를 띄워 보겠습니다. 화면의 명령어에서 -d는 컨테이너를 생성하고 백그라운드에서 실행하겠다는 의미입니다. -p 80:80 은 웹 브라우저에서 HTTP 포트에 접근을 할 수 있도록 지정하였습니다. --name Webserver는 컨테이너의 이름을 Webserver로 지정한다는 의미입니다.

도커 명령어를 실행하면 로컬 도커 호스트에 이미지가 없기 때문에 헬로 월드 때와 마찬가지로 이미지를 다운로드 받습니다. 실행 결과에 cc098로 시작하는 영문자는 컨테이너 ID입니다. 정말 Nginx가 실행됐는지 확인하기 위해서 브라우저를 띄워서 확인해보겠습니다. 브라우저에서 도커 호스트로 접속하면 Nginx 서버가 작동하고 있는 메시지를 확인할 수 있습니다.

반응형