Lecture 9
Quick Announcements
- Final Project Demonstration
- Tuesday 12/5 12:30 โ 2:00pm
- Location: Upson 222
- Demo required (5 minutes max)
- Presentation optional
Containerization Concepts
Containerization allows applications to packaged with their dependencies into standardized units called containers.
Benefits
- Portability between environments
- Ensure consistency
- Streamline deployment
Docker is a popular containerization platform. Key concepts:
- Images: Blueprint describing the environment
- Containers: Running instances of images
- Dockerfile: Defines how to build an image
With Docker we can package applications into images that can be run reliably as containers anywhere.
Docker Setup
To build a Docker image for a Node.js app:
- Create a Dockerfile
- Define base image, copy source code, specify commands
- Build image:
docker build
- Run container from image:
docker run
Deploying Containers
Platforms like Fly.io make it easy to deploy Docker containers.
To deploy on Fly.io:
- Install flyctl CLI
- Sign up and login
- Launch app with
flyctl launch
- Deploy updates with
flyctl deploy
Fly.io handles running containers on their infrastructure.
Even Further Beyond
Some further technologies:
- Redux, SWR, Axios
- GraphQL
- Nest.js
- Deno
Final Course Feedback
Let us know your thoughts!
Thank you!