57dcc9d329
This command changed in pnpm [6.32.13](https://github.com/pnpm/pnpm/releases/tag/v6.32.13) and [7.1.1](https://github.com/pnpm/pnpm/releases/tag/v7.1.1) so lets update it since its been a few weeks and we can expect pnpm users to update more regularly than npm users. - Fixes https://github.com/vercel/next.js/pull/37240 - Fixes https://github.com/vercel/next.js/pull/37045 - Fixes https://github.com/vercel/next.js/pull/37032 - Fixes https://github.com/vercel/next.js/pull/36602 - Fixes https://github.com/vercel/next.js/pull/36496
64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# With Docker - Multiple Deployment Environments
|
|
|
|
This examples shows how to use Docker with Next.js and deploy to multiple environment with different env values. Based on the [deployment documentation](https://nextjs.org/docs/deployment#docker-image).
|
|
|
|
## How to use
|
|
|
|
Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init), [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/), or [pnpm](https://pnpm.io) to bootstrap the example:
|
|
|
|
```bash
|
|
npx create-next-app --example with-docker-multi-env nextjs-docker-multi-env
|
|
# or
|
|
yarn create next-app --example with-docker-multi-env nextjs-docker-multi-env
|
|
# or
|
|
pnpm create next-app --example with-docker-multi-env nextjs-docker-multi-env
|
|
```
|
|
|
|
Enter the values in the `.env.development.sample`, `.env.staging.sample`, `.env.production.sample` files to be used for each environments.
|
|
|
|
## Using Docker and Makefile
|
|
|
|
### Development environment - for doing testing
|
|
|
|
```
|
|
make build-development
|
|
make start-development
|
|
```
|
|
|
|
Open http://localhost:3001
|
|
|
|
### Staging environment - for doing UAT testing
|
|
|
|
```
|
|
make build-staging
|
|
make start-staging
|
|
```
|
|
|
|
Open http://localhost:3002
|
|
|
|
### Production environment - for users
|
|
|
|
```
|
|
make build-production
|
|
make start-production
|
|
```
|
|
|
|
Open http://localhost:3003
|
|
|
|
## Running Locally
|
|
|
|
First, run the development server:
|
|
|
|
```bash
|
|
npm run dev
|
|
# or
|
|
yarn dev
|
|
```
|
|
|
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
|
|
You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
|
|
|
|
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
|
|
|
|
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
|