diff --git a/examples/fullstack/compose.yml b/examples/fullstack/compose.yml index 9dd675b..6e86ccb 100644 --- a/examples/fullstack/compose.yml +++ b/examples/fullstack/compose.yml @@ -1,3 +1,4 @@ +name: fullstack services: frontend: image: frontend:latest diff --git a/examples/fullstack/frontend/Dockerfile b/examples/fullstack/frontend/Dockerfile index e4ae15e..0e9f2ae 100644 --- a/examples/fullstack/frontend/Dockerfile +++ b/examples/fullstack/frontend/Dockerfile @@ -5,12 +5,9 @@ RUN yarn install COPY . . FROM base AS build -WORKDIR /app -COPY --from=base /app/* . RUN yarn build FROM base AS develop -COPY --from=base /app/ . EXPOSE 5173 ENTRYPOINT [ "yarn", "dev", "--host", "0.0.0.0" ] diff --git a/slides/images/pexels-joshsorenson-1714208.jpg b/slides/images/pexels-joshsorenson-1714208.jpg new file mode 100644 index 0000000..46756cc Binary files /dev/null and b/slides/images/pexels-joshsorenson-1714208.jpg differ diff --git a/slides/images/pexels-luis-gomes-166706-546819.jpg b/slides/images/pexels-luis-gomes-166706-546819.jpg new file mode 100644 index 0000000..63c446d Binary files /dev/null and b/slides/images/pexels-luis-gomes-166706-546819.jpg differ diff --git a/slides/images/pexels-markusspiske-1089438.jpg b/slides/images/pexels-markusspiske-1089438.jpg new file mode 100644 index 0000000..29e12ea Binary files /dev/null and b/slides/images/pexels-markusspiske-1089438.jpg differ diff --git a/slides/slides.md b/slides/slides.md index afae461..655a395 100644 --- a/slides/slides.md +++ b/slides/slides.md @@ -52,36 +52,21 @@ The last comment block of each slide will be treated as slide notes. It will be --- transition: fade-out -layout: center +layout: statement +background: ./images/pexels-markusspiske-1089438.jpg --- - -# Who is this for? - -## About you -- Some experience with Docker/containers -- Familiarity with Linux/BASH -- Want to better understand how containers work -- Want to learn new techniques for automation - ---- -transition: fade-out -layout: center ---- - -## Follow Along -**Example Repo** - https://hackanooga.com/scs - -**Prerequisites** -- Docker -- VSCode -- Git -- yarn/npm/pnpm,etc (For viewing slides) - - ### VSCode plugins - - [Official Docker Plugin](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) - - [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) - - [Container Tools](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers) - +# The 3 universal constants in programming + +

1) The speed of light

+
+ +

2) "It's more complicated than you think"

+
+ +

3) "It works on my machine"

+
+Source: Some random guy on the internet +
--- transition: fade-out @@ -90,6 +75,45 @@ layout: center + +--- +transition: fade-out +layout: image-right +image: ./images/pexels-markusspiske-1089438.jpg +--- + +# Who is this for? + +## About you +- Some experience with Docker/containers +- Familiarity with Linux/BASH/zsh, etc +- Want to better understand how containers work +- Want to learn new techniques for automation + +--- +transition: fade-out +layout: image-left +image: ./images/pexels-joshsorenson-1714208.jpg +--- + +## Follow Along +Visit the link to check out the sample Git repository. + +**Example Repo** - https://hackanooga.com/scs + +**Prerequisites** +- Docker Engine (Linux) or Docker Desktop (Windows/MacOS) +- VSCode +- Git +- yarn, npm or pnpm (for viewing slides) + + ### VSCode plugins + - [Official Docker Plugin](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) + - [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) + - [Container Tools](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers) + + + --- transition: fade-out layout: center @@ -193,24 +217,42 @@ layout: center --- transition: fade-out -layout: center +layout: two-cols-header --- -## Bind/Volume Mounts +
+

Bind/Volume Mounts

-- 2 most common storage mechanisms -- Different use cases and security implications +

2 most common storage mechanisms
Different use cases and security implications

+
+::left:: +## Bind Mounts +- Created/managed by user. +- Files from host mounted directly into container. +- Container processes can modify files on host system. +- Bind mounts are strongly tied to the host. +- Best for things like dev containers. + +::right:: + + +## Volume mounts +- Created/managed by Docker Daemon. +- Data is stored on host filesystem. +- Used for persistent data. + + --- transition: fade-out layout: center +image: 'https://unsplash.com/collections/oGE7TYSLt3I/software-development +equal: false +left: false --- -## Bind Mounts - -- Mounting files/directories from the host machine directly into a container (merged overlayfs layer). -- Processes inside container can modify files on host system. -- Bind mounts are strongly tied to the host -- Best for things like dev containers where you need to mount source code into container and have hot reload, etc. ## Bind Mount Example ```bash @@ -264,20 +306,6 @@ $ docker volume inspect postgresData - Docker creates a volume named postgresData and mounts that directory inside the container. ---- -transition: fade-out -layout: center ---- - -## Volume mounts -- Created and managed by the Docker Daemon -- Volume data is stored on host filesystem but managed by Docker. -- Used for persistent data. - - --- transition: fade-out @@ -330,7 +358,7 @@ EXPOSE 5173 ```bash $ docker build -t react . -$ docker run --rm -P react +$ docker run --rm -p 5173:5173 react ```