다운로드
작성자: admin 작성일시: 2016-04-07 21:19:14 조회수: 14556 다운로드: 524
카테고리: 개발/운용 환경 태그목록: Docker

도커 설치

이 책에서는 사용자가 리눅스 운영체제를 사용하고 있다고 가정한다. 꼭 리눅스가 아니라도 대부분의 파이썬 패키지를 사용할 수 있으나 대규모 데이터 분석을 위한 분산처리 등을 하게되면 리눅스 운영체제를 써야하는 경우가 발생할 수 있다. 이러한 경우를 대비하여 리눅스 셸 사용이나 유틸리티, 에디터, 스크립트 등에 익숙해 질 수 있도록 평소에도 리눅스를 사용하기를 권장한다. 하지만 맥이나 윈도를 꼭 사용해야 하는 상황이라면 도커를 사용하여 리눅스 환경을 경험할 수 있다.

도커(Docker)는 리눅스 가상화 컨테이너(virtual container)이다. 즉 사용자 컴퓨터 안에 가상의 리눅스 컴퓨터가 돌아갈 수 있도록 해준다. 이 가상의 컴퓨터를 컨테이너(container)라고 하고 컨테이너를 만들기 위한 설치 파일을 이미지(image)라고 한다. 인터넷에는 데이터분석에 필요한 여러가지 소프트웨어를 미리 설치한 도커 이미지가 많이 있기 때문에 도커를 사용하면 모든 프로그램을 일일이 설치하고 설정할 필요가 없다.

도커는 원래 리눅스에서만 사용할 수 있다. 맥 OS 사용자는 "도커 포 맥"(Docker for Mac), 윈도우 사용자는 "도커 포 윈도우"(Docker for Windows)를 설치해야 한다. 설치하는 법은 아래에 설명하였다. 다만 맥OS 버전이 10.12 미만이거나 윈도우 버전이 10 미만 또는 윈도우 10이라고 하더라도 홈 에디션에서는 도커 포 윈도우를 사용할 수 없으므로 대신 뒤에서 설명할 "도커 툴박스"(Docker Toolbox)를 사용해야 한다.

리눅스에서 도커 설치

리눅스에서는 패키지 매니저를 통해 도커를 설치할 수 있다. 예를 들어 우분투나 데비안 계열에서는 다음 명령으로 도커를 설치한다.

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

다른 배포판에서 도커를 설치하는 방법에 대해서는 도커 홈페이지(https://www.docker.com/)를 참조하라.

맥에서 도커 포 맥 설치

맥에서 도커 포 맥을 설치하려면 다음 사항을 만족하고 있어야 한다. 설치하기 전에 미리 확인한다.

  • 하드웨어: 2010년 이후에 출시된 맥이고, 메모리 관리 장치(Memory Management Unit)가상화를 지원하는 인텔 하드웨어가 있어야 한다. 콘솔에 sysctl kern.hv_support를 입력했을 때 다음과 같이 출력되면 설치할 수 있다.

    kern.hv_support: 1
  • OS: 엘케피탄(El Capitan) 10.12 이상

  • 램: 4GB 이상
  • 4.3.30 이하 버전의 버추얼박스는 설치되어 있으면 안된다.

설치하려면 다음 링크가 가리키는 도커허브(Docker Hub) 웹사이트에서 사용자 등록을 한 후 로그인하여 "Docker.dmg" 파일을 다운로드 받아야 한다. 이 파일을 더블클릭하면 설치할 수 있다.

그림 3.1 : "Docker.dmg"파일 실행 화면

그림 3.2 : 도커 포 맥 설치 확인

도커 포 윈도우 설치

윈도우에서 도커 포 윈도우를 설치하려면 다음 사항을 만족하고 있어야 한다. 설치하기 전에 미리 확인한다.

  • 윈도우 버전이 10 이상, 프로페셔널 에디션 이상이어야 한다. 홈 에디션은 설치할 수 없다.
  • 마이크로소프트 하이퍼브이(Hyper-V)가 활성화되어 있어야한다. 만약 안되어 있다면 설치 중에 활성화하라는 창이 뜬다.
  • 하이퍼브이와 별도로 "CPU SLAT-capable" 기능이 활성화되어 있어야 한다. 확인하는 방법은 [작업 관리자 > 성능]에 들어가 그림 3.3에서 보이는 바와 같이 "사용"으로 설정되어 있어야한다.

설치하려면 다음 링크가 가리키는 도커허브(Docker Hub) 웹사이트에서 사용자 등록을 한 후 로그인하여 "Docker for Windows Installer.exe" 파일을 다운로드 받아야 한다. 이 파일을 더블클릭하면 설치할 수 있다.

그림 3.3 : 가상화 사용 여부 확인

그림 3.4 : 도커 포 윈도우 설치과정

도커 툴박스

윈도우 버전이 10 미만이거나 홈 에디션인 경우, 맥OS 버전이 10.12 미만인 경우에는 도커 툴박스를 설치한다. 도커 툴박스를 설치하기 위해서는 4GB 이상의 메모리가 필요하다.

도커 툴박스의 버추얼박스를 사용하려면 우선 컴퓨터 하드웨어가 가상화를 지원하도록 하드웨어 바이오스에서 가상화 지원이 가능하도록 설정하여야 한다. 만약 도커 툴박스를 설치했는데 다음과 비슷한 메시지가 출력된다면 바이오스 설정이 제대로 되지 않은 것이다.

VT-x/AMD-V 하드웨어 가속 기능이 활성화되었지만, 현재 작동하지 않습니다. 64비트 게스트 운영 체제에서 64비트 CPU를 인식할 수 없어서 부팅할 수 없습니다. 컴퓨터 바이오스에서 VT-x/AMD-V를 활성화했는지 확인해 보십시오.

가상화 지원 설정이 되어 있는지는 [작업 관리자 > 성능]에 들어가 "가상화 : 사용"으로 설정되어 있는지 확인하면 된다. (그림 3.3 참조)

만약 가상화 사용 설정이 안되어 있다면, 컴퓨터를 재부팅하여 바이오스 설정 화면으로 들어간 뒤, CPU 등의 항목에서 다음 항목들을 활성화한다. 바이오스에 따라 세부적인 항목 이름은 다를 수 있다. 보통 다음 중 하나일 것이다.

  • Virtualization
  • Secure Virtualization
  • Vt-d

설정이 완료되면 다음 링크로 이동해 도커 툴박스를 다운로드한다.

방금 내려받은 설치 파일을 실행하여 도커 툴박스를 설치한다. 설치 과정에서 나오는 설정에 대해서는 모두 기본 설정으로 진행해도 무방하다. 다만, 만약 호스트 컴퓨터에 깃(git)이 깔려있지 않다면 "Select Components" 단계에서 [Git for Windows] 항목을 체크하여 깃을 설치하여야 한다.

그림 3.5 : 도커 툴박스 설치 과정 - 윈도우

도커 툴박스 설치가 완료되면 윈도우의 "시작 메뉴" > "프로그램" > "Docker"에 다음과 같은 두 개의 바로가기가 나타난다.

  • Docker Quickstart Terminal
  • Kitematic (Alpha)

그림 3.6 : 도커 툴박스 설치가 완료되었을 때

여기에는 나타나지 않지만 오라클 버추얼박스도 설치된다.

가상머신 생성

도커 툴박스는 설치했지만 아직 도커를 사용할 수 있는 단계는 아니다. 도커는 리눅스에서만 실행할 수 있는 컨테이너 서비스이므로 리눅스 운영체제가 깔려 있는 가상머신(가상 컴퓨터)이 필요한데, 아직 가상머신이 설치되지 않았기 때문이다.

시작 메뉴에서 "Docker Quickstart Terminal(이하 도커 터미널로 부른다)"을 선택하여 실행하면 오라클 버추얼박스가 가상머신을 자동으로 생성해 준다. 가상머신을 생성하는 작업은 최초 한 번만 실행되며 컴퓨터의 성능에 따라 몇 분 가량 걸릴 수 있다. 일단 가상머신이 생성된 다음에는 도커 터미널을 실행해도 기존의 가상머신을 가동하기만 하고 다시 생성하지는 않으므로 최초 생성 시보다는 빠르게 실행된다.

가상머신이 생성되면 다음처럼 도커를 뜻하는 고래 모양의 그림과 함께 도커 터미널이 실행된다.

그림 3.7 : 도커 툴박스를 처음으로 실행한 화면

이 화면에 나타난 IP 주소를 꼭 기억해 놓아야 한다. 오라클 버추얼박스는 NAT(Network Address Translation)와 사설 IP 주소를 사용하여 호스트 컴퓨터(윈도우)와 게스트 가상머신(리눅스)을 연결하는데, 도커 터미널을 실행할 때 나타나는 192.168.99.100이라는 사설 IP 주소가 게스트 가상머신의 주소가 된다. 가상머신을 두 대 이상 생성하지 않았다면 기본적으로 사설 IP 주소는 192.168.99.100이 된다.

도커 터미널을 사용할 때는 이 주소를 환경변수로 저장해 놓았기 때문에 신경쓰지 않고 사용할 수 있지만, putty 등의 다른 방법으로 가상머신을 연결하거나 가상머신에서 작동하는 주피터 노트북(Jupyter Notebook)을 웹 브라우저에서 실행할 때는 이 사설 IP 주소를 사용해야 하므로 주의하자.

오라클 버추얼박스 확인

도커 터미널을 실행하면 가상머신이 생성되고 가동된다는 것을 Oracle VirtualBox에서 확인할 수 있다.

윈도우의 [시작 → 모든 프로그램 → Oracle VM VirtualBox → Oracle VM VirtualBox]를 실행하면 다음처럼 "default"라는 이름의 가상머신이 동작하고 있음을 확인할 수 있다.

그림 3.8: 오라클 버추얼박스를 통한 가상머신 확인

도커 툴박스 설치 문제 해결

도커 툴박스를 설치하고 도커 터미널을 실행한 다음, 오류 메시지가 나타나거나 도커 명령을 인식하지 못할 때는 다음과 같은 사항을 순서대로 조치해 본다.

  1. 도커 터미널 창을 닫고 다시 실행해 본다.
  2. 컴퓨터에 설치된 백신/멀웨어(Malware) 탐지 프로그램 혹은 방화벽을 끄고 도커 터미널을 다시 실행해 본다.
  3. 버추얼박스에서 "defalut" 가상머신을 "모든 파일 완전 삭제"한 후에 다시 도커 터미널을 실행해 본다.
  4. 도커 툴박스를 완전 삭제한 후 시스템을 재부팅하여 도커 터미널을 실행해 본다.

도커 툴박스 가상머신 삭제

도커 툴박스를 사용하다가 경우에 따라서는 리눅스가 설치된 가상머신 자체를 완전히 삭제해야 하는 경우가 있을 수 있다. 이 경우에는 docker-machine 이라는 도구를 사용한다.

우선 도커 터미널을 시작해서 현재 설치되어 있는 가상머신 목록을 확인한다.

$ docker-machine ls

NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.13.0

특별한 경우가 아니라면 "default"라는 이름의 가상머신만 있을 것이다.

이 가상머신은 다음 명령으로 삭제할 수 있다. 이 명령을 사용하면 도커 이미지 및 도커 컨테이너에 저장된 모든 파일들이 함께 지워지므로 반드시 필요한 파일을 호스트에 복사한 뒤에 사용한다.

$ docker-machine rm default
About to remove default
Are you sure? (y/n): y
Successfully removed default

만약 가상머신의 이름이 default가 아니면 위 명령에서 이름을 해당하는 이름으로 바꾸면 된다.

도커 툴박스 가상머신 재생성

가상머신을 삭제한 이후에 도커 터미널을 끄고 다시 실행하면 리눅스가 깔린 가상머신을 자동으로 다시 만들어 준다. 하지만 이렇게 자동을 만들어 주는 가상머신은 사용할 수 있는 CPU의 수, 메모리 크기, 하드 디스크의 크기가 정해져 있다. 만약 가상머신을 사용자가 원하는 사양으로 만들고 싶다면 도커 터미널을 통한 자동 생성을 사용하지 않고 docker-machine 도구를 사용하여 직접 만들어야 한다.

먼저 현재 "default"라는 이름의 가상 머신이 없다는 것을 docker-machine ls 명령으로 확인한다. 만약 가상머신이 있다면 앞서 말한 docker-machine rm 명령으로 삭제한다.

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS

다음 명령으로 가상 머신을 만든다. 이 때 호스트 컴퓨터의 사양 내에서 가상머신의 사양을 원하는 대로 지정할 수 있다.

$ docker-machine create --driver virtualbox --virtualbox-cpu-count "2" --virtualbox-memory "2048" --virtualbox-disk-size "50000" default

위 명령에서 각 인수의 의미는 다음과 같다. 인수의 숫자를 바꾸면 가상 머신의 사양을 변경할 수 있다.

  • --driver virtualbox: 버추얼박스 사용
  • --virtualbox-cpu-count "2" : CPU 코어의 수를 2 개로 지정
  • --virtualbox-memory "2048": 메모리 크기를 2 GB로 지정
  • --virtualbox-disk-size "50000": 메모리 크기를 50 GB로 지정

도커 동작 확인

도커 설치가 끝나면 터미널에서 docker명령어를 입력하여 도커가 정상적으로 설치되었는지 확인한다. 다음처럼 출력되면 정상적으로 설치된 것이다.

$ docker                                                                                                               

Usage:  docker [OPTIONS] COMMAND                                                                                       

A self-sufficient runtime for containers                                                                               

(이하 생략)

그림 3.9 : docker 명령어를 입력한 예 (윈도우에서 도커 툴박스를 설치한 경우)

질문/덧글

도커 설치후 실행을 하려니까exit status 255 메세지가 뜨면서 실행이 안됩니다. cau2*** 2017년 3월 27일 12:07 오후

Error getting IP address: ssh command error: ssh command error:
command : ip addr show
err: exit status 255

라는 메세지가 뜨면서 가상머신 ip에 접속하지를 않습니다.

docker-machine ls 를 쳐보니까

NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS

default * virtualbox Running Unknown ssh command error:

command : ip addr show

err : exit status 255

output :

이런 메세지가 뜨더군요

그래서

Docker-machine rm default

Docker-machine create --driver virtualbox default

를 쳐서 가상머신을 삭제했다가 재 생성시켰는데도 같은 현상이 발생합니다.

전에 도커와 가상머신 설치했을땐 문제없이 잘 작동하였는데, 지웠다가 새로 설치하려고 하니 안됩니다.

도움 주시면 감사하겠습니다!

답변: 도커 설치후 실행을 하려니까exit status 255 메세지가 뜨면서 실행이 안됩니다. 관리자 2017년 3월 27일 8:39 오후

Oracle VirtualBox에서 "모든 파일 지우기"로 가상머신을 완전히 삭제해 보세요.

답변: 답변: 도커 설치후 실행을 하려니까exit status 255 메세지가 뜨면서 실행이 안됩니다. cau2*** 2017년 3월 28일 2:19 오후

말씀하신대로 모든 파일 지우기로 가상머신을 완전히 삭제한다음에 도커 터미널을 다시 시작해보았는데 전과 같은 메세지가 뜹니다..

이미 BIOS에서 가상화 사용을 설정했는데 This computer doesn't have VT-X/AMD-v enabled. 라는 메세지가 떠요. ghfk*** 2019년 3월 23일 12:40 오후

저는 windows 10 운영체제의 hp 노트북을 쓰고 있습니다. 도커 툴박스를 설치하고 Quickstart Terminal을 실행했는데
Running pre-create checks...
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
Looks like something went wrong in step ´Checking if machine default exists´... Press any key to continue...
이런 메세지가 뜨면서 더 이상 진행이 안 되요.
혹시 이에 대해서 아시는 바가 있으신가요?

답변: 이미 BIOS에서 가상화 사용을 설정했는데 This computer doesn't have VT-X/AMD-v enabled. 라는 메세지가 떠요. 관리자 2019년 3월 25일 9:29 오전

가상화 사용 설정이 정상적으로 되지 않은 것 같습니다만 확실한 진단은 직접 하드웨어를 살펴보기 전에는 어렵습니다.