제목 | [CI4 팁공유] 일단 무작정 켜보기 - Docker를 써서 | ||
---|---|---|---|
글쓴이 | 엽토군 | 작성시각 | 2019/03/15 14:30:30 |
|
|||
강좌라고 할 정도는 아니고 그냥 최근에 성공한 것을 팁 공유 차원에서 기록해 봅니다. 다들 아시다시피 Codeigniter 4의 설치 요건은 다음과 같습니다.
다른 건 뭐 다 좋은데 PHP 버전이 좀 걸리는 분들이 있으실 겁니다. 최신 라라벨도 7.2까지는 요구하지 않는데... CI 4 맛좀 보자고 PHP 버전을 올리자니 좀 애매하죠. 그래서 Docker를 이용해서 그냥 소스를 돌려 보는 것만 해보기로 했습니다. 도커가 뭐냐는 것은 이 문서의 설명 범위 밖에 있고 제 능력이 일천하므로 과감히 생략합니다.
1. 일단 CI4를 Manual Installation을 합니다. https://codeigniter4.github.io/CodeIgniter4/installation/installing_manual.html 공식 문서에 써 있는 대로 (아주 전통적인 방식으로) zip을 다운 받아 그대로 원하는 폴더에 풀어 줍니다. 이제 CMD에서 php spark serve를 치면 이론상 PHP 내장웹서버가 돌아야 하지요. 하지만 PHP 버전이 7.1이나 그 이하라면 에러가 나고 작동을 안 할 겁니다.
2. docker를 설치합니다. 설치 과정은 운영체제별로 약간 다르니 생략합니다. 결과적으로, 커맨드창에서 docker info를 날렸을 때 뭐가 떠야 합니다.
3. docker-compose 환경을 생성합니다. https://phpdocker.io/generator 이 사이트는 "전형적인 PHP 개발 환경"을 Docker 기반으로 짤 수 있게 파일을 만들어주는 사이트입니다. 각 입력칸에 대해서 저는 이렇게 했습니다.
이렇게 하고 나서 Generate Project Archive를 누르면 zip 파일이 하나 떨어집니다.
4. 생성한 docker-compose 환경을 설치한 CI에 설치합니다. 먼저 1번 단계에서 수동 설치한 CI 소스의 루트에 zip 파일 압축을 풉니다. 결과적으로 docker-compose.yml 파일과 spark 파일이 같은 위치에 오게 되고, 아마도 phpdocker 폴더가 프로젝트에 새로 생기게 될 것입니다. 이제 필요한 수정을 약간 합니다. phpdocker/php-fpm/php-ini-override.ini 파일을 까보시면 설정값이 달랑 두 줄 들어가 있습니다. 다음과 같이 추가적으로 필요한 것들을 넣어줍시다. date.timezone = Asia/Seoul short_open_tag = On
5. Docker Compose를 실행하여 컨테이너를 띄웁니다. 이제 docker-compose.yml 파일이 있는 위치에서 다음 명령을 실행합니다. docker-compose up -d 3번 단계에서 적당히 지어준 Project Name을 기반으로 한 mariadb, phpfpm, webserver 3개의 컨테이너가 뜨는 것을 볼 수 있습니다. 이제 localhost:8700 으로 접속하면 CI 4 소스가 도는 것을 볼 수 있습니다(내 로컬에 PHP 7.2를 깔지 않았는데도 말이죠).
파이썬에는 기본으로 딸려 있(다)는 virtualenv 같은게 PHP에는 없었는데, docker를 사용하면 간단히 프로젝트별 환경 구성을 다르게 해볼 수 있어서 좋은 것 같네요. 좀더 CI 4를 살펴보면서.. 마이그레이션 사용하는 법이나 Entity 사용하는 법 같은걸 좀더 파볼 계획입니다. ^^ |
|||
다음글 | docker로 CI 3.1.10 빠르게 시작 하기 [P... (11) | ||
이전글 | 코드이그나이터 사용 가이드 part 1.1 [가이드 문... (8) | ||
한대승(불의회상)
/
2019/03/16 09:21:49 /
추천
0
|
kaido
/
2019/03/19 12:30:21 /
추천
0
좋은정보 감사합니다. 간결하게 php-fpm 에다 설정 씌워서 Dockerfile 만들어 줘서 간단 하네요 ㅎㅎ 다만 안타까운것이 윈도우 도커는 버전을 좀 많이 탑니다 ㅠㅠ PS F:\php71> docker-compose up --build -d Pulling webserver (nginx:alpine)... ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 윈10 Docker version 18.09.2, build 6247962 해당 버전에서는 빌드 안되는 버전이네요 ㅠㅠ |
테러보이
/
2020/01/14 12:47:42 /
추천
0
오호 좋은 자료 감사합니다.
|
좋은 정보 감사합니다.