1 | initial version |
The process for using a distroless image in Docker to host Strapi without employing the npm command can be summarized as follows:
Here is an example Dockerfile for hosting Strapi using a distroless image:
# Use a distroless base image
FROM gcr.io/distroless/nodejs
# Set the working directory and copy in the Strapi application code
WORKDIR /usr/src/app
COPY . .
# Install required dependencies
RUN npm install
# Set the environment variables
ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=1337
ENV DATABASE_CLIENT=mysql
ENV DATABASE_NAME=strapi
ENV DATABASE_HOST=strapi-db
ENV DATABASE_PORT=3306
ENV DATABASE_USERNAME=strapi
ENV DATABASE_PASSWORD=strapi
# Expose the Strapi port
EXPOSE 1337
# Start the Strapi server
CMD ["node", "server.js"]
To build and run the Docker container, use the following commands:
# Build the Docker image
docker build -t my-strapi-app .
# Run the Docker container
docker run -d -p 1337:1337 --name my-strapi-container my-strapi-app
This will start the Strapi server and make it available on port 1337 of your local machine.