<p>Some good next topics for the real world are...</p>

<ul>
<li>Security. There are several security concerns with docker, for example 

<ul>
<li>Is there a problem running stuff inside the container as <code>root</code>?</li>
<li>Is there a problem giving non-<code>root</code> users on the host access to the docker daemon?</li>
<li>Is there a problem with the docker daemon running as <code>root</code> on the host?</li>
<li>All three can be solved with docker out-of-the-box. Learn how to.</li>
</ul></li>
<li>Networking. Check out the docker networking options.</li>
<li>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.</li>
<li>Docker volumes; how to get configuration into your containers; etc.</li>
<li>Private artifact repositories.</li>
<li>Explore the environment: docker compose, docker swarm, etc.</li>
<li>Finally, take  a big leap on to your next technology... OpenShift? Kubernetes?</li>
</ul>

CC BY-SA 3.0
2017-11-23T13:07:26.987Z
2017-11-23T13:07:26.987Z
AnoE
<p>First one which docker recommends, <a href="http://training.play-with-docker.com/" rel="nofollow noreferrer">Play with docker classroom</a> which is inspired by the <a href="http://labs.play-with-docker.com/" rel="nofollow noreferrer">Docker Playground</a> where you can create five instance to play around docker and docker swarm for four hours all for $0 cost. Credits to Docker Captain – <strong>Marcos Nils</strong> &amp; <strong>Jonathan Leibuisky</strong> 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.</p>

<p>There is best paid training and consultation on the Docker, Kubernetes, Advanced Linux , Linux Kernel etc. technologies by, <a href="http://cloudyuga.guru/trainings/" rel="nofollow noreferrer">CloudYouga Trainings</a>. 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.</p>

<p>For introductory course in devops, <a href="https://in.udacity.com/course/intro-to-devops--ud611/" rel="nofollow noreferrer">Intro to DevOps</a> by Udacity to understand the terminology and architecuter to address the problems.</p>

<p>This Udemy course <a href="https://www.udemy.com/docker-tutorial-for-devops-run-docker-containers/" rel="nofollow noreferrer">Docker Technologies for DevOps and Developers - Udemy</a> is good to understand the docker terminology and Devops skills to apply the right workflow and better deployment. Another course <a href="https://www.udemy.com/docker-for-professionals-the-practical-guide/" rel="nofollow noreferrer">Docker for Professionals: The Practical Guide - Udemy</a></p>

<p><strong>Learn new technologies right in your browser by</strong> <a href="https://www.katacoda.com/" rel="nofollow noreferrer">Katacoda - Interactive Learning Platform for Software Engineers</a> 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 <a href="https://www.katacoda.com/teach" rel="nofollow noreferrer">Katacoda Teach</a> which they called scenario using this platform.</p>

<p>“Ship your Apps with Confidence” by <a href="https://codeship.com/" rel="nofollow noreferrer">Codeship</a> is a Continuous Integration Platform in the cloud. They have tag line <strong>Building for the builders</strong> 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. <strong>(Note: Last week <a href="https://blog.codeship.com/codeship-acquired-by-cloudbees/" rel="nofollow noreferrer">Codeship is acquired by the CloudBees</a>)</strong></p>

<p>Stay up to date with everything about docker by another Docker captain, <strong>Ajeet Singh Raina</strong>, <a href="https://collabnix.com/" rel="nofollow noreferrer">Docker Captain Blog</a> which teach you about docker on raspberry pi, IoT devices, LinuxKit, InfraKit, docker on aws, azure, digital ocean, etc. etc. <strong>Collabnix</strong> is conglomerate of open collaboration &amp; LINUX. Lot of enthusiasm and energy, tips and tricks and perfect guide to IT infrastructure, system management, integration and automation, etc.</p>

<p>Some other useful links and tutorials for docker:</p>

<ol>
<li><p>Docker curriculum - <a href="https://prakhar.me/docker-curriculum/#table-of-contents" rel="nofollow noreferrer">Docker for Beginners</a></p></li>
<li><p><a href="http://containertutorials.com/" rel="nofollow noreferrer">Container Tutorials</a></p></li>
<li><p>Docker Tutorials and Labs <a href="https://github.com/docker/labs" rel="nofollow noreferrer">docker/labs</a> <strong>(Most Recommended)</strong></p></li>
<li><p>Training modules from EMC <a href="https://github.com/codedellemc/training" rel="nofollow noreferrer">{code} codedellemc/training</a></p></li>
<li><p><strong>Awesome Docker</strong> at <a href="https://github.com/veggiemonk/awesome-docker" rel="nofollow noreferrer">veggiemonk/awesome-docker</a></p></li>
</ol>

<p>Hope this helps. Thank you.</p>

CC BY-SA 3.0
2018-02-11T05:44:09.617Z
2018-02-11T05:44:09.617Z
mohan08p
<p>I'll seriously recommend you <a href="https://www.katacoda.com/" rel="nofollow noreferrer">katacoda.com</a> 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.</p>

CC BY-SA 3.0
2017-11-24T20:36:47.180Z
2017-11-24T20:36:47.180Z
Gabriel Miretti aka gmiretti
<p>Basically you need to build intuition into :</p>

<ul>
<li>how to distinguish between host, docker daemon, and docker instance</li>
<li>how to share ports, volumes</li>
<li>create docker files</li>
</ul>

<p>I have written a tutorial on that here :</p>

<p><a href="http://javagoogleappspot.blogspot.com/2018/07/docker-basics.html" rel="nofollow noreferrer">http://javagoogleappspot.blogspot.com/2018/07/docker-basics.html</a></p>

CC BY-SA 4.0
2018-07-24T16:46:44.147Z
2018-07-24T16:46:44.147Z
the dude
<p>Welcome to the Docker world :-)</p>

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

CC BY-SA 3.0
2017-11-23T10:55:07.387Z
2017-11-23T10:55:07.387Z
Ta Mu
<p>I am new to Docker and tried some hands-on (not deeper learned upto basics of image,container) by following docker official documentation.</p>

<p>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:</p>

<ol>
<li>tomcat - Used to deploy war file</li>
<li>mysql - To store the data(name&amp;email))</li>
</ol>

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

<ol>
<li>What are the advanced concepts in docker other than this (like used in real world scenario)?</li>
<li>Any suggestions (like websites,videos) to improve my knowledge?</li>
<li>How to use Docker with Jenkins?</li>
</ol>

CC BY-SA 3.0
2018-02-12T17:07:40.937Z
Related to #2 above: [What courses would be useful for a DevOps Engineer?](https://devops.stackexchange.com/questions/1305/what-courses-would-be-useful-for-a-devops-engineer/1308#1308) - [Linux Academy](https://linuxacademy.com/) is a great resource.
James Shewey
<docker>
Suggestions to improve knowledge on docker
cks
# Suggestions to improve knowledge on docker

(Asked by: username_0 on 2017-11-23)

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?

**Tags:** docker

> **Comments:**
> **username_1**: Related to #2 above: [What courses would be useful for a DevOps Engineer?](https://devops.stackexchange.com/questions/1305/what-courses-would-be-useful-for-a-devops-engineer/1308#1308) - [Linux Academy](https://linuxacademy.com/) is a great resource.  

---

## 5 answers

### Answer by username_2 on 2017-11-23. Score: 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?


---

### Answer by username_3 on 2018-02-11. Score: 3

First one which docker recommends, [Play with docker classroom](http://training.play-with-docker.com/) which is inspired by the [Docker Playground](http://labs.play-with-docker.com/) 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](http://cloudyuga.guru/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](https://in.udacity.com/course/intro-to-devops--ud611/) by Udacity to understand the terminology and architecuter to address the problems.

This Udemy course [Docker Technologies for DevOps and Developers - Udemy](https://www.udemy.com/docker-tutorial-for-devops-run-docker-containers/) 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](https://www.udemy.com/docker-for-professionals-the-practical-guide/)

**Learn new technologies right in your browser by** [Katacoda - Interactive Learning Platform for Software Engineers](https://www.katacoda.com/) 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](https://www.katacoda.com/teach) which they called scenario using this platform.

“Ship your Apps with Confidence” by [Codeship](https://codeship.com/) 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](https://blog.codeship.com/codeship-acquired-by-cloudbees/))**

Stay up to date with everything about docker by another Docker captain, **Ajeet Singh Raina**, [Docker Captain Blog](https://collabnix.com/) 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 triusername_0 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](https://prakhar.me/docker-curriculum/#table-of-contents)
2. [Container Tutorials](http://containertutorials.com/)
3. Docker Tutorials and Labs [docker/labs](https://github.com/docker/labs) **(Most Recommended)**
4. Training modules from EMC [{code} codedellemc/training](https://github.com/codedellemc/training)
5. **Awesome Docker** at [veggiemonk/awesome-docker](https://github.com/veggiemonk/awesome-docker)

Hope this helps. Thank you.


---

### Answer by username_4 on 2017-11-24. Score: 1

I'll seriously recommend you [katacoda.com](https://www.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.


---

### Answer by username_6 on 2017-11-23. Score: 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"


---

### Answer by username_5 on 2018-07-24. Score: 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>


---

