Drogon - Get Started
드로곤(Drogon) - 시작하기
개요
몇 달 전에 프레임워크 벤치마크에서 최상위를 차지했던 프레임워크라서 한번 테스트해보고 싶었다. 이 문서는 드로곤을 빌드하고 웹 애플리케이션을 작성하여 띄우는 방법에 대해 살펴본다.
드로곤 빌드하기
이 프로젝트의 소스코드는 https://github.com/an-tao/drogon 에 있으면, 다음과 같이 클론 받을 수 있다.
git clone https://github.com/an-tao/drogon.git
클론받은 디렉터리 내부로 이동하면, Dockerfile
이 있는 것을 알 수 있다. 이 도커파일을 빌드하면 드로곤이 빌드되어 설치된 개발환경 이미지가 만들어진다.
docker build -t drogon/commpile-env .
첫 프로젝트 만들기
드로곤은 프로젝트의 초기 뼈대를 만들어 주는 유틸리티를 제공한다. 다음은 test-app
이라는 프로젝트 디렉터리를 생성한다.
drogon_ctl create project test-app
도커를 사용하지 않은 날것의 명령은 위와 같은데 도커 이미지를 사용하면 아래와 같이 할 수 있다.
docker run --rm --volume="$PWD:/drogon-project" -w="/drogon-project" drogon/compile-env drogon_ctl create project test-app
프로젝트 빌드하기
test-app
디렉터리 내부에 있다고 가정하면, 다음과 같이 수행할 수 있다.
docker run --rm --volume="$PWD:/drogon-project" -w="/drogon-project/build" drogon/compile-env sh -c "cmake .. && make"
애플리케이션 실행하기
먼저 도커이미지로 만들기 위해 프로젝트 디렉터리 바로 밑에 Dockerfile
을 다음과 같이 작성하도록 한다. 실행파일은 build
디렉터리 밑에 위치한다.
FROM ubuntu:18.04
RUN apt-get update -yqq \
&& apt-get install -yqq --no-install-recommends software-properties-common \
sudo curl wget cmake pkg-config locales git gcc-8 g++-8 \
openssl libssl-dev libjsoncpp-dev uuid-dev zlib1g-dev libc-ares-dev\
postgresql-server-dev-all libmariadbclient-dev libsqlite3-dev \
&& rm -rf /var/lib/apt/lists/* \
&& locale-gen en_US.UTF-8
ADD build/test-app /app/test-app
WORKDIR /app
CMD ./test-app
그리고 이미지를 빌드하고
docker build -t test/drogon-app .
다음과 같이 실행하면 된다.
docker run --rm -d -p 8080:80 test/drogon-app
검증은 다음과 같이 할 수 있다. 404 페이지가 표시되면 정상이다.
curl http://localhost:8080