Amazon Web Services에서 Docker 사용하기

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

Docker Hub 공개 저장소 이미지 사용하기

Elastic Beanstalk에서는 Dockerrun.aws.json 파일을 통해 Docker Hub 공개 저장소에 저장된 이미지를 그대로 사용할 수 있습니다.

다음은 Docker Hub에서 Nginx 공식 이미지를 받은 뒤 컨테이너로 생성하는 예제입니다.

Dockerrun.aws.json

{
  "AWSEBDockerrunVersion": "1",
  "Image": {
    "Name": "nginx:latest",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "80"
    }
  ],
  "Volumes": [
    {
      "HostDirectory": "/var/www",
      "ContainerDirectory": "/var/www"
    }
  ],
  "Logging": "/var/log/nginx"
}
  • AWSEBDockerrunVersion: Dockerrun 버전 값입니다. 1을 설정합니다.
  • Image: 이미지 설정입니다.
    • Name: Docker 이미지 이름이며 <Docker Hub 사용자 계정>/<이미지 이름>:<태그> 형식입니다. 여기서는 Nginx 공식 이미지를 사용할 것이므로 Docker Hub 사용자 계정을 생략합니다.
    • Update를 true로 설정하면 매번 이미지를 새로 받습니다.
  • Ports: Elastic Beanstalk의 EC2 인스턴스와 연결할 컨테이너의 포트 번호를 설정합니다.
  • Volumes: Elastic Beanstalk의 EC2 인스턴스와 컨테이너의 디렉터리를 연결합니다.
  • Logging: 컨테이너의 로그 디렉터리를 설정합니다. 이후 Elastic Beanstalk Logs 메뉴에서 로그를 확인할 수 있습니다.

Elastic Beanstalk 환경 페이지에서 Upload and Deploy 버튼을 클릭하고, Dockerrun.aws.json 파일을 그대로 업로드하면 Docker 컨테이너가 생성됩니다.


그림 10-18 Elastic Beanstalk에서 공개 저장소 이미지로 생성한 컨테이너에 접속


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

30 November 2014