From 5fe45a08ceeb0fe3740de11e1dde56e64ba16072 Mon Sep 17 00:00:00 2001 From: Michael <25011500+MichaelStott@users.noreply.github.com> Date: Fri, 15 Dec 2023 17:38:30 -0500 Subject: [PATCH] Initial Docker Chapter (#78) * Rough draft of first chapter * Consolidate image/container chapter * Saving work * Adding additional details to setup section * Saving work * saving work * Mark other containers chapters as draft * Update the dependencies * Marking images/containers container as draft... for now --- .../docker/images/parent/Dockerfile | 14 ++ code/containers/docker/images/parent/Makefile | 7 + .../docker/images/parent/message.txt | 1 + .../docker/images/scratch/Dockerfile | 8 + .../containers/docker/images/scratch/Makefile | 6 + .../docker/images/scratch/README.md | 19 +++ code/containers/docker/images/scratch/go.mod | 3 + code/containers/docker/images/scratch/hello | Bin 0 -> 1171456 bytes code/containers/docker/images/scratch/main.go | 7 + code/containers/docker/overview/Dockerfile | 3 + code/containers/docker/overview/Makefile | 6 + code/containers/docker/overview/README.md | 17 +++ diagrams/docker_architecture.drawio | 86 +++++++---- package-lock.json | 14 +- package.json | 2 +- .../iam/identities/users/login_profiles.md | 28 ++-- .../aws/iam/identities/users/paths.md | 12 +- web/content/containers/Docker/_index.md | 4 +- web/content/containers/Docker/bind_mount.md | 6 +- web/content/containers/Docker/containers.md | 6 - .../containers/Docker/docker_compose.md | 6 +- web/content/containers/Docker/filesystem.md | 6 - web/content/containers/Docker/images.md | 138 +++++++++++++++++- web/content/containers/Docker/layer.md | 11 ++ .../containers/Docker/multistage_builds.md | 8 + web/content/containers/Docker/overview.md | 63 +++++++- web/content/containers/Docker/registry.md | 8 +- web/content/containers/Docker/setup.md | 76 +++++++++- web/content/containers/Docker/volumes.md | 12 +- web/content/containers/overview.md | 2 +- web/content/docker_example.md | 36 +++++ .../images/containers/docker_architecture.png | Bin 0 -> 195070 bytes 32 files changed, 521 insertions(+), 94 deletions(-) create mode 100644 code/containers/docker/images/parent/Dockerfile create mode 100644 code/containers/docker/images/parent/Makefile create mode 100644 code/containers/docker/images/parent/message.txt create mode 100644 code/containers/docker/images/scratch/Dockerfile create mode 100644 code/containers/docker/images/scratch/Makefile create mode 100644 code/containers/docker/images/scratch/README.md create mode 100644 code/containers/docker/images/scratch/go.mod create mode 100644 code/containers/docker/images/scratch/hello create mode 100644 code/containers/docker/images/scratch/main.go create mode 100644 code/containers/docker/overview/Dockerfile create mode 100644 code/containers/docker/overview/Makefile create mode 100644 code/containers/docker/overview/README.md delete mode 100644 web/content/containers/Docker/containers.md delete mode 100644 web/content/containers/Docker/filesystem.md create mode 100644 web/content/containers/Docker/layer.md create mode 100644 web/content/containers/Docker/multistage_builds.md create mode 100644 web/content/docker_example.md create mode 100644 web/static/images/containers/docker_architecture.png diff --git a/code/containers/docker/images/parent/Dockerfile b/code/containers/docker/images/parent/Dockerfile new file mode 100644 index 0000000..083d006 --- /dev/null +++ b/code/containers/docker/images/parent/Dockerfile @@ -0,0 +1,14 @@ +# Use Ubuntu as base image for container +FROM ubuntu:23.04 + +# Install latest packages +RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ + && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 +ENV LANG en_US.utf8 + + +# Copy local text file into container +COPY message.txt message.txt + +# Print message from file +ENTRYPOINT [ "cat", "message.txt" ] \ No newline at end of file diff --git a/code/containers/docker/images/parent/Makefile b/code/containers/docker/images/parent/Makefile new file mode 100644 index 0000000..b2d87aa --- /dev/null +++ b/code/containers/docker/images/parent/Makefile @@ -0,0 +1,7 @@ + + +build: + docker build . -t techsqauwks/ubuntu + +run: + docker run -t techsqauwks/ubuntu \ No newline at end of file diff --git a/code/containers/docker/images/parent/message.txt b/code/containers/docker/images/parent/message.txt new file mode 100644 index 0000000..ec9d8d0 --- /dev/null +++ b/code/containers/docker/images/parent/message.txt @@ -0,0 +1 @@ +Hello from the ubuntu image container! \ No newline at end of file diff --git a/code/containers/docker/images/scratch/Dockerfile b/code/containers/docker/images/scratch/Dockerfile new file mode 100644 index 0000000..a4ae7ad --- /dev/null +++ b/code/containers/docker/images/scratch/Dockerfile @@ -0,0 +1,8 @@ +# A 'scratch' image is an empty base image. +FROM scratch + +# Copy binary executable +COPY hello hello + +# Run executable +ENTRYPOINT [ "./hello" ] \ No newline at end of file diff --git a/code/containers/docker/images/scratch/Makefile b/code/containers/docker/images/scratch/Makefile new file mode 100644 index 0000000..bac3f43 --- /dev/null +++ b/code/containers/docker/images/scratch/Makefile @@ -0,0 +1,6 @@ + +build: + docker build . -t techsqauwks/scatch + +run: + docker run -t techsqauwks/scatch \ No newline at end of file diff --git a/code/containers/docker/images/scratch/README.md b/code/containers/docker/images/scratch/README.md new file mode 100644 index 0000000..83091ed --- /dev/null +++ b/code/containers/docker/images/scratch/README.md @@ -0,0 +1,19 @@ +This example demonstrates how to create a "hello world" images using the base image. + +To compile the binary to copy into the image. + +```sh +GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o hello +``` + +The example can be build via: + +```sh +$ docker build . -t techsqauwks/scatch +``` + +And run via: + +```sh +$ docker run -t techsqauwks/scatch +``` diff --git a/code/containers/docker/images/scratch/go.mod b/code/containers/docker/images/scratch/go.mod new file mode 100644 index 0000000..c2aae0d --- /dev/null +++ b/code/containers/docker/images/scratch/go.mod @@ -0,0 +1,3 @@ +module techsquawks/scratch-container + +go 1.21.2 diff --git a/code/containers/docker/images/scratch/hello b/code/containers/docker/images/scratch/hello new file mode 100644 index 0000000000000000000000000000000000000000..78ee65e17fa05a81a2d7f467be579aa7ddd38a69 GIT binary patch literal 1171456 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