Docker
리눅스 컨테이너를 생성하고 실행하며 배포하는 플랫폼
AWS EC2에 도커 설치 -
1. 아마존 리눅스 2 인스턴스 시작후 연결
$ sudo yum update -y
$ sudo amazon-linux-extras install docker -y
$ sudo service docker start
(시스템이 재부팅될 때마다 Docker 데몬이 시작되도록 하려면)
$ sudo systemctl enable docker
$ sudo usermod -a -G docker ec2-user
$ exit
Docker 이미지 생성
$ touch Dockerfile
$ sudo vi 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
$ docker build -t ubuntu .
현재 디렉토리에 빌드이기 때문에 . <이 붙음
$ docker images --filter reference=ubuntu
위 사진처럼 빌드한 이미지 출력값이 나옴.
새로 빌드된 이미지 실행. p 80:80 옵션은 컨테이너에 있는 노출된 포트 80을 호스트 시스템에 있는 포트 80에 매핑
$ docker run -t -i -p 80:80 ubuntu
브라우저에서 EC2 인스턴스의 Public IP 에서 Hello 확인 !