본문 바로가기

혼자하는 프로젝트/AWS_도커 구현

5.도커 컨테이너 생성 및 아파치 웹서버 생성

sudo apt update를 입력하여 최신버전으로 유지한다.

sudo apt install apt-transport-https 를 입력하여 설치한다.

sudo apt install ca-certificates 를 입력하여 설치한다.

sudo apt install curl 을 입력하여 설치한다.

sudo apt install software-properties-common 을 입력하여 설치한다.

위의 도커 설치 경로를 입력하여 해당 url에서 다운로드 할 수 있도록 등록한다.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

위의 명령어를 입력하여 도커 버전을 다운로드 한다.

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

sudo apt update 를 입력하여 최신버전을 다시 다운한다.

sudo apt install docker-ce 를 입력하여 설치한다.

sudo systemctl status docker 를 입력하여 도커가 정상적으로 실행 되고 있는지 확인한다.

기본적으로 도커는 systemctl에 등록되어 OS가 기동될때 같이 기동된다.

docker images 를 입력하면 해당 OS에 등록된 도커 이미지를 확인할 수 있다.

docker ps -a 를 입력하여 해당 도커 프로세스를 확인할 수있다.

일반 리눅스나 유닉스의 ps -ef | grep 과 같은 역할을 한다.

도커 프로세스를 삭제 할때는 docker rm 프로세스명을 클릭하여 지운다.

 

# 도커에서 이미지를 생성하는 방법에 대해서 알아보자.

cd /home/ubuntu 로 이동하여 example 폴더를 생성한다.

cd example 로 example 폴더 안으로 이동하고 vi 를 활용하여 Dockerfile 이라는 파일을 생성한다.

FROM ubuntu:18.04
MAINTAINER Seung-Hyun Kim <may9noy@gmail.com>

RUN apt-get update
RUN apt-get install -y apache2

EXPOSE 8080

CMD ["apachectl", "-D", "FOREGROUND"]

위의 명령어를 참고하여 스크립트를 만들어준다. 스크립트 내용은 순서대로 순차적 프로그래밍을 지원한다.

docker build -t example . 을 입력하여 docker 파일을 빌드한다.

docker images 를 입력하여 현재 생성된 docker 이미지를 확인한다.

docker 이미지 리스트를 볼 수 있다.

docker run -p 80:80 example 명령어를 입력하여 docker 이미지를 실행한다.

포트포워딩 예시: docker run -p 9000:80 example → 80번 포트로 서비스되는 정보를 9000번으로 포트 포워딩 한다. 한마디로 80으로 들어오는 서비스를 9000번으로 바인딩 시켜서 웹페이지에서는 원래 http://0.0.0.0:80으로 접속되는 서비스를 http://0.0.0.0:9000 으로 서비스가 접속 되도록 한다.

EC2 인스턴스로 이동하여 보안그룹을 클릭 → 인바운드 규칙편집에서 80 포트에 대한 포트를 오픈한다.

웹 페이지에서 ip:80을 입력하여, 해당 웹서버에 접근 할 수 있다.

아파치 웹 서버에 접근 된 모습.