Docker의 on Amazon EC2 이동(CentOS 6.5)

3280 단어 DockerAWS

개요



2014년 3월 10일, Docker의 0.9가 발매되었다.
http://blog.docker.io/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
LXC에 더 이상 의존하지 않지만 구조도 바뀐 것 같아서 바로 해볼게요(그렇게 말하지만 그걸 의식할 필요는 없어요).
지금까지 현지의 VirtualBox에서 시도해 봤지만, 가까스로 Amazon EC2에서 시도해 보기로 했습니다.

EC2 인스턴스 생성

  • Docker의 주요 지원 대상은 Ubunts입니다. 이번에는 CentOS를 사용하려고 합니다.
  • AWS Marketplace에서 CentOS 6(x86 64) - with Updates를 선택하여 인스턴스를 생성합니다.
  • 현재 Hub OS의 버전을 먼저 확인합니다.
  • # cat /etc/redhat-release
    CentOS release 6.4 (Final)
    
  • CentOS의 경우 6.5 이후에 설치하지 않으면 많은 문제가 발생할 수 있으므로 Update를 사용합니다.
  • # yum -y update
    ・・・
    # cat /etc/redhat-release
    CentOS release 6.5 (Final)
    
  • wget이 설치되어 있지 않아 먼저 넣습니다.
  • # yum -y install wget
    

    Docker 설치

  • yum의 창고에 EPEL(RedHat의 확장 패키지)을 등록합니다.
  • # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    # rpm -Uvh epel-release-6-8.noarch.rpm
    
  • Docker를 설치합니다.
  • # yum -y install docker-io
    # chkconfig docker on
    # docker -v
    Docker version 0.8.1, build a1598d1/0.8.1
    
  • 네?「Docker version 0.8.1」!? 보아하니 아직 0.9는 공개되지 않은 것 같다.
  • 이므로 별도로 다운로드하여 설치합니다.
  • # wget http://dl.fedoraproject.org/pub/epel/testing/6/x86_64/docker-io-0.9.0-3.el6.x86_64.rpm
    # rpm -Uvh docker-io-0.9.0-3.el6.x86_64.rpm
    # docker -v
    Docker version 0.9.0, build 2b3fdf2/0.9.0
    
  • 이렇게 되면 Docker 0.9.0 설치가 완료되었습니다.
  • Docker의 "Hello World"

  • Docker를 시작합니다.
  • # service docker start
    
  • Docker의 실행 가능성을 확인합니다.콘솔에'Hello World'가 뜨면 OK.
  • # docker run centos /bin/echo "Hello World"
    Hello World
    

    실행 Docker를 작성한 사용자

  • Docker뿐만 아니라 Docker의 조작을 위해 전용 사용자를 미리 제작한다.
  • # useradd docker -g docker
    # passwd docker
    New password:
    Retype new password:
    
  • 소속 도커그룹을 확인한다.
  • # id docker
    uid=500(docker) gid=498(docker) groups=498(docker)
    
  • 사용자가 sudo를 사용할 수 있도록 합니다.
  • # visudo
    

  • 추가docker ALL=(ALL) ALL된 섹션입니다.
  • ## The COMMANDS section may have other options added to it.
    ##
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    docker  ALL=(ALL)       ALL
    
  • 이렇게 하면 docker 사용자가 sudo를 실행할 수 있기 때문에 docker 사용자가 다시 Docker를 실행할 수 있습니다.
  • # su - docker
    $ sudo service docker restart
    $ docker run centos /bin/echo "Hello World"
    Hello World
    
  • 어쨌든 동작을 확인했다.
  • 참고 자료

  • Installation on Amazon EC2 - Docker Documentation
  • Amazon EC2에서 표류 중
  • 좋은 웹페이지 즐겨찾기