Deploy a docker container to production

I have create a docker image on my dev machine and tested my RAILS code on it.
The container uses code from the host this way :

docker run -v [/path/to/dir/to/mount/on/local/machine/]:[/desired/path/in/docker/] -p [port to forward] -i -t [name of image] /bin/bash

Now I would like to push the container to a preproduct environment and then a production environment.

  • Issues with Restcomm Docker image
  • Docker Swarm node only reachable from localhost
  • Docker shell 'ls -l' indenting newlines [duplicate]
  • Invoke Docker Remote API using Java
  • Installing OpenShift as Docker image behind nginx
  • docker push error for ibm bluemix watson
  • What is the best way to do that ?
    Should I install docker on the preprod/prod servers and then use the image ?

    Or should I configure my staging to be identitical to my image and upload my source code ?

  • How make a cluster of CoreOS on my local infrastructure?
  • Run image in docker
  • how to handle redirection url in port forwarding - docker container
  • Can you run Unity for Ubuntu in Docker as an alternate to VirtualBox?
  • OrientDB “ Error on moving existent database”
  • Docker: cannot copy file within the container
  • One Solution collect form web for “Deploy a docker container to production”

    Are you deploying a rails app? I would take a look at Dokku which is basically a self hosted version of heroku.

    If you want to use docker directly I would take a look at using a deployment script of some type to help you with this. Basically it can login via ssh, git clone the code to a directory and then run the docker image with the new directory (stopping any existing instances). But again Dokku makes this way simpler.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.