AWS EC2에 Docker 설치,Ubuntu 이미지 빌드

김유신·2024년 2월 21일
0

Docker

목록 보기
1/3


Docker

리눅스 컨테이너를 생성하고 실행하며 배포하는 플랫폼

AWS EC2에 도커 설치 -


1. 아마존 리눅스 2 인스턴스 시작후 연결

  1. 인스턴스 설치한 패키지,캐시 업데이트
$ sudo yum update -y
  1. 도커 엔진 패키지 설치
$ sudo amazon-linux-extras install docker -y
  1. 도커 서비스 시작
$ sudo service docker start

(시스템이 재부팅될 때마다 Docker 데몬이 시작되도록 하려면)

$ sudo systemctl enable docker
  1. ec2-user를 사용하지 않고도 도커 명령을 실행할 수 있도록 docker 그룹에 sudo를 추가
$ sudo usermod -a -G docker ec2-user
  1. 로그아웃하고 다시 로그인해서 새 docker 그룹 권한을 선택
    이를 위해 현재 SSH 터미널 창을 닫고 새 창에서 인스턴스를 다시 연결
    새 SSH 세션은 해당되는 docker 그룹 권한을 갖게 됨
$ exit

Docker 이미지 생성

  1. Dockerfile 생성
$ touch Dockerfile
  1. 방금 만든 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
  1. Dockerfile 에서 Docker 이미지 빌드
$ docker build -t ubuntu . 

현재 디렉토리에 빌드이기 때문에 . <이 붙음

  1. 방금 만든 Dockerfile 을 수정하고 다음 내용을 추가
$ docker images --filter reference=ubuntu

위 사진처럼 빌드한 이미지 출력값이 나옴.

새로 빌드된 이미지 실행. p 80:80 옵션은 컨테이너에 있는 노출된 포트 80을 호스트 시스템에 있는 포트 80에 매핑

$ docker run -t -i -p 80:80 ubuntu

브라우저에서 EC2 인스턴스의 Public IP 에서 Hello 확인 !

profile
KYS's blog

0개의 댓글

관련 채용 정보