/docker-exercises

Docker related exercises to learn from

Primary LanguageJavaScriptMIT LicenseMIT

Docker Exercises

This is intended to help learn aspects of Docker by presenting a number of challenges or just facilitate some Q&A. . The challenges will address areas such as Docker, docker-compose, networking, logging, debugging and general approaches to trouble shooting.

Each exercise will consist of various files (Docker, source and shell scripts) that may contain one or more problems and a goal on what they should be doing. It will be up to you to find and correct the issue(s).

Each exercise should include a description of what it is supposed to do and how to run it which may not be entirely correct or complete but acts a starting point.

The Answer directory in each exercise should contain a working solution to the problem.

Note that there is likely more than one solution to any problem and you may come up with a better "fix" or additional exercises to add. If you do, sends us a PR and we will add it.

These are in no particular order so you can cherry pick whatever you would like to try out.

New exercises should be added off and on so check back to continue your skills improvement.

01 - docker-compose and NodeJS
02 - env vars
03 - what's wrong with this env var?
04 - why doesn't this NodeJS script work?
05 - image export
06 - container naming problem
07 - putting a file into a running container
08 - TBD (docker-compose delay)
09 - TBD (fluentd)
10 - dockerize the AWS ecs cli
11 - get a file from an image
12 - get metadata from an image
13 - TBD (container ping pong)
14 - inspect something
15 - use inspect to find failures
16 - extract layers from an image
17 - find metadata in an image
18 - DinD
19 - set the time in a container
20 - TBD (cluster to cluster access)
21 - try out scratch
22 - containers in pipelines
23 - TBD (ECR)
24 - make a really small container
25 - does a container have a default?
26 - what happened in the recent past?
29 - content trust
30 - fix a formatted ps problem
31 - allow only one instance of a container to run
32 - prevent container from forking