AWS, Lightsail Container에 라라벨 올리기
2021. 1. 15. 17:24ㆍ개발/AWS
2020년 11월 AWS 블로그에는 Lightsail에 컨테이너 기반 워크로드를 배포할 수 있는 기능이 추가되었다고 글이 올라왔습니다.
- Amazon Lightsail Container 출시 – 클라우드에서 컨테이너를 손쉽게 실행하는 방법
그래서 이 기능을 통해 라라벨을 올려보기로 했습니다.
새로운 라라벨 프로젝트 생성
Installation Via Composer 링크에 나와있는데로 실행하면 손쉽게 라라벨 실행이 가능합니다.
진짜 편해졌습니다.
composer create-project laravel/laravel idiotlabs-playten
cd idiotlabs-playten
php artisan serve
artisan serve 실행 후 localhost:8000 에 접속하면 라라벨 화면을 확인할 수 있습니다.
Dockerfile 생성
도커 생성을 위한 Dockerfile을 생성합니다.
FROM php:7.4-fpm
# Install system dependencies
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
libzip-dev \
zip \
unzip
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /app
COPY . /app
RUN composer install
EXPOSE 8000
CMD php artisan serve --host=0.0.0.0 --port=8000
파일을 생성한 뒤에 빌드를 하고 실행을 해서 확인을 해봅니다.
실행 후 브라우저에서 라라벨 페이지가 뜨면 잘 된겁니다.
docker build -t idiotlabs-playten .
docker run -it --rm -p 8000:8000 idiotlabs-playten
Docker Hub에 Push
lightsail에 사용하기 위해 Docker Hub에 Push합니다.
docker tag idiotlabs-playten cobnut/idiotlabs-playten
docker login
docker push cobnut/idiotlabs-playten
Lightsail에 컨테이너 생성
Lightsail에 있는 컨테이너 서비스 생성을 이용합니다.
서비스 생성이 되면 배포를 준비할 수 있습니다.
'첫 번째 배포 생성'을 클릭 한 뒤에
컨테이너 이름, 이미지, 포트 그리고 퍼블릭 엔드포인트를 설정합니다.
생성을 한 뒤에 상단에 있는 퍼블릭 포인트로 접속하면 라라벨 기본 화면이 뜨는걸 확인할 수 있습니다.
'개발 > AWS' 카테고리의 다른 글
Amazon Bedrock에서 웹브라우징 (크롤링) 기능 추가하기 (0) | 2024.08.09 |
---|---|
Amazon Bedrock를 이용한 텍스트 생성을 lambda stream mode로 올리기 (0) | 2024.05.23 |
AWS, Elastic Beanstalk + Docker + Go (0) | 2019.04.04 |
AWS, Elastic Beanstalk에 Laravel 올리기 (0) | 2019.03.06 |
AWS, Amazon Elasticsearch Service에 filebeat를 이용하여 ec2 nginx log 기록 (0) | 2019.02.24 |