From 17c68d7d05f206928b0b567d410b47feac127c21 Mon Sep 17 00:00:00 2001 From: Juan Gutierrez Date: Fri, 13 Aug 2021 13:19:01 -0400 Subject: [PATCH 1/4] Add basic Docker setup After cloning, simply: ```sh docker-compose build docker-compose run --rm mongoengine python setup.py test ``` --- Dockerfile | 9 +++++++++ docker-compose.yml | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..f15866d6c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.8-slim-buster AS build + +COPY requirements-dev.txt . +RUN pip install --upgrade pip +RUN pip install -r requirements-dev.txt +RUN pip install "pymongo>=3.4,<4.0" + +WORKDIR /app +COPY . ./ \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..1a6fff298 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.4' +services: + mongoengine: + build: + context: . + image: mongoengine:latest + network_mode: host + depends_on: + - mongo + working_dir: /app + volumes: + - .:/app + mongo: + image: mongo:4 + restart: always + ports: + - 27017:27017 From 019251d62abd437a24495cc21851ce1f7684e124 Mon Sep 17 00:00:00 2001 From: Juan Gutierrez Date: Wed, 25 Aug 2021 14:37:54 -0400 Subject: [PATCH 2/4] Dockerize a mongo instance with a replSet of 1 --- Dockerfile | 12 ++++-------- docker-compose.yml | 9 --------- entrypoint.sh | 6 ++++++ 3 files changed, 10 insertions(+), 17 deletions(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index f15866d6c..529f8cb9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,5 @@ -FROM python:3.8-slim-buster AS build +FROM mongo:4 -COPY requirements-dev.txt . -RUN pip install --upgrade pip -RUN pip install -r requirements-dev.txt -RUN pip install "pymongo>=3.4,<4.0" - -WORKDIR /app -COPY . ./ \ No newline at end of file +COPY ./entrypoint.sh entrypoint.sh +RUN chmod u+x entrypoint.sh +ENTRYPOINT ./entrypoint.sh \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1a6fff298..bb3a1e43f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,14 +4,5 @@ services: build: context: . image: mongoengine:latest - network_mode: host - depends_on: - - mongo - working_dir: /app - volumes: - - .:/app - mongo: - image: mongo:4 - restart: always ports: - 27017:27017 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 000000000..1cb3698f5 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,6 @@ +#!/usr/bin/bash + +mongod --replSet mongoengine --fork --logpath=/var/log/mongodb.log +mongo db --eval "rs.initiate()" +mongod --shutdown +mongod --replSet mongoengine --bind_ip 0.0.0.0 From 3a597c4418089107192ea958621ae57d1d7a3416 Mon Sep 17 00:00:00 2001 From: Juan Gutierrez Date: Mon, 30 Aug 2021 10:15:21 -0400 Subject: [PATCH 3/4] Pre-commit hooks --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 529f8cb9e..ca635498d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,4 +2,4 @@ FROM mongo:4 COPY ./entrypoint.sh entrypoint.sh RUN chmod u+x entrypoint.sh -ENTRYPOINT ./entrypoint.sh \ No newline at end of file +ENTRYPOINT ./entrypoint.sh From defd58e5852655548a56dfa820822feccbeaf766 Mon Sep 17 00:00:00 2001 From: Juan Gutierrez Date: Thu, 30 Sep 2021 20:10:50 -0400 Subject: [PATCH 4/4] Use /bin/sh for entrypoint - compatabile with mongo3x images --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 1cb3698f5..7f826ad00 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/sh mongod --replSet mongoengine --fork --logpath=/var/log/mongodb.log mongo db --eval "rs.initiate()"