DevOps/Docker
[Docker] EC2에서 Docker 컨테이너를 활용하여 웹 서버 실행하기
백엔드 규니
2021. 3. 29. 16:04
728x90
반응형
EC2에 Docker를 이용해서 웹 서버 띄우기
이번 글에서는 EC2 Linux2를 이용해서 실습을 진행해보겠습니다.
docker 설치
sudo yum update -y
sudo amazon-linux-extras install -y docker
sudo service docker start
Amazon Linux 2에 LAMP 웹 서버 설치
EC2 linux2 버전에서 웹 서버를 설치하는 명령어를 정리해보겠습니다.
sudo yum update -y
sudo amazon-linux-extras install -y php7.2
sudo yum install -y httpd
sudo systemctl start httpd (Apache 웹 서버 시작(d는 daemon 임))
sudo systemctl enable httpd (Apache 웹 서버가 매번 시스템이 부팅할 때마다 시작되도록 함)
sudo systemctl is-enabled httpd (httpd 가 실행되고 있는지 확인하는 명령어)
그리고 본인의 EC2 IP 주소로 접속하면 아래와 같이 웹 서버가 잘 설치된 것을 볼 수 있습니다.
그리고 docker
라는 디렉토리를 만들고 그 안에 Dockerfile
을 작성해보겠습니다.
Dockerfile
# 베이스 이미지는 ubuntu:18.04 를 사용
FROM ubuntu:18.04
MAINTAINER Gyunny <wjdrbs966@naver.com>
RUN apt-get update
RUN apt-get install -y apache2 # Install Apache web server (Only 'yes')
# 컨테이너를 80번 포트로 하겠다.
EXPOSE 80
# apache 서버가 죽지 않고 백그라운드로 돌아가기 위해서 아래의 명령어 실행
CMD ["apachectl", "-D", "FOREGROUND"]
위와 같이 Dockerfile
을 작성하겠습니다.
docker build -t gyunny .
그리고 해당 Dockerfile이 있는 위치에서 위의 명령어를 입력하면 gyunny
라는 이름의 Image가 만들어지게 됩니다.
docker images
라는 명령어를 통해서 확인해보면 위와 같이 이미지가 잘 만들어진 것을 볼 수 있습니다. 그리고 gyunny Image
를 가지고 8000, 8001번 Port 컨테이너를 실행시켜 보겠습니다.
docker run -d -p 8000:80 gyunny
docker run -d -p 8001:80 gyunny
docker ps (실행중인 컨테이너 확인)
위의 명령어를 통해서 컨테이너 80번 포트와 EC2 8000, 8001 포트를 연결
해서 2개의 컨테이너를 실행 시켜보겠습니다.
그러면 위와 같이 컨테이너 두개가 실행되고 있는 것을 볼 수 있습니다.
그리고 위와 같이 8000
, 8001
포트로 접근하면 위와 같이 화면이 뜨는 것을 볼 수 있습니다.
Reference
반응형