Dockerizing an application
Containers are made up of images. Images contain your project and it's dependencies.
Add a Dockerfile to the start project. The Dockerfile should do the following...
Include a base Node image
Copy all the project files into the image
Run an npm install
Expose port 3000
Run npm start
Build the image
Open the Command Palette (Cmd/Ctrl + Shift + P)
Select "Add Dockefiles to workspace"

Select the "start" project

Select "Node.js" from the prompt

Enter "3000" in the prompt

VS Code will add "Dockerfile", "docker-compose.yml" and "debug.docker-compose.yml" files to the project
Open the "Dockerfile" in the "start" project
Add two ENV variables, "API_BASE" and "PORT"
FROM node:10.13-alpine
ENV NODE_ENV production
ENV API_BASE https://lifx-lamp-api.azurewebsites.net/api
ENV PORT 3000
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
COPY . .
EXPOSE 3000
CMD npm startOpen the Command Palette (Cmd/Ctrl + Shift + P)
Select "Docker Images: Build Image"

Select "start" as the workspace folder

Take the default image tag

An integrated terminal instance will open and Docker will build the image
Last updated
Was this helpful?