f00ad581a1
Co-authored-by: Joe Haddad <joe.haddad@zeit.co> |
||
---|---|---|
.. | ||
pages | ||
public | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
Dockerfile.multistage | ||
package.json | ||
README.md |
With Docker
This example shows how to set custom environment variables for your docker application at runtime.
The dockerfile
is the simplest way to run Next.js app in docker, and the size of output image is 173MB
. However, for an even smaller build, you can do multi-stage builds with dockerfile.multistage
. The size of output image is 85MB
.
You can check the Example Dockerfile for your own Node.js project section in mhart/alpine-node for more details.
How to use
Using create-next-app
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-docker with-docker-app
# or
yarn create next-app --example with-docker with-docker-app
Download manually
Download the example:
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-docker
cd with-docker
Build it with docker:
# build
docker build -t next-app .
# or, use multi-stage builds to build a smaller docker image
docker build -t next-app -f ./Dockerfile.multistage .
Alternatively you can add these commands as scripts to your package.json and simply run
yarn build-docker
or
yarn build-docker-multistage
Run the docker image:
docker run --rm -it \
-p 3000:3000 \
next-app
or use yarn build-docker-multistage