:title: Building a Docker Image with MongoDB
:description: How to build a Docker image with MongoDB pre-installed
:keywords: docker, example, package installation, networking, mongodb

.. _mongodb_image:

Building an Image with MongoDB
==============================

.. include:: example_header.inc

The goal of this example is to show how you can build your own
Docker images with MongoDB pre-installed. We will do that by
constructing a ``Dockerfile`` that downloads a base image, adds an
apt source and installs the database software on Ubuntu.

Creating a ``Dockerfile``
+++++++++++++++++++++++++

Create an empty file called ``Dockerfile``:

.. code-block:: bash

    touch Dockerfile

Next, define the parent image you want to use to build your own image on top of.
Here, we’ll use `Ubuntu <https://index.docker.io/_/ubuntu/>`_ (tag: ``latest``)
available on the `docker index <http://index.docker.io>`_:

.. code-block:: bash

    FROM    ubuntu:latest

Since we want to be running the latest version of MongoDB we'll need to add the
10gen repo to our apt sources list.

.. code-block:: bash

    # Add 10gen official apt source to the sources list
    RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list

Then, we don't want Ubuntu to complain about init not being available so we'll
divert ``/sbin/initctl`` to ``/bin/true`` so it thinks everything is working.

.. code-block:: bash

    # Hack for initctl not being available in Ubuntu
    RUN dpkg-divert --local --rename --add /sbin/initctl
    RUN ln -s /bin/true /sbin/initctl

Afterwards we'll be able to update our apt repositories and install MongoDB

.. code-block:: bash

    # Install MongoDB
    RUN apt-get update
    RUN apt-get install mongodb-10gen

To run MongoDB we'll have to create the default data directory (because we want it to
run without needing to provide a special configuration file)

.. code-block:: bash

    # Create the MongoDB data directory
    RUN mkdir -p /data/db

Finally, we'll expose the standard port that MongoDB runs on, 27107, as well as
define an ``ENTRYPOINT`` instruction for the container.

.. code-block:: bash

    EXPOSE 27017
    ENTRYPOINT ["usr/bin/mongod"]

Now, lets build the image which will go through the ``Dockerfile`` we made and
run all of the commands.

.. code-block:: bash

    sudo docker build -t <yourname>/mongodb .

Now you should be able to run ``mongod`` as a daemon and be able to connect on
the local port!

.. code-block:: bash

    # Regular style
    MONGO_ID=$(sudo docker run -d <yourname>/mongodb)

    # Lean and mean
    MONGO_ID=$(sudo docker run -d <yourname>/mongodb --noprealloc --smallfiles)

    # Check the logs out
    sudo docker logs $MONGO_ID

    # Connect and play around
    mongo --port <port you get from `docker ps`>

Sweet!
