Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 간헐적단식타이머
- 간헐적단식 관리어플
- 간헐적단식이란
- 간헐적단식앱
- ecs
- 운닥
- 간헐적단식관리어플
- 체육시설3만원
- 간헐적단식식사
- codepipeline
- 광고네트워크구축기
- 간헐적단식어플
- 헬스장환급
- codedeploy
- 논현역헬스장
- 간단앱
- 운동닥터
- codebuild
- 방송편성표
- 체육시설환급
- 헬스장할인쿠폰
- 실내체육시설
- aws
- 간단
- 간헐적단식 다이어트
- 체육시설할인쿠폰
- 재방송
- 간헐적단식
- 다이어트제품광고
- 간단어플
Archives
- Today
- Total
유누킴
Dockerfile을 통해서 이미지 생성 및 Dockerhub push 하기 본문
728x90
페이타임, 운동닥터 API 서버 모두 AWS의 Docker를 기반으로 ECS(Elastic Container Service)에 배포 운영 중이다.
Codepipeline을 통해서 버전 릴리즈 때마다 도커 이미지를 새로 생성하고, 생성된 이미지를 ECS에 배포한다.
Codepipeline이 동작할 때마다 도커는 우분투 이미지를 중심으로, 서버 배포에 필요한 의존성 라이브러리를 다운로드한다.
하지만 코드가 바뀌는 일은 빈번히 일어나지만, 파이썬 버전, Nginx 버전 등은 쉽게 바뀌지 않기 때문에 base 이미지를 생성해서 도커 빌드 시간을 최소화 할 수 있다.
base 이미지를 생성하게 되면 배포시 도커 이미지는 이미 만들어진 base 이미지를 사용하므로 의존성 라이브러리 다운타임을 줄일 수 있다.
1. 도커 파일 생성하기 (Dockerfile)
1 FROM ubuntu:18.04
2 MAINTAINER yunhoo@wetrain.co.kr
3 RUN apt-get -y dist-upgrade
4 RUN apt-get -y upgrade
5 RUN apt-get -y update
6 RUN apt-get -y install apt-utils vim \
7 locales locales-all
8 ENV LC_ALL en_US.UTF-8
9 ENV LANG en_US.UTF-8
10 ENV LANGUAGE en_US.UTF-8
11 # Install python and virtualenv
12 RUN apt-get install -y build-essential python3-pip python-virtualenv ca-certificates uwsgi-plugin-python3 nginx libmemcached-dev
13
14 # Install
15 RUN apt-get install -y libpq-dev libjpeg-dev zlib1g-dev libgeoip-dev \
16 uwsgi-plugin-python3 nginx libmemcached-dev
17
18
19 RUN pip3 install --upgrade pip
20 RUN pip3 install --upgrade setuptools
21 RUN pip3 install uwsgi
22 RUN pip3 install awscli
2. Dockerfile를 빌드합니다.
docker build --tag <docker_hub_user_name>:tag_name .
docker build --tag woondoc/base_woondoc .
3. 정상 빌드된 이미지를 확인합니다.
docker images
4. 빌드된 이미지를 도커 허브에 push 합니다.
docker login # docker hub에 로그인합니다.
'Tech > Others' 카테고리의 다른 글
AWS Codepipeline을 이용해서 서버 배포 자동화(Codecommit, Codebuild, Codedeploy, ECR, ECS) - 1 (0) | 2019.04.24 |
---|---|
[Python] Slack Bot 사용하기 (0) | 2019.04.24 |
AWS Lambda로 FCM 전송하기 (0) | 2019.04.02 |
[AWS][Python] AWS Serverless Framework Chalice 사용하기 (0) | 2019.01.28 |
Docker + DockerHub(Automated Build) + Bitbucket 사용하기 (0) | 2018.03.27 |