Dockerizing an application
Containers are made up of images. Images contain your project and it's dependencies.
Exercise
Answer
    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"
1
FROM node:10.13-alpine
2
ENV NODE_ENV production
3
ENV API_BASE https://lifx-lamp-api.azurewebsites.net/api
4
ENV PORT 3000
5
WORKDIR /usr/src/app
6
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
7
RUN npm install --production --silent && mv node_modules ../
8
COPY . .
9
EXPOSE 3000
10
CMD npm start
Copied!
    Open 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
Note that if you get an error saying "cannot connect to Docker daemon", make sure that Docker is installed and running on your machine.
Last modified 2yr ago
Copy link