Seapy's Blog


CentOS에 설치하게된 계기

최근에 관심을 가지고 있는 Docker를 여기저기 적용하던중 CentOS 6.3에서 Docker를 운영해야 하는데 Docker 설치가 쉽지 않아 설치 방법을 적는다.

개인적으로 Ubuntu를 사용하지만 CentOS를 사용하게 된건 네이버 D2에서 RORLab 커뮤니티에 서버 지원을 해줘서 였다. 네이버의 에코 클라우드는 CentOS 6.3이 최대 지원버전 이었고 6.5로의 버전업 문의에 CentOS 6.3에서 6.5로 커널도 함께 업데이트 하는 방법을 알려줘 공유한다.

Docker 최소 설치 사양

Docker 설치 문서를 보면 CentOS 6이상, 커널버전 2.6.32-431 이상 이어야된다고 되어 있다.

CentOS 6.3의 기본 커널은 2.6.32 까지는 맞는데 마지막 버전 숫자가 낮았다. 이 상태에서도 설치는 가능하지만 설치후 docker를 실행할때 오류가 발생한다.

CentOS 6.5의 기본 커널버전은 "2.6.32-431.20.3.el6.x86_64"으로 설치 문서에 나온 최소 사양에 부합된다.

참고로 커널 버전 확인 명령어는 다음과 같다.

$ uname -a

CentOS 및 커널 업그레이드

커널 업그레이드를 위해서 grub 파일의 권한을 수정해야 한다.
(이후부터 모든 명령어는 root 계정임을 전제로 한다.)

# grub 파일 권한 재설정
$ chattr -i /boot/grub/grub.conf
$ chmod +w /boot/grub/grub.conf

# 커널 및 OS 업그레이드
$ yum -y update

업그레이드가 완료되면 서버를 재시작 한다.

$ shutdown -r now

서버 재시작은 위의 명령어로 해도 되고 클라우드 콘솔에서 재시작 해도 된다.

재시작이 완료되면 커널 버전 및 OS 버전을 확인한다.

# 커널버전 확인
$ uname -a

# OS 버전 확인
$ cat /etc/redhat-release 

Docker 설치

CentOS 에서 Docker의 설치는 EPEL 저장소의 패키지를 이용하므로, 먼저 EPEL 저장소를 사용가능하게 한다.

# EPEL 저장소 활성화
$ rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ yum update -y

이제 Docker를 설치한다.

# Docker 설치
$ yum install docker-io

# 도커 데몬 시작
$ service docker start

# 서버 재시작시에도 도커 데몬이 재시작 되도록 설정
$ chkconfig docker on

설치 완료후 docker info 명령어를 실행해서 도커 정보가 이상없이 잘 출력되면 성공적으로 설치 된것이다.

가장 작은 Docker 이미지인 busybox를 이용해 쉘을 실행해보면 Docker 설치를 확인 할 수 있다.
다음 예와 같이 쉘이 실행된후 ls 명령어를 실행해보면 정상적으로 설치된것이다.

$ docker run -i -t --rm busybox /bin/sh
/ # ls
bin      etc      lib      linuxrc  mnt      proc     run      sys      usr
dev      home     lib64    media    opt      root     sbin     tmp      var

정리

CentOS가 보수적이라서 권장 커널 버전인 3.8은 고사하고 2버전에 머물러 있는데 RHEL 7부터는 레드햇의 Docker 지원으로 Docker가 기본설치된다.

Docker를 실행하기 위한 CoreOS가 발전하게 된다면 굳이 Ubuntu, CentOS에 설치할 필요가 없어질테니 이런글도 점점 사라지지 않을까 생각해본다. 물론 일부 회사는 정책상 CentOS 6버전을 앞으로 몇년간 더 사용할 수도 있겠지만...

참고문서