본문 바로가기
개발/Linux

[Amazon ECS] 2. 도커 이미지 생성

by Allonsy 2021. 9. 10.
반응형

# 간단한 웹 애플리케이션 도커 이미지 생성

1. DockerFile 파일 생성

- 도커 이미지에 사용할 기본 이미지 및 이를 설치하고 실행할 항목을 설명하는 매니페스트

 

자세한 내용은 아래 클릭클릭!

 

Dockerfile reference

 

docs.docker.com

 

$ touch Dockerfile

 

2. Dockerfile 수정, 내용 추가

FROM ubuntu:18.04

# Install dependencies
RUN apt-get update && \
 apt-get -y install apache2

# Install apache and write hello world message
RUN echo 'Hello World!' > /var/www/html/index.html

# Configure apache
RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \
 echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \
 echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ 
 echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ 
 chmod 755 /root/run_apache.sh

EXPOSE 80

CMD /root/run_apache.sh

 

* FROM

 Ubuntu 18.04 이미지 사용

 

* RUN

1) 패키지 캐시 업데이트, 아파치 설치

2) Hello World! 터미널에 출력

3) /root/run_apache.sh 에 실행할 스크립트 작성 & 권한 설정

 

* EXPOSE

 80포트로 실행

 

* CDM

/root/run_apache.sh 실행

 

3. Dockerfild 에서 도커 이미지 빌드

$ docker build -t hello-world .

* 도커의 일부 버전에서는 상대 경로 대신 Dockerfile 전체 경로가 필요할 수 있음

 

4. docker images를 실행하여 이미지가 올바로 생성되었는지 확인

$ docker images --filter reference=hello-world

 

5. 새로 빌드된 이미지 실행

$ docker run -t -i -p 80:80 hello-world

* -p 80:80

컨테이너에 있는 포트 80을 시스템에 있는 포트 80에 매핑

 

docker run에 대한 자세한 내용은 아래 클릭클릭!

 

Docker run reference

 

docs.docker.com

 

* "Could not reliably determine the server's fully qualified domain name" 메시지는 무시해도 됨

 

6. 서버가 잘 떴는지 확인해보기!

브라우저에서 서버의 IP 또는 도메인 + 열어준 포트번호로 들어가보기

 

* EC2 인스턴스 => 서버의 Public DNS

 

* Docker를 로컬에서 실행하고 있는 경우 => localhost

 

* docker-machine을 사용하는 경우 => docker-machine ip  명령을 이용해서 도커를 호스팅하고 있는 IP 주소를 찾고, 사용하고 있는 도커 머신의 이름으로 machine-name을 변경

$ docker-machine ip machine-name

 

7. 도커 컨테이너 중지 ctrl + c 

반응형

댓글