Sign inSign up

startx/sv-mongo

By startx

•Updated over 1 year ago

Container providing mongodb NoSQL database service on fedora / centos / redhat

Image
0

10K+

startx/sv-mongo repository overview

startxfr/docker-images

⁠Docker OS Images : MONGO

STARTX Profile licence Sources last commit Build Status Top language Code size

Dockerhub Registry Docker mongo pulls Docker Repository on Quay

Simple container used to deliver document-oriented database Run mongodb daemon⁠ under a container based on startx/fedora container⁠

⁠Available flavours

  • :latest : Fedora core rawhide + MongoDB 4.1.13
  • :fc31 : Fedora core 31 + MongoDB 4.1.13
  • :fc30 : Fedora core 30 + MongoDB 4.0.3
  • :fc29 : Fedora core 29 + MongoDB 4.0.3
  • :fc28 : Fedora core 28 + MongoDB 3.6
  • :fc27 : Fedora core 27 + MongoDB 3.4
  • :fc26 : Fedora core 26 + MongoDB 3.4
  • :fc23 : Fedora core 23 + MongoDB 3.0.7
  • :fc22 : Fedora core 22 + MongoDB
  • :fc21 : Fedora core 21 + MongoDB
  • :centos8 : CentOS 8 + MongoDB 4.1
  • :centos7 : CentOS 7 + MongoDB 4.1
  • :centos6 : Centos 6 + MongoDB 3.7
  • :alpine3 : Alpine 3.10 + MongoDB 4.1
  • :ubi8 : RedHat UBI 8 + MongoDB 4.1

⁠Running from dockerhub registry

If you want to be guided on setting-up and installing various containers engines (docker⁠, podman⁠, s2i⁠, dockerEE⁠, kubernetes⁠, openshift⁠) you can read ours containers engines guidelines⁠.

  • with docker you can run docker run -it --name="service-mongo" startx/sv-mongo from any docker host
  • with docker-compose you can create a docker-compose.yml file with the following content
service:
  image: startx/sv-mongo:latest
  container_name: "service-mongo"
  volumes:
    - "/tmp/container/mongo/logs:/logs:z"
    - "/tmp/container/mongo/data:/data:z"
⁠Using this image as Openshift Build image

You can use this public image as a base image in your openshift build strategy. You can first import our openshift image stream⁠ and automatically add them in your service catalog. You can also test our deploy template⁠ or our build and deploy template⁠

# import image streams
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/mongo/openshift-imageStreams.yml
# import deploy template and start a sample application
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/mongo/openshift-template-deploy.yml
oc process startx-mongo-deploy-template | oc create -f -
# import build and deploy template and start a sample application
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/Services/mongo/openshift-template-build.yml
oc process startx-mongo-build-template | oc create -f -
⁠Using this image as S2I builder

You can use this image as an s2i builder image.

s2i build https://github.com/startxfr/docker-images-example-mongo startx/sv-mongo test-mongo
docker run --rm -i -t test-mongo

⁠Docker-compose in various situations

  • sample docker-compose.yml linked to host port 1000
service:
  image: startx/sv-mongo:latest
  container_name: "service-mongo"
  ports:
    - "1000:27017"
  • sample docker-compose.yml with port exposed only to linked services
service:
  image: startx/sv-mongo:latest
  container_name: "service-mongo"
  expose:
    - "27017"
  • sample docker-compose.yml using data container
data:
  image: startx/fedora:latest
  container_name: "service-mongo-data"
service:
  image: startx/sv-mongo:latest
  container_name: "service-mongo"
  volume_from:
    - data:rw
⁠Using this image as base container

You can use this Dockerfile template to start a new personalized container based on this container. Create a file named Dockerfile in your project directory and copy this content inside. See docker guide⁠ for instructions on how to use this file.

FROM startx/sv-mongo:latest
#... your container specifications
CMD ["/bin/sx", "run"]

⁠Environment variable

This container is based on startx fedora container⁠ who came with some additional environment variable⁠

VariableTypeMandatoryDescription
base image environementsee environment list⁠
HOSTNAMEautoautoContainer unique id automatically assigned by docker daemon at startup
LOG_PATHautoautodefault set to /var/log/mongodb and used as a volume mountpoint
DATA_PATHautoautodefault set to /data and used as a volume mountpoint

⁠Exposed port

PortDescription
27017standard mongodb network port used for non encrypted traffic

⁠Exposed volumes

Container directoryDescription
/logslog directory used to record container and mongo logs
/datadata directory served by mongo. If empty will be filled with app on startup. In other case use content from mountpoint or data volumes

⁠Testing the service

access to the running webserver with your favorites browser mongo localhost:27017. Change port and hostname according to your current configuration

⁠For advanced users

You want to use this container and code to build and create locally this container, follow theses instructions.

This section will help you if you want to :

  • Get latest version of this service container
  • Enhance container content by adding instruction in Dockefile before build step

You must have a working environment with the source code of this repository. Read and follow how to setup your working environment⁠ to get a working directory. The following instructions assume you are at the top level of your working directory.

⁠Build & run a container using docker
  1. Jump into the container directory with cd Services/mongo
  2. Build the container using docker build -t sv-mongo .
  3. Run this container
  4. Interactively with docker run -p 27017:27017 -v /logs -it sv-mongo. If you add a second parameter (like /bin/bash) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex: /bin/bash, /bin/ps -a, /bin/df -h,...)
  5. As a daemon with docker run -p 27017:27017 -v /logs -d sv-mongo
⁠Build & run a container using docker-compose
  1. Jump into the container directory with cd Services/mongo
  2. Run this container
  3. Interactively with docker-compose up Startup logs appears and escaping this command stop the container
  4. As a daemon with docker-compose up -d. Container startup logs can be read using docker-compose logs

If you experience trouble with port already used, edit docker-compose.yml file and change port mapping

Tag summary

Content type

Image

Digest

sha256:990579203…

Size

221.9 MB

Last updated

over 1 year ago

docker pull startx/sv-mongo