From d02d3f8342696e7053c525b4e3904492b7f539b0 Mon Sep 17 00:00:00 2001 From: sid palas Date: Mon, 30 Jan 2023 16:51:09 -0500 Subject: [PATCH] Add individual docker run commands --- 06-building-container-images/Makefile | 56 ++++----- .../client-react/Dockerfile.5 | 2 + 07-container-registries/README.md | 28 +++++ .../images/container-registry.jpg | Bin 0 -> 78980 bytes .../images/credential-helper.jpg | Bin 0 -> 32446 bytes 08-running-containers/Makefile | 112 ++++++++++++++++++ 08-running-containers/README.md | 65 ++++++++++ .../client-react/vite.config.js | 0 .../docker-compose.yml | 4 +- 9 files changed, 230 insertions(+), 37 deletions(-) create mode 100644 07-container-registries/README.md create mode 100644 07-container-registries/images/container-registry.jpg create mode 100644 07-container-registries/images/credential-helper.jpg create mode 100644 08-running-containers/Makefile create mode 100644 08-running-containers/README.md rename {06-building-container-images => 08-running-containers}/client-react/vite.config.js (100%) rename {06-building-container-images => 08-running-containers}/docker-compose.yml (97%) diff --git a/06-building-container-images/Makefile b/06-building-container-images/Makefile index e0a9135..6286c83 100644 --- a/06-building-container-images/Makefile +++ b/06-building-container-images/Makefile @@ -1,19 +1,3 @@ -.PHONY: compose-build -compose-build: - docker compose build - -.PHONY: compose-up -compose-up: - docker compose up - -.PHONY: compose-up-build -compose-up-build: - docker compose up --build - -.PHONY: compose-down -compose-down: - docker compose down - .PHONY: build-sample build-sample: DOCKER_BUILDKIT=1 docker build \ @@ -35,24 +19,6 @@ build-multiarch: --push \ . -define ENTRYPOINT_CMD_DESCRIPTION -############################## - -See Dockerfile.sample for image definition. - -This series of docker run commands is meant -to help you understand the interaction between -CMD and ENTRYPOINT. - -The image has the following: - - ENTRYPOINT [ "echo", "Hey Team πŸ‘‹ (entrypoint)" ] - CMD [ "+ (cmd)" ] - -############################## -endef -export ENTRYPOINT_CMD_DESCRIPTION - .PHONY: run-sample-entrypoint-cmd run-sample-entrypoint-cmd: build-sample @echo "$$ENTRYPOINT_CMD_DESCRIPTION" @@ -70,4 +36,24 @@ run-sample-entrypoint-cmd: build-sample @echo "##############################" @echo "Overriden entrypoint with arguments (CMD is ignored):" - docker run --entrypoint echo sample "Hey Team πŸ‘‹ (Overriden entrypoint + arguments)" \ No newline at end of file + docker run --entrypoint echo sample "Hey Team πŸ‘‹ (Overriden entrypoint + arguments)" + +define ENTRYPOINT_CMD_DESCRIPTION + +βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ… + +See Dockerfile.sample for image definition. + +This series of docker run commands is meant +to help you understand the interaction between +CMD and ENTRYPOINT. + +The image has the following: + + ENTRYPOINT [ "echo", "Hey Team πŸ‘‹ (entrypoint)" ] + CMD [ "+ (cmd)" ] + +βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ…βœ… + +endef +export ENTRYPOINT_CMD_DESCRIPTION \ No newline at end of file diff --git a/06-building-container-images/client-react/Dockerfile.5 b/06-building-container-images/client-react/Dockerfile.5 index 2c94674..6be8c04 100644 --- a/06-building-container-images/client-react/Dockerfile.5 +++ b/06-building-container-images/client-react/Dockerfile.5 @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:1.5 + FROM node:19.4-bullseye AS build # Specify working directory other than / diff --git a/07-container-registries/README.md b/07-container-registries/README.md new file mode 100644 index 0000000..1b9eb9c --- /dev/null +++ b/07-container-registries/README.md @@ -0,0 +1,28 @@ +# Container Registries + +A container registry is a repository, or collection of repositories, used to store and access container images. They serve as a place to store and share container images between developer systems, continuous integration servers, and deployment environments. + +![](./images/container-registry.jpg) + +Examples of popular container registries include: + +- [Dockerhub](https://hub.docker.com) +- [Github Container Registry (ghcr.io.)](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry) +- [Gitlab Container Registry](https://docs.gitlab.com/ee/user/packages/container_registry/) +- [Google Container Registry (gcr.io)](https://cloud.google.com/container-registry) +- [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) +- [Azure Container Registry (ACR)](https://azure.microsoft.com/en-us/products/container-registry) +- [jFrog Container Registry](https://jfrog.com/container-registry/) +- [Nexus](https://blog.sonatype.com/nexus-as-a-container-registry) +- [Harbor](https://goharbor.io/) + +## Authenticating to Container Registries + +While you can pull many public images from registries without authenticating, in order to push images to a registry, or pull a private image, you will need to authentic + +Docker can login directly to some registries with basic authentication (username/password) or call out to separate programs known as credential helpers. For example, to authenticate to the Google Container Registry, docker uses the `gcloud` command line utility from GCP (https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud-helper). + +If available, Docker can also store the credentials in a secure store (`macOS keychain`, `Windows Credential Manager`) to help protect those credentials. + +![](./images/credential-helper.jpg) + diff --git a/07-container-registries/images/container-registry.jpg b/07-container-registries/images/container-registry.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c5304ca8c1bb5b0f0100dfec0574a3614113bd6 GIT binary patch literal 78980 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 Xz`p&p!f@`Dg8ZRBzXb(8o&3K5TV=i6 literal 0 HcmV?d00001 diff --git a/08-running-containers/Makefile b/08-running-containers/Makefile new file mode 100644 index 0000000..eab4a7d --- /dev/null +++ b/08-running-containers/Makefile @@ -0,0 +1,112 @@ +### DOCKER COMPOSE COMMANDS + +.PHONY: compose-build +compose-build: + docker compose build + +.PHONY: compose-up +compose-up: + docker compose up + +.PHONY: compose-up-build +compose-up-build: + docker compose up --build + +.PHONY: compose-down +compose-down: + docker compose down + +### DOCKER CLI COMMANDS + +DOCKERCONTEXT_DIR:=../05-example-web-application/ +DOCKERFILE_DIR:=../06-building-container-images/ + +.PHONY: docker-build-all +docker-build-all: + docker build -t client-react-vite -f ${DOCKERFILE_DIR}/client-react/Dockerfile.3 ${DOCKERCONTEXT_DIR}/client-react/ + + docker build -t client-react-ngnix -f ${DOCKERFILE_DIR}/client-react/Dockerfile.5 ${DOCKERCONTEXT_DIR}/client-react/ + + docker build -t api-node -f ${DOCKERFILE_DIR}/api-node/Dockerfile.7 ${DOCKERCONTEXT_DIR}/api-node/ + + docker build -t api-golang -f ${DOCKERFILE_DIR}/api-golang/Dockerfile.6 ${DOCKERCONTEXT_DIR}/api-golang/ + +.PHONY: docker-run-all +docker-run-all: + echo "$$DOCKER_COMPOSE_NOTE" + + # Stop and remove all running containers to avoid name conflicts + $(MAKE) docker-stop + + $(MAKE) docker-remove + + docker run -d \ + --name db \ + -e POSTGRES_PASSWORD=foobarbaz \ + -p 5432:5432 \ + --restart unless-stopped \ + postgres:15.1-alpine + + docker run -d \ + --name api-node \ + -e DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres \ + -p 3000:3000 \ + --restart unless-stopped \ + --link=db \ + api-node + + docker run -d \ + --name api-golang \ + -e DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres \ + -p 8080:8080 \ + --restart unless-stopped \ + --link=db \ + api-golang + + docker run -d \ + --name client-react-vite \ + -v ${PWD}/client-react/vite.config.js:/usr/src/app/vite.config.js \ + -p 5173:5173 \ + --restart unless-stopped \ + --link=api-node \ + --link=api-golang \ + client-react-vite + + docker run -d \ + --name client-react-nginx \ + -p 5174:80 \ + --restart unless-stopped \ + --link=api-node \ + --link=api-golang \ + client-react-ngnix + +docker-stop: + -docker stop db + -docker stop api-node + -docker stop api-golang + -docker stop client-react-vite + -docker stop client-react-nginx + +docker-remove: + -docker container rm db + -docker container rm api-node + -docker container rm api-golang + -docker container rm client-react-vite + -docker container rm client-react-nginx + +define DOCKER_COMPOSE_NOTE + +🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 + +❯ NOTE: + +This command runs the example app with a bunch +of individual docker run commands. This is much +easier to manage with docker-compose (see +docker-compose.yml and compose make targets above) + +🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 + + +endef +export DOCKER_COMPOSE_NOTE \ No newline at end of file diff --git a/08-running-containers/README.md b/08-running-containers/README.md new file mode 100644 index 0000000..f7f3b9f --- /dev/null +++ b/08-running-containers/README.md @@ -0,0 +1,65 @@ +# Running Containers (with Docker) + +Documentation: https://docs.docker.com/engine/reference/run/ + +Options everyone should know: +``` +-d +--entrypoint +--env, -e, --env-file +--init +--interactive, -i +--mount, --volume, -v +--name +--network, --net +--platform +--publish, -p +--restart +--rm +--tty, -t +``` + +Less commonly used by worth knowing: + +```bash +--cap-add, --cap-drop +--cgroup-parent +--cpu-shares +--cpuset-cpus (pin execution to specific CPU cores) +--device-cgroup-rule, +--device-read-bps, --device-read-iops, --device-write-bps, --device-write-iops +--gpus (NVIDIA Only) +--health-cmd, --health-interval, --health-retries, --health-start-period, --health-timeout +--memoryΒ ,Β -m +--pid, --pids-limit +--privileged +--read-only +--security-opt +--userns +``` + +## Example web app + +### individual docker run commands + +See Makefile: +```bash +make docker-build-all +make docker-run-all +``` + +- Uses the default docker bridge network +- Uses `--link` to enable easy host name for network connections +- Publishing ports useful to connect to each service individually from host, but only necessary to connect to the frontend +- Named containers make it easier to reference (e.g. with link), but does require removing them to avoid naming conflict +- Restart policy allows docker to restart the container (for example if database weren't up yet causing one of the api servers to crash) + +### docker compose + +See Makefile: +```bash +make compose-build +make compose-up +``` + +Using docker compose allows encoding all of the logic from the `docker build` and `docker run` commands into a single file. Docker compose also manages naming of the container images and containers, attaching to logs from all the containers at runtime, etc... diff --git a/06-building-container-images/client-react/vite.config.js b/08-running-containers/client-react/vite.config.js similarity index 100% rename from 06-building-container-images/client-react/vite.config.js rename to 08-running-containers/client-react/vite.config.js diff --git a/06-building-container-images/docker-compose.yml b/08-running-containers/docker-compose.yml similarity index 97% rename from 06-building-container-images/docker-compose.yml rename to 08-running-containers/docker-compose.yml index 32f6433..0db8a14 100644 --- a/06-building-container-images/docker-compose.yml +++ b/08-running-containers/docker-compose.yml @@ -1,5 +1,5 @@ services: - client-react: + client-react-vite: build: context: ../05-example-web-application/client-react/ dockerfile: ../../06-building-container-images/client-react/Dockerfile.3 @@ -11,7 +11,7 @@ services: client-react-nginx: build: context: ../05-example-web-application/client-react/ - dockerfile: ../../06-building-container-images/client-react/Dockerfile.4 + dockerfile: ../../06-building-container-images/client-react/Dockerfile.5 init: true ports: - 5174:80