3 ms·
The "official" Docker workflow looks like this: * Install Docker on your dev machine (remember, there is a Mac version too) * Add a Dockerfile to your source
by shykes 12y ago
The "official" Docker workflow looks like this:
* Install Docker on your dev machine (remember, there is a Mac version too)
* Add a Dockerfile to your source repo, specifying how to assemble a container image from source.
* Use a combination of "docker build" and "docker run" to test during development. You can use docker tags to build a separate image for each git commit/tag/branch.
* When ready to deploy, use "docker push" to upload your image to a registry (you can run your own, or use the official registry at https://index.docker.io https://index.docker.io). Note the official registry supports private images.
* From your production machines (presumably CoreOS but you may have a mix of other distros too) run "docker pull" and "docker run" to deploy your app.
* Use Links ("docker rum --link") to interconnect containers, for example your frontend to your database, etc.
Mostly if you use Docker for development, you don't need Vagrant. Specifically the Dockerfile is basically a replacement for the Vgrantfile. The caveat is that you can use vagrant for machine deployment to get to a working docker deployment. We used to recommend this but people got confused between the 2, so now we recommend boit2docker instead.
I hope this helps.
- grakic 12y agoTypo: boot2docker
- shykes 12y agoThanks, unfortunately too late to correct...
- derefr 12y ago> Use Links ("docker rum --link") to interconnect containers, for example your frontend to your database, etc. What's the current best-practice to interconnect containers running on different hosts? Is Docker going to add this capability itself, or will this always be something built on top of Docker by e.g. CoreOS?
- knite 12y agoDocker ambassadors - http://docs.docker.io/use/ambassador_pattern_linking/#introduction http://docs.docker.io/use/ambassador_pattern_linking/#introd...