Sign inSign up

apcheamitru/arm32v7-mongo

By apcheamitru

•Updated almost 8 years ago

An ARM32v7 implementation of MongoDB.

Image
2

10K+

apcheamitru/arm32v7-mongo repository overview

⁠Supported tags

  • 3.2.20, 3.2, latest

⁠Summary

MongoDB is a free and open-source cross-platform document-oriented database⁠ program. Classified as a NoSQL⁠ database program, MongoDB uses JSON⁠-like documents with schemata. MongoDB is developed by MongoDB Inc.⁠, and is published under a combination of the Server Side Public License⁠ and the Apache License⁠.

As of version 3.2, MongoDB has deprecated all 32-bit builds, and as of version 3.4, has effectively dropped support for all 32-bit platforms. (Note that 32-bit ARM was never an officially supported platform). Huge thanks to Daming Dominic Chen for his work in compiling MongoDB for 32-bit ARM⁠. I used Daming's Debian packages⁠ in my Docker images.

For more information, see:


⁠Example usage

Start a mongo server instance:

$ docker run --name some-mongo -d apcheamitru/arm32v7-mongo:latest

⁠Dockerfile

FROM arm32v7/ubuntu:bionic

MAINTAINER Alexander Cheamitru

RUN set -ex; \
    groupadd -r mongodb; \
    useradd -r -g mongodb mongodb

RUN set -ex; \
    apt-get update; \
    apt-get install -y --no-install-recommends ca-certificates jq gnupg; \
    rm -rf /var/lib/apt/lists/*;

ENV GOSU_VERSION="1.10" \
    JSYAML_VERSION="3.10.0" \
    MONGO_MAJOR="3.2" \
    MONGO_VERSION="3.2.20"

RUN set -ex; \
    apt-get update; \
    apt-get install -y --no-install-recommends wget; \
    rm -rf /var/lib/apt/lists/*; \
    dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
    wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}"; \
    wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc"; \
    export GNUPGHOME="$(mktemp -d)"; \
    gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
    gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
    command -v gpgconf && gpgconf --kill all || :; \
    rm -r "${GNUPGHOME}" /usr/local/bin/gosu.asc; \
    chmod +x /usr/local/bin/gosu; \
    gosu nobody true; \
    wget -O /js-yaml.js "https://github.com/nodeca/js-yaml/raw/${JSYAML_VERSION}/dist/js-yaml.js";

RUN set -ex; \
    apt-get update; \
    cd /var/cache/apt/archives; \
    wget "https://github.com/ddcc/mongodb/releases/download/v${MONGO_VERSION}/mongodb-clients_${MONGO_VERSION}-1_armhf.deb"; \
    wget "https://github.com/ddcc/mongodb/releases/download/v${MONGO_VERSION}/mongodb-server_${MONGO_VERSION}-1_armhf.deb"; \
    wget "https://github.com/ddcc/mongodb/releases/download/v${MONGO_VERSION}/mongodb_${MONGO_VERSION}-1_armhf.deb"; \
    apt -y install "./mongodb-clients_${MONGO_VERSION}-1_armhf.deb" "./mongodb-server_${MONGO_VERSION}-1_armhf.deb" "./mongodb_${MONGO_VERSION}-1_armhf.deb"; \
    rm -rf /var/lib/apt/lists/*; \
    rm -rf /var/lib/mongodb;

VOLUME /data/db /data/configdb

RUN set -ex; \
    mkdir -p /data/db /data/configdb; \
    chown -R mongodb:mongodb /data/db /data/configdb;

RUN set -ex; \
    mkdir /docker-entrypoint-initdb.d; \
    wget -O /usr/local/bin/docker-entrypoint.sh "https://raw.githubusercontent.com/docker-library/mongo/master/${MONGO_MAJOR}/docker-entrypoint.sh"; \
    chmod +x /usr/local/bin/docker-entrypoint.sh; \
    ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh; \
    apt-get purge -y --auto-remove wget;

EXPOSE 27017

ENTRYPOINT ["docker-entrypoint.sh"]

CMD ["mongod"]

Tag summary

Content type

Image

Digest

Size

107.7 MB

Last updated

almost 8 years ago

docker pull apcheamitru/arm32v7-mongo