deploy: compose.yaml, container_name, .env 적용 안내

Made-with: Cursor
This commit is contained in:
2026-04-13 14:18:37 +09:00
parent 3058f6a976
commit 58a64a14c2
8 changed files with 23 additions and 12 deletions

View File

@@ -92,7 +92,7 @@ cd /volume1/docker/projects/apps/todo
ls
```
`docker-compose.yml`, `Dockerfile`, `package.json` 등이 보이면 된다.
`docker-compose.yaml`, `Dockerfile`, `package.json` 등이 보이면 된다.
---
@@ -103,7 +103,7 @@ ls
예시:
- `docker-compose.yml`에 적어 둔 **호스트 포트**(웹 `42881`, PocketBase `42917`)는 다른 스택과 겹치지 않게 잡은 값이다. 겹치면 해당 파일의 `ports`만 바꾼 뒤, 아래 `export`·`.env`의 포트도 같이 맞춘다.
- `docker-compose.yaml`에 적어 둔 **호스트 포트**(웹 `42881`, PocketBase `42917`)는 다른 스택과 겹치지 않게 잡은 값이다. 겹치면 해당 파일의 `ports`만 바꾼 뒤, 아래 `export`·`.env`의 포트도 같이 맞춘다.
- 같은 NAS 안의 브라우저만: `http://127.0.0.1:42917`처럼 **호스트에 열린 포트**로 접근한다. **폰이나 다른 PC**에서는 `127.0.0.1` 대신 **NAS LAN IP**를 써야 한다.
- 집 안에서 여러 기기: `http://192.168.x.x:42917`(API), `http://192.168.x.x:42881`(웹) 형태로 쓴다.
@@ -115,7 +115,7 @@ IP 확인은 NAS 관리 화면의 네트워크 정보를 보거나, SSH에서 NA
## 6. 환경 변수 설정 후 Compose 실행
`docker compose`는 프로젝트 루트에 **`.env` 파일이 있으면 자동으로 읽는다.** (Git에 올리지 말 것. `.gitignore`에 포함됨.)
`docker compose`는 프로젝트 루트에 **`.env` 파일이 있으면 자동으로 읽는다.** (Git에 올리지 말 것. `.gitignore`에 포함됨.) **`.env.example`은 읽지 않는다.** 적용하려면 `cp .env.example .env``.env`만 수정한다.
### 6-0. 운영 도메인을 쓰는 경우(예: todo.sori.studio)
@@ -155,7 +155,7 @@ docker compose up -d --build
docker compose ps
```
`pocketbase`, `todo-web`(또는 compose에 정의된 웹 서비스 이름)이 `running`에 가깝게 보이면 된다.
`todo-pocketbase`, `todo-web`(컨테이너 이름·`docker-compose.yaml``container_name`)이 `running`에 가깝게 보이면 된다.
### 6-3. 로그가 궁금할 때
@@ -282,6 +282,7 @@ docker compose up -d --build
| 폰에서만 안 됨 | `VITE_POCKETBASE_URL``127.0.0.1`이 아닌지, 폰이 같은 WiFi인지, NAS IP가 맞는지 |
| 빌드 후에도 주소가 이상함 | `docker compose build --no-cache` 후 다시 `up`, 또는 `export`를 잊지 않았는지 |
| ARM NAS에서 이미지 오류 | 사용 중인 이미지가 해당 CPU 아키텍처를 지원하는지 로그로 확인한다. |
| 컨테이너 이름 충돌 | `todo-pocketbase`·`todo-web`이 이미 있으면 `docker-compose.yaml``container_name`을 바꾼다. |
| `fatal: not a git repository` | `apps`가 아니라 **`cd todo`(클론한 폴더)** 안에서 실행했는지 확인한다. |
| `git pull`이 안 되거나 안 받아짐 | 10절 순서대로 `git status`·`fetch`·`checkout main`·`pull --ff-only`, 로컬 수정·비공개 저장소 자격 확인 |