65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
|
## Compose sample application
|
||
|
|
||
|
### Use with Docker Development Environments
|
||
|
|
||
|
### NestJS
|
||
|
|
||
|
Project structure:
|
||
|
|
||
|
```
|
||
|
.
|
||
|
├── compose.yaml
|
||
|
├── README.md
|
||
|
└── app
|
||
|
├── Dockerfile
|
||
|
└── ...
|
||
|
```
|
||
|
|
||
|
[_compose.yaml_](compose.yaml)
|
||
|
|
||
|
```
|
||
|
services:
|
||
|
api:
|
||
|
build:
|
||
|
context: app
|
||
|
target: production
|
||
|
ports: # You should add the port you need to expose applicaiton if you change the default port
|
||
|
- '3000:3000'
|
||
|
```
|
||
|
|
||
|
Make sure port 3000 on the host is not already being in use.
|
||
|
Make sure you have already add the port you need to expose applicaiton if you change the default port
|
||
|
|
||
|
## Deploy with docker compose
|
||
|
|
||
|
```
|
||
|
$ docker compose up -d
|
||
|
[+] Building 1.2s (18/19)
|
||
|
=> [internal] load build definition from Dockerfile
|
||
|
=> transferring dockerfile: 655B
|
||
|
...
|
||
|
[+] Running 1/1
|
||
|
⠿ Container nestjs-api-1 Started
|
||
|
```
|
||
|
|
||
|
## Expected result
|
||
|
|
||
|
Listing containers must show one container running and the port mapping as below:
|
||
|
|
||
|
```
|
||
|
$ docker ps
|
||
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||
|
7573c6f216ed nestjs_api "docker-entrypoint.s…" 2 minutes ago Up 2 minutes (health: starting) 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp nestjs-api-1
|
||
|
```
|
||
|
|
||
|
After the application starts, navigate to `http://localhost:3000` in your web browser. (if you didn't specify a port, the default port will be used.)
|
||
|
|
||
|
Stop and remove the containers
|
||
|
|
||
|
```
|
||
|
$ docker compose down
|
||
|
[+] Running 2/2
|
||
|
⠿ Container nestjs-api-1 Removed
|
||
|
⠿ Network nestjs_default Removed
|
||
|
```
|