Update content

This commit is contained in:
Mike Conrad
2025-06-09 12:54:23 -04:00
parent 38375961b0
commit 0b9551873f

View File

@ -55,7 +55,7 @@ layout: center
- "It works on my machine" is a thing of the past - "It works on my machine" is a thing of the past
- Containers are lightweight and portable - Containers are lightweight and portable
- Boot in milliseconds - "Boot" in milliseconds
- Ideal for reproducible dev environments - Ideal for reproducible dev environments
--- ---
@ -80,12 +80,35 @@ layout: center
## What is Docker? ## What is Docker?
- Written in GO
- Uses Client/Server model with REST API (`docker cli` and `dockerd`)
- Eco system of tools (Compose, Swarm, etc)
- Public Image Registry (Dockerhub)
- Docker client typically runs on same machine as server but doesn't have to
---
transition: fade-out
layout: center
---
## What is Docker?
- A tool to build and run containers - A tool to build and run containers
- Docker engine runs containers using Linux features: - Containers are exclusive to Linux
- Docker engine runs containers using Linux features like:
- Namespaces - Namespaces
- cgroups - cgroups
- Union file systems - Union file systems
- Uses images layered from base -> app code - Container runs from an image layered with base image and application code
---
transition: fade-out
layout: center
---
## Common Use Cases
- Reproducible Dev environments (dev containers)
- Preview/PR environments (ephemeral test environments)
- Legacy applications or applications with complex environment setups
--- ---
transition: fade-out transition: fade-out
@ -94,7 +117,7 @@ layout: center
## Docker Architecture ## Docker Architecture
Docker Engine (Server) <-- REST API --> Docker CLI (Client) Docker CLI (Client) <-- REST API --> Docker Engine (Server)
<img src="https://docs.docker.com/get-started/images/docker-architecture.webp" width="700" /> <img src="https://docs.docker.com/get-started/images/docker-architecture.webp" width="700" />
@ -139,8 +162,8 @@ layout: center
## Bind Mount Example ## Bind Mount Example
```bash ```bash
$ docker run --mount type=bind,src=/home/mikeconrad/projects/example/app,dst=/app,ro # ro for ReadOnly $ docker run --mount type=bind,src=/home/mikeconrad/projects/example/app,dst=/app,ro nginx # ro for ReadOnly
$ docker run --volume /home/mikeconrad/projects/example/app:dst=/app $ docker run --volume /home/mikeconrad/projects/example/app:/app nginx
``` ```
<!-- https://docs.docker.com/engine/storage/bind-mounts/ --> <!-- https://docs.docker.com/engine/storage/bind-mounts/ -->
@ -220,14 +243,16 @@ COPY . .
EXPOSE 3000 EXPOSE 3000
CMD ["npm", "start"] CMD ["npm", "start"]
``` ```
```bash
mikeconrad@pop-os:~/projects/demystifying-docker/examples/react
$ docker build -t react-app .
```
- Starts with a base image - Starts with a base image
- Copy files and install deps - Copy files and install deps
- Set default command - Set default command
```bash
$ docker build -t node-app .
```
--- ---
transition: fade-out transition: fade-out
layout: center layout: center