VS Code Can Do That - Workshop
Main
Main
  • VS Code Can Do That Workshop
  • Essential Keyboard Shortcuts
  • Exercise 1 - Customizing The Editor
    • Customizing The Editor
    • Switch themes
    • Install a new icon theme
    • Switch fonts
    • Editor tweaks
    • Change default Settings view
    • Easily identify editor instances
  • Exercise 2 - Productivity Tricks
    • Productivity Tricks
    • Essential navigation shortcuts
    • Creating HTML with Emmet
    • Styling with Emmet
    • Update image sizes
  • Exercise 3 - Navigation And Refactoring
    • Navigation And Refactoring
    • Moving, Duplicating and Deleting
    • Folding sections
    • Multiple cursors
    • Rename refactor
    • Finding things
    • Extract refactor
  • Exercise 4 - Debugging
    • Debugging
    • Simple debugging
    • Simple launch config
    • Auto attach
    • Debugging browser apps
    • Compound debug configurations
  • Exercise 5 - Docker
    • Docker
    • Dockerizing an application
    • Running and inspecting images
    • Docker compose
    • Debugging Docker containers
  • Exercise 6 - Remote Development
    • Remote Development
    • Create a remote container
    • Create a new function in the container
    • Handling extensions
  • Exercise 7 - Working With Data
    • Working with data
    • Working with MongoDB
    • Working with SQLite
    • Working with MySQL
  • Exercise 8 - Git and Source Control
    • Git and source control
    • Cloning repos with VS Code
    • Common Git workflows
    • Branching and merge conflicts
Powered by GitBook
On this page

Was this helpful?

  1. Exercise 5 - Docker

Dockerizing an application

PreviousDockerNextRunning and inspecting images

Last updated 5 years ago

Was this helpful?

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 start
  • 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.