├── Dockerfile ├── LICENSE └── README.md /Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # MongoDB Dockerfile 3 | # 4 | # https://github.com/dockerfile/mongodb 5 | # 6 | 7 | # Pull base image. 8 | FROM dockerfile/ubuntu 9 | 10 | # Install MongoDB. 11 | RUN \ 12 | apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 && \ 13 | echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > /etc/apt/sources.list.d/mongodb.list && \ 14 | apt-get update && \ 15 | apt-get install -y mongodb-org && \ 16 | rm -rf /var/lib/apt/lists/* 17 | 18 | # Define mountable directories. 19 | VOLUME ["/data/db"] 20 | 21 | # Define working directory. 22 | WORKDIR /data 23 | 24 | # Define default command. 25 | CMD ["mongod"] 26 | 27 | # Expose ports. 28 | # - 27017: process 29 | # - 28017: http 30 | EXPOSE 27017 31 | EXPOSE 28017 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Dockerfile Project 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## MongoDB Dockerfile 2 | 3 | 4 | This repository contains **Dockerfile** of [MongoDB](http://www.mongodb.org/) for [Docker](https://www.docker.com/)'s [automated build](https://registry.hub.docker.com/u/dockerfile/mongodb/) published to the public [Docker Hub Registry](https://registry.hub.docker.com/). 5 | 6 | 7 | ### Base Docker Image 8 | 9 | * [dockerfile/ubuntu](http://dockerfile.github.io/#/ubuntu) 10 | 11 | 12 | ### Installation 13 | 14 | 1. Install [Docker](https://www.docker.com/). 15 | 16 | 2. Download [automated build](https://registry.hub.docker.com/u/dockerfile/mongodb/) from public [Docker Hub Registry](https://registry.hub.docker.com/): `docker pull dockerfile/mongodb` 17 | 18 | (alternatively, you can build an image from Dockerfile: `docker build -t="dockerfile/mongodb" github.com/dockerfile/mongodb`) 19 | 20 | 21 | ### Usage 22 | 23 | #### Run `mongod` 24 | 25 | docker run -d -p 27017:27017 --name mongodb dockerfile/mongodb 26 | 27 | #### Run `mongod` w/ persistent/shared directory 28 | 29 | docker run -d -p 27017:27017 -v :/data/db --name mongodb dockerfile/mongodb 30 | 31 | #### Run `mongod` w/ HTTP support 32 | 33 | docker run -d -p 27017:27017 -p 28017:28017 --name mongodb dockerfile/mongodb mongod --rest --httpinterface 34 | 35 | #### Run `mongod` w/ Smaller default file size 36 | 37 | docker run -d -p 27017:27017 --name mongodb dockerfile/mongodb mongod --smallfiles 38 | 39 | #### Run `mongo` 40 | 41 | docker run -it --rm --link mongodb:mongodb dockerfile/mongodb bash -c 'mongo --host mongodb' 42 | 43 | ##### Usage with VirtualBox (boot2docker-vm) 44 | 45 | _You will need to set up nat port forwarding with:_ 46 | 47 | VBoxManage modifyvm "boot2docker-vm" --natpf1 "guestmongodb,tcp,127.0.0.1,27017,,27017" 48 | 49 | This will allow you to connect to your mongo container with the standard `mongo` commands. 50 | --------------------------------------------------------------------------------