그누보드5(영카트) 로컬 개발 환경 설정 #2 정보
그누보드5(영카트) 로컬 개발 환경 설정 #2본문
Docker를 이용한 laradock입니다. 윈도우, 맥, 리눅스 모두 가능합니다.
laradock의 깃헙 소스를 보시면 https://github.com/laradock/laradock
아주 많은 것들이 있습니다.
laradock의 기본은 하나의 컨테이너에 하나의 모듈이 실행된다고 보시면 됩니다.
Laravel로 예를 든다고 하면
DB는 Postgresql을 사용하고, PHP7.4에 nginx사용하고,
Redis와 elasticsearch, beanstalk를 사용해서 개발한다고 가정했을 때
docker-compose up -d nginx postgresql redis elasticsearch beanstalkd 식으로 실행하면 됩니다.
1. Docker를 설치합니다.
2. Laradock 설치하기
3. Laradock과 Nginx를 사용해서 그누보드5.4 설치해 보기
laradock 안에 있는 .env 파일(env-example에서 카피함.)에 모든 설정이 들어가 있습니다.
주로 사용하게 되는 것
프로젝트 디렉토리 설정
APP_CODE_PATH_HOST=../
데이타베이스의 위치
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data
php버전 변경하기
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
# Accepted values: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.3
그리고 각 Container에 대한 옵션들이 있습니다.
여기서 WORKSPACE가 원하는 파일이 들어가 있는 곳입니다. (그누보드5면 해당 php코드들이.)
### WORKSPACE #############################################
이 아래에 다양한 옵션들 사용하시면 됩니다.
composer, node, yarn등은 기본적으로 설치되어 있습니다.
** 중간에 xdebug 옵션도 있는데. false로 되어 있네요..
MySQL / MariaDB에는
데이타베이스 이름/유저/패스워드/루트 패스워드를 변경가능합니다.
현재 테스트/공부중인 것은
caddy 서버 https://caddyserver.com/ 2.0beta로 업데이트가 되어야 되는데..
Traefik https://docs.traefik.io/ 2.x버전으로 업데이트가 필요함
https://sir.kr/so_server?sca=&sfl=wr_subject%7C%7Cwr_content&stx=traefik
Dockerfile 관련 매뉴얼 https://docs.docker.com/engine/reference/builder/
구글 한글 번역
Docker-Compose관련 매뉴얼 https://docs.docker.com/compose/compose-file/
최종 목표는 Kubernetes까지 1강-7강까지 https://sir.kr/so_server/2943
그누보드나 영카트를 위해서 실행시켜야 될 명령어는 아래와 같습니다.
docker-compose up -d nginx mysql phpmyadmin
처음 이미지 빌드에만 시간이 걸립니다.
docker-compose ps 로 해 보면 총 6개가 실행되고 있을 알수 있습니다.
docker-in-docker와 php-fpm, workspace 세개가 더 생겼네요
php-fpm은 php7.3이 돌고 있고,
workspace는 코드가 들어가 있는 것이고..
docker-in-docker는 나중에 찾아 보겠습니다.
state가 up이 아닌 exit 가 나오면 뭔가 문제가 있는 것입니다.
docker-compose logs docker-in-docker 으로 log를 체크해 봅니다.
docker-compose exec workspace bash 로 접속해 보겠습니다.
php -v
node -v 등을 체크해 보고
/var/www 아래에 laradock이 보이면 Host 디렉토리가 잘 마운트 된것입니다.
exit한후에
docker-compose exec nginx bash 로 접속해 봅니다.
nginx -v 도 체크해 보고.
exit
docker-compose down 한후에
.env 파일을 수정해 봅니다.
그누보드 파일은 ./project/gnuboard5
데이타베이스 파일은 ./project/sqldata
APP_CODE_PATH_HOST=./project/gnuboard5
DATA_PATH_HOST=./project/sqldata
데이타 베이스는 mariadb로 변경할 예정인데, phpmyadmin 이 mariadb를 볼수 있게 변경합니다.
PMA_DB_ENGINE=mariadb
mkdir project
cd project
git clone https://github.com/gnuboard/gnuboard5
mkdir gnuboard5/data
cd ..
mkdir sqldata
cd ..
nigix/sites/default.conf 파일이 laravel의 디폴트 public아래를 쳐다봄.
root /var/www/public;에서 public을 지움.
docker-compose up -d nginx mariadb phpmyadmin
docker-compose ps
phpmyadmin 은 localhost:8080
locahost로 접속해서
도커와 laradock도 시스템 관련 연관성이 거의 없습니다. 이미 사용하고 있는 포트만 겹치지 않은다면 어디서나 사용이 가능합니다. (외장하드에도 가능하지만, 호스트에 docker desktop은 설치해야 되고, 필요하면 hosts 파일은 수정해야 됩니다.)
1
댓글 0개