

Day 21: Docker – The Missing Tutorial - shekhargulati
https://www.openshift.com/blogs/day-21-docker-the-missing-tutorial

======
powertower
Out of the 10 or 20 posts about Docker that made it to front-page on HN in the
last year, this is the first one that has been able to show me what Docker is.

Though I'm still confused on -

Real world examples of tried and proven setups like an environment of Apache,
PHP, and MySQL being run inside a Docker container (for example: for setting
up shared hosting on a box). Would that even make sense?

~~~
BHSPitMonkey
My understanding is that keeping your database in a separate container from
your application(s) is a more preferred topology. In theory, you could easily
spin up/spin down application containers as needed, and they can use Docker's
service discovery features to automatically become aware of which port the
database is listening on.

------
chrishenn
How do provisioning systems compare to Docker? Right now I have a development
environment that consists of salt stack provisioning Vagrant. Spinning up a
production server just means running salt on the host (Rackspace, DO,
whatever.)

Is there any use for Docker in this case?

~~~
whatever2001
I think there's someone already working on this use case, check out:
[https://github.com/makinacorpus/salt/blob/develop/salt/state...](https://github.com/makinacorpus/salt/blob/develop/salt/states/dockerio.py)

------
rco8786
I'm not sure this is really the missing tutorial...it seems pretty much the
same as the other tutorials I've read/watched.

Then again I've been working with docker a lot lately so maybe I was looking
harder.

------
hackerboos
> You can test the express application by curl as shown below.

I haven't seen one tutorial or piece of documentation that tells me how to
access that app from my host machine.

~~~
whatever2001
wouldn't you just ssh into the container?

~~~
hackerboos
I meant from a browser.

~~~
Sikul
A container can expose ports that the application is running on to the host.
For instance, one of my web server containers might expose 9000 to the host.
You could access 9000 directly from the host or you can setup nginx to forward
80 to 9000 if that's what you want. Something like that.

