a8b3e7809a
Just define base docker image for multi-stage build ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md) |
||
---|---|---|
.. | ||
docker | ||
pages | ||
public | ||
styles | ||
.dockerignore | ||
.env | ||
.env.development.sample | ||
.env.production.sample | ||
.env.staging.sample | ||
.gitignore | ||
Makefile | ||
next.config.js | ||
package.json | ||
README.md |
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.
How to use
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
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
Staging environment - for doing UAT testing
make build-staging
make start-staging
Production environment - for users
make build-production
make start-production
Running Locally
First, run the development server:
npm run dev
# or
yarn dev
Open 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 can be accessed on 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 instead of React pages.