Docker training - Sameer
module-name: "Docker"
area: "Core Technologies"
maintainers:
- dwalker
Tackle stage 1 first and the last stage last, but the others can be completed in any order you prefer.
Stage 0: Create and commit to the module
-
Create an issue using this template by making the Issue Title: Docker - -
Add yourself and your trainer as the assignees. -
Ping your manager to let them know you've started. -
Commit to this by updating your knowledge_areas by updating the Support Team yaml file with this training module's topic. -
Commit to this by notifying the current experts that they can start routing non-technical Docker questions to you. -
Optional: Set a milestone, if applicable, and a due date to help motivate yourself!
Stage 1: Commit and Become familiar with what Docker is
-
Done with Stage 1
-
Watch GitLab University Docker.
Stage 2: Theory
-
Done with Stage 2
Note: You can expense non-free learning materials to GitLab.
-
Watch Unit 1 & 2 of Scalable Microservices With Kubernetes. -
Read Docker in practice, by Miell and Sayers. -
Watch the introductory Play by Play: Docker for Web Developers course. -
Watch the more complete Docker for Web Developers course. -
Read the docs for the Docker Registry integrated into GitLab. -
Read the docs for the GitLab Docker Images.
Stage 3: Practical
-
Done with Stage 3
-
Install Docker on your laptop. -
On a Digital Ocean droplet, which you can learn about here, run the Just GitLab environment in testlab. -
Understand why there are no host volumes being mounted in the above setup, but when installing GitLab in production they are highly recommended. -
Create a Dockerfile and build an image with it, which runs a web application of your choice that you otherwise would run on your local machine. -
Set up a dev-tools image that has command-line dev tools configured to your personal preferences, set up and ready to use as soon as a container starts. If you don't have a preferred setup, have at least Vim with ctrl + p set up to find files, and Oh My Zshell to let you know which branch you are on when using Git. -
Run Firefox inside a Gui container. It might be easier to borrow a Linux Laptop for this or run it in a VM. -
Use Docker Compose to bring up a GitLab container with Postgres disabled in Omnibus, linked to a Postgres container running the database. All configuration should be defined in the docker-compose.yml file so that GitLab is 100% operational after running docker-compose up.
Stage 4: GitLab CI
-
Done with Stage 4
-
Read the docs for Using Docker Images with GitLab CI. -
Read about Docker in Docker (dind). -
Read the docs for building Docker images in GitLab CI with Docker in Docker. -
Get GitLab CI to build a Docker image and upload it to a GitLab registry.
Stage 5: Tickets
-
Done with Stage 5
-
Find 10 Solved tickets to get a sense of what gets asked and how others have done troubleshooting in this area. -
Contribute valuable responses on at least 5 Docker tickets, even if a ticket seems too advanced for you to answer. Find the answers from an expert and relay them to the customers.
Stage 6 (WIP): Quiz?
-
Done with Stage 6
Need link to Quiz here
-
Quiz answers were checked by TEAM_MEMBER_NAME, and they said you passed.
Penultimate stage: Review
Any updates or improvements needed? If there are any dead links, out of date or inaccurate content, missing content whether in this module or in other documentation, list it below as tasks for yourself!
-
Update ...
Final Stage
-
Have your trainer review your tickets and assessment. If you do not have a trainer, ask an expert to review. -
Manager: schedule a call (or integrate into 1:1) to review how the module went. -
Create an MR to identify yourself as a Docker Expert on the GitLab team page: expertise: | <li>Docker expert</li> -
Create an MR to indicate on the GitLab Support Team Page that you have completed the Docker module.
Edited by sameer shaik