3

I am new to Docker and tried some hands-on (not deeper learned upto basics of image,container) by following docker official documentation.

To take my learning curve to next level, I have implemented what I read by taking sample applications like "Dockerising a Node.js and MongoDB App by nida sajid", run a sample java restful webapplication which takes name and email and storing it into mysql container. I've done this by using 2 containers:

  1. tomcat - Used to deploy war file
  2. mysql - To store the data(name&email))

My question: what are the advanced concepts that I can learn and, can you suggest me so that I can improve my knowledge

  1. What are the advanced concepts in docker other than this (like used in real world scenario)?
  2. Any suggestions (like websites,videos) to improve my knowledge?
  3. How to use Docker with Jenkins?
1

5 Answers 5

5

Some good next topics for the real world are...

  • Security. There are several security concerns with docker, for example
    • Is there a problem running stuff inside the container as root?
    • Is there a problem giving non-root users on the host access to the docker daemon?
    • Is there a problem with the docker daemon running as root on the host?
    • All three can be solved with docker out-of-the-box. Learn how to.
  • Networking. Check out the docker networking options.
  • Image sizes are a recurring problem, especially if you build your stuff inside a docker image. Your average naive first build image may be 1GB or more - try to get the same image, whatever it is, to 500, 300 or 200 MB.
  • Docker volumes; how to get configuration into your containers; etc.
  • Private artifact repositories.
  • Explore the environment: docker compose, docker swarm, etc.
  • Finally, take a big leap on to your next technology... OpenShift? Kubernetes?
3

First one which docker recommends, Play with docker classroom which is inspired by the Docker Playground where you can create five instance to play around docker and docker swarm for four hours all for $0 cost. Credits to Docker Captain – Marcos Nils & Jonathan Leibuisky for building this amazing tool for Docker Community. You can start with the beginner level and complete the advanced level to get the good glimpse of docker and how you can think of using it for your infrastructure with the help of these interactive tutorials.

There is best paid training and consultation on the Docker, Kubernetes, Advanced Linux , Linux Kernel etc. technologies by, CloudYouga Trainings. I have done a course from them and it is amazing with complete in-depth details of the concept. And, they are planning to add more course in their portfolio related to DevOps.

For introductory course in devops, Intro to DevOps by Udacity to understand the terminology and architecuter to address the problems.

This Udemy course Docker Technologies for DevOps and Developers - Udemy is good to understand the docker terminology and Devops skills to apply the right workflow and better deployment. Another course Docker for Professionals: The Practical Guide - Udemy

Learn new technologies right in your browser by Katacoda - Interactive Learning Platform for Software Engineers is one of the best interactive tutorial for docker and its related technologies. This is personally my favourite because I could test my deployment and then go and catch for the pros and cons of the system. Wonderful idea. And, the best part is you could write your own interactive tutorial using Katacoda Teach which they called scenario using this platform.

“Ship your Apps with Confidence” by Codeship is a Continuous Integration Platform in the cloud. They have tag line Building for the builders which states everything and this is one of the best platform for CI/CD and parallel deployment. You could test and run your CI/CD pipeline using docker, kubernetes, etc. (Note: Last week Codeship is acquired by the CloudBees)

Stay up to date with everything about docker by another Docker captain, Ajeet Singh Raina, Docker Captain Blog which teach you about docker on raspberry pi, IoT devices, LinuxKit, InfraKit, docker on aws, azure, digital ocean, etc. etc. Collabnix is conglomerate of open collaboration & LINUX. Lot of enthusiasm and energy, tips and tricks and perfect guide to IT infrastructure, system management, integration and automation, etc.

Some other useful links and tutorials for docker:

  1. Docker curriculum - Docker for Beginners

  2. Container Tutorials

  3. Docker Tutorials and Labs docker/labs (Most Recommended)

  4. Training modules from EMC {code} codedellemc/training

  5. Awesome Docker at veggiemonk/awesome-docker

Hope this helps. Thank you.

1

Welcome to the Docker world :-)

  • Advanced concepts - try Docker Swarm to run and scale a distrubuted system.
  • This community, local Docker user groups, moby GitHub, Slack channels
  • You can use Jenkins or any other CI tool for the next level of integration, "source to image" aka "image bakery"
1

I'll seriously recommend you katacoda.com to explore almost any advanced topic on Docker that you're interested in. The topics aren't limited to docker, they cover almost any cloud technology. They are interactive and some are really advanced, so you can try a topic, get a feeling and if you liked it, go deep on it.

0

Basically you need to build intuition into :

  • how to distinguish between host, docker daemon, and docker instance
  • how to share ports, volumes
  • create docker files

I have written a tutorial on that here :

http://javagoogleappspot.blogspot.com/2018/07/docker-basics.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.