답변 5개 / 댓글 2개
남기신 후기를 보니 composer install과 artisan 명령을 호스트에서 실행하고 계신데, 바로 그 지점이 문제입니다. 도커를 쓰는 경우 이 명령들은 호스트가 아니라 컨테이너 안에서 실행하는 것이라, 호스트 PHP가 8.1이든 아예 없든 상관이 없습니다. 호스트 버전 때문에 에러가 나는 상황 자체가 생기지 않아야 정상입니다.
구성 개요
app(PHP 8.2 이상 php-fpm, composer 포함) + web(nginx) + db(MySQL) 3개 컨테이너로 나누고, 소스 디렉터리를 app 컨테이너에 볼륨으로 마운트하는 표준 라라벨 구성을 그대로 쓰시면 됩니다. Dockerfile에서 composer는 공식 composer 이미지에서 복사해 넣는 방식이 간단합니다.
Copy
# 설치 작업은 전부 컨테이너 안에서 docker compose exec app bash composer install cp .env.example .env php artisan key:generate php artisan migrate
주의점 두 가지
1. php artisan serve는 개발용 내장 서버라 컨테이너 운영에는 부적합합니다. 운영은 php-fpm + nginx 조합으로 돌리고, serve 명령은 잊으셔도 됩니다.
2. .env의 DB 호스트는 localhost가 아니라 compose 서비스명(예: db)으로 지정해야 컨테이너끼리 연결됩니다.
위에 공유된 커뮤니티 제작 이미지를 쓰시든 직접 구성하시든, "호스트에는 도커만 있으면 되고 PHP·composer는 전부 컨테이너 몫"이라는 원칙만 잡으시면 지금 겪으신 버전 문제는 사라집니다.
도커로 php8.4, mysql8.4 로 환경을 만든후에
git 로 소스를 복사한후에,
그런데, 이런 명령어를 호스트에서 하려니
호스트에도 php 8.2 이상 composer 가 설치되어야 하는데,
호스트의 php 버전이 8.1로 더 버전이 낮으니 composer install 실행이 에러가 나네요.
설치부터 쉽지가 않군요.
git 로 소스를 복사한후에,
composer installcp .env.example .envphp artisan serve
이런 명령어를 또 실행해야 하는군요.그런데, 이런 명령어를 호스트에서 하려니
호스트에도 php 8.2 이상 composer 가 설치되어야 하는데,
호스트의 php 버전이 8.1로 더 버전이 낮으니 composer install 실행이 에러가 나네요.
설치부터 쉽지가 않군요.
안녕하세요. 그누보드7 도커 이미지는 공식적으로 지원하고 있지 않습니다.
다만, 다른 커뮤니티 분이 개발해주신 이미지가 있어 참고차 링크 공유드립니다
https://svrforum.com/software/3094052
감사합니다.
다만, 다른 커뮤니티 분이 개발해주신 이미지가 있어 참고차 링크 공유드립니다
https://svrforum.com/software/3094052
감사합니다.
답변에 대한 댓글 2개
@돼지코구뇽
그누보드7이 Python(FastAPI) 기반으로 변경되었다는 내용은 사실과 다릅니다.
그누보드7은 'PHP/Laravel 기반'입니다.
파이썬환경세팅이 필요하다는 설명 역시 잘못된 정보입니다.
도커가 설치환경을 표준화하는 데 도움이 된다는 것과,
존재하지 않는 아키텍처 변경을 사실처럼 설명하는 것은 전혀 다른 문제입니다.
기술적인 답변을 하시려면 최소한 해당 프로젝트의 실제 기술 스택 정도는 확인하고 작성하시는 게 좋겠습니다.
처음 접하는 분들이 이 댓글만 보고 “그누보드7 = Python/FastAPI”라고 잘못 이해할 수 있습니다.
그누보드7이 Python(FastAPI) 기반으로 변경되었다는 내용은 사실과 다릅니다.
그누보드7은 'PHP/Laravel 기반'입니다.
파이썬환경세팅이 필요하다는 설명 역시 잘못된 정보입니다.
도커가 설치환경을 표준화하는 데 도움이 된다는 것과,
존재하지 않는 아키텍처 변경을 사실처럼 설명하는 것은 전혀 다른 문제입니다.
기술적인 답변을 하시려면 최소한 해당 프로젝트의 실제 기술 스택 정도는 확인하고 작성하시는 게 좋겠습니다.
처음 접하는 분들이 이 댓글만 보고 “그누보드7 = Python/FastAPI”라고 잘못 이해할 수 있습니다.
답변을 작성하려면 로그인이 필요합니다.