Update Dockerfile and add healthcheck
This commit is contained in:
parent
78c52861c7
commit
fb845c3e03
2 changed files with 30 additions and 4 deletions
15
Dockerfile
15
Dockerfile
|
@ -45,10 +45,17 @@ ENV NODE_ENV production
|
|||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --link --from=builder /app/next.config.js /app/.next/standalone ./
|
||||
COPY --link --from=builder /app/public ./public/
|
||||
COPY --link --from=builder /app/package.json ./package.json
|
||||
COPY --link --from=builder /app/.next/static ./.next/static/
|
||||
# Copy files from context
|
||||
COPY --link package.json next.config.js ./
|
||||
COPY --link --chmod=755 healthcheck.js ./
|
||||
COPY --link /public ./public
|
||||
|
||||
# Copy files from builder
|
||||
COPY --link --from=builder /app/.next/standalone ./
|
||||
COPY --link --from=builder /app/.next/static/ ./.next/static/
|
||||
|
||||
HEALTHCHECK --interval=12s --timeout=12s --start-period=30s \
|
||||
CMD node ./healthcheck.js
|
||||
|
||||
EXPOSE 3000
|
||||
ENV PORT 3000
|
||||
|
|
19
healthcheck.js
Executable file
19
healthcheck.js
Executable file
|
@ -0,0 +1,19 @@
|
|||
var http = require("http");
|
||||
var options = {
|
||||
host: "localhost",
|
||||
port: "3000",
|
||||
timeout: 2000,
|
||||
};
|
||||
var request = http.request(options, (res) => {
|
||||
console.log(`STATUS: ${res.statusCode}`);
|
||||
if (res.statusCode == 200) {
|
||||
process.exit(0);
|
||||
} else {
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
request.on("error", function (err) {
|
||||
console.log("ERROR");
|
||||
process.exit(1);
|
||||
});
|
||||
request.end();
|
Loading…
Add table
Reference in a new issue