update Docker examples to specify HOSTNAME properly (#59756)
### What? Update docker examples to correctly set HOSTNAME env variable for standalone output Related to PR: https://github.com/vercel/next.js/pull/52804 ### Why? ### TL;DR The dockerfiile examples need to modified as that contains HOSTNAME setting that apparently is not working as expected. Related to Issue: https://github.com/vercel/next.js/issues/58657 Affected examples: https://github.com/vercel/next.js/tree/canary/examples/with-docker https://github.com/vercel/next.js/tree/canary/examples/with-docker-multi-env ### Longer explanations Based on [Docker document](https://docs.docker.com/engine/reference/builder/#environment-replacement): > You can also use environment variables with RUN, CMD, and ENTRYPOINT instructions, but in those cases the variable substitution is handled by the command shell, not the builder. It means that when executing the last CMD ( `node server.js` ) in Dockerfile samples, the HOSTNAME defined by prior `ENV` instruction is simply ignored. This causes problems typically when the host process sets HOSTNAME - e.g. for instance when using AWS Fargate for deployment [we can't have control over HOSTNAME](https://stackoverflow.com/a/52871552) set by the host process. (also refer to the issue #58657 above) ### How? Updated Dockerfilie samples, by setting HOSTNAME directly in CMD instruction that launches nextjs server, not in the builder process. Used this setting at my end (with AWS Fargate) to confirm that it fixes the network problem. Closes NEXT- Fixes #58657 Co-authored-by: Sam Ko <sam@vercel.com>
This commit is contained in:
parent
198e2d79d2
commit
430e71a38d
4 changed files with 4 additions and 9 deletions
|
@ -47,6 +47,5 @@ USER nextjs
|
|||
EXPOSE 3000
|
||||
|
||||
ENV PORT 3000
|
||||
ENV HOSTNAME localhost
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
CMD HOSTNAME=localhost node server.js
|
||||
|
|
|
@ -48,6 +48,5 @@ USER nextjs
|
|||
EXPOSE 3000
|
||||
|
||||
ENV PORT 3000
|
||||
ENV HOSTNAME localhost
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
CMD HOSTNAME=localhost node server.js
|
||||
|
|
|
@ -48,6 +48,5 @@ USER nextjs
|
|||
EXPOSE 3000
|
||||
|
||||
ENV PORT 3000
|
||||
ENV HOSTNAME localhost
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
CMD HOSTNAME=localhost node server.js
|
||||
|
|
|
@ -61,9 +61,7 @@ USER nextjs
|
|||
EXPOSE 3000
|
||||
|
||||
ENV PORT 3000
|
||||
# set hostname to localhost
|
||||
ENV HOSTNAME "0.0.0.0"
|
||||
|
||||
# server.js is created by next build from the standalone output
|
||||
# https://nextjs.org/docs/pages/api-reference/next-config-js/output
|
||||
CMD ["node", "server.js"]
|
||||
CMD HOSTNAME="0.0.0.0" node server.js
|
||||
|
|
Loading…
Reference in a new issue