mirror of
https://github.com/bitnami/containers.git
synced 2026-03-26 23:08:08 +08:00
[bitnami/mongodb-sharded] Release 8.2.5-debian-12-r2 (#91508)
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -7,7 +7,7 @@ ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith"
|
||||
ARG TARGETARCH
|
||||
|
||||
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
|
||||
org.opencontainers.image.created="2026-02-19T03:11:12Z" \
|
||||
org.opencontainers.image.created="2026-03-11T17:46:41Z" \
|
||||
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
|
||||
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/mongodb-sharded/README.md" \
|
||||
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/mongodb-sharded" \
|
||||
@@ -28,11 +28,11 @@ RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \
|
||||
DOWNLOADS_URL=${SECRET_DOWNLOADS_URL:-${DOWNLOADS_URL}} ; \
|
||||
mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \
|
||||
COMPONENTS=( \
|
||||
"yq-4.52.4-0-linux-${OS_ARCH}-debian-12" \
|
||||
"wait-for-port-1.0.10-7-linux-${OS_ARCH}-debian-12" \
|
||||
"render-template-1.0.9-162-linux-${OS_ARCH}-debian-12" \
|
||||
"yq-4.52.4-1-linux-${OS_ARCH}-debian-12" \
|
||||
"wait-for-port-1.0.10-8-linux-${OS_ARCH}-debian-12" \
|
||||
"render-template-1.0.9-163-linux-${OS_ARCH}-debian-12" \
|
||||
"mongodb-shell-2.7.0-0-linux-${OS_ARCH}-debian-12" \
|
||||
"mongodb-8.2.5-0-linux-${OS_ARCH}-debian-12" \
|
||||
"mongodb-8.2.5-1-linux-${OS_ARCH}-debian-12" \
|
||||
) ; \
|
||||
for COMPONENT in "${COMPONENTS[@]}"; do \
|
||||
if [ ! -f "${COMPONENT}.tar.gz" ]; then \
|
||||
@@ -55,7 +55,7 @@ COPY rootfs /
|
||||
RUN /opt/bitnami/scripts/mongodb-sharded/postunpack.sh
|
||||
ENV APP_VERSION="8.2.5" \
|
||||
BITNAMI_APP_NAME="mongodb-sharded" \
|
||||
IMAGE_REVISION="1" \
|
||||
IMAGE_REVISION="2" \
|
||||
PATH="/opt/bitnami/common/bin:/opt/bitnami/mongodb/bin:$PATH"
|
||||
|
||||
EXPOSE 27017
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
# MongoDB® Sharded packaged by Bitnami
|
||||
|
||||
## What is MongoDB® Sharded?
|
||||
|
||||
> MongoDB® is an open source NoSQL database that uses JSON for data storage. MongoDB™ Sharded improves scalability and reliability for large datasets by distributing data across multiple machines.
|
||||
|
||||
[Overview of MongoDB® Sharded](https://www.mongodb.org)
|
||||
@@ -64,45 +62,26 @@ cd bitnami/APP/VERSION/OPERATING-SYSTEM
|
||||
docker build -t bitnami/APP:latest .
|
||||
```
|
||||
|
||||
## Using `docker-compose.yaml`
|
||||
|
||||
Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes. For production-ready deployments, we highly recommend utilizing its associated [Bitnami Helm chart](https://github.com/bitnami/charts/tree/main/bitnami/mongodb-sharded).
|
||||
|
||||
## Persisting your database
|
||||
|
||||
If you remove the container all your data will be lost, and the next time you run the image the database will be reinitialized. To avoid this loss of data, you should mount a volume that will persist even after the container is removed.
|
||||
|
||||
For persistence you should create a directory and mount it at the `/bitnami/mongodb` path. If the mounted directory is empty, it will be initialized on the first run. As this is a non-root container, directory must have read/write permissions for the UID 1001.
|
||||
For persistence you should create a directory and mount it at the `/bitnami/mongodb` path. If the mounted directory is empty, it will be initialized on the first run.
|
||||
|
||||
```console
|
||||
docker run \
|
||||
-v /path/to/mongodb-persistence:/bitnami/mongodb \
|
||||
bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
or by modifying the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/mongodb-sharded/docker-compose.yml) file present in this repository:
|
||||
|
||||
- Create directories to hold the persistence data. At minimum you will need one directory for each mongo instance running in the sharded cluster. For example, that means one directory for mongos, mongocfg and mongoshard. You need to assign read write permission to UID 1001 (ie. mkdir [directory] && chown 1001:1001 [directory] && chmod 777 [directory]) to all directories.
|
||||
|
||||
```yaml
|
||||
services:
|
||||
mongodb-sharded:
|
||||
...
|
||||
volumes:
|
||||
- /path/to/mongos-persistence:/bitnami
|
||||
...
|
||||
mongodb-shard0:
|
||||
...
|
||||
volumes:
|
||||
- /path/to/mongoshard-persistence:/bitnami
|
||||
...
|
||||
mongodb-cfg:
|
||||
...
|
||||
volumes:
|
||||
- /path/to/mongocfg-persistence:/bitnami
|
||||
...
|
||||
```
|
||||
> **NOTE** As this is a non-root container, directory must have read/write permissions for the UID 1001.
|
||||
|
||||
## Configuration
|
||||
|
||||
The following section describes the supported environment variables
|
||||
|
||||
### Environment variables
|
||||
|
||||
The following tables list the main variables you can set.
|
||||
|
||||
#### Customizable environment variables
|
||||
|
||||
| Name | Description | Default Value |
|
||||
@@ -205,107 +184,6 @@ A [sharded cluster](https://docs.mongodb.com/manual/sharding/#sharded-cluster) c
|
||||
- `MONGODB_ROOT_PASSWORD`: MongoDB® root password. No defaults.
|
||||
- `MONGODB_REPLICA_SET_MODE`: The replication mode. Possible values `primary`/`secondary`/`arbiter`. No defaults.
|
||||
|
||||
#### Step 1: Create the config server replica set
|
||||
|
||||
The first step is to start the MongoDB® primary config server.
|
||||
|
||||
```console
|
||||
docker run --name mongodb-configsvr-primary \
|
||||
-e MONGODB_SHARDING_MODE=configsvr \
|
||||
-e MONGODB_REPLICA_SET_MODE=primary \
|
||||
-e MONGODB_ROOT_PASSWORD=password123 \
|
||||
-e MONGODB_REPLICA_SET_KEY=replicasetkey123 \
|
||||
-e MONGODB_REPLICA_SET_NAME=config-replicaset \
|
||||
bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
In the above command the container is configured as Config server using the `MONGODB_SHARDING_MODE` parameter and as `primary` using the `MONGODB_REPLICA_SET_MODE` parameter. You can configure secondary nodes by following the [Bitnami MongoDB® container replication guide](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#setting-up-replication).
|
||||
|
||||
#### Step 2: Create the mongos instance
|
||||
|
||||
Next we start a MongoDB® mongos server and connect it to the config server replica set.
|
||||
|
||||
```console
|
||||
docker run --name mongos \
|
||||
--link mongodb-configsvr-primary:cfg-primary \
|
||||
-e MONGODB_SHARDING_MODE=mongos \
|
||||
-e MONGODB_CFG_PRIMARY_HOST=cfg-primary \
|
||||
-e MONGODB_CFG_REPLICA_SET_NAME=config-replicaset \
|
||||
-e MONGODB_REPLICA_SET_KEY=replicasetkey123 \
|
||||
-e MONGODB_ROOT_PASSWORD=password123 \
|
||||
bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
In the above command the container is configured as a `mongos` using the `MONGODB_SHARDING_MODE` parameter. The `MONGODB_CFG_PRIMARY_HOST`, `MONGODB_REPLICA_SET_KEY`, `MONGODB_CFG_REPLICA_SET_NAME` and `MONGODB_ROOT_PASSWORD` parameters are used connect and with the MongoDB® primary config server.
|
||||
|
||||
#### Step 3: Create a shard
|
||||
|
||||
Finally we start a MongoDB® data shard container.
|
||||
|
||||
```console
|
||||
docker run --name mongodb-shard0-primary \
|
||||
--link mongodb-configsvr-primary:cfg-primary \
|
||||
--link mongos:mongos \
|
||||
-e MONGODB_SHARDING_MODE=shardsvr \
|
||||
-e MONGODB_MONGOS_HOST=mongos \
|
||||
-e MONGODB_ROOT_PASSWORD=password123 \
|
||||
-e MONGODB_REPLICA_SET_MODE=primary \
|
||||
-e MONGODB_REPLICA_SET_KEY=replicasetkey123 \
|
||||
-e MONGODB_REPLICA_SET_NAME=shard0 \
|
||||
bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
In the above command the container is configured as a data shard using the `MONGODB_SHARDING_MODE` parameter. The `MONGODB_MONGOS_HOST`, `MONGODB_ROOT_PASSWORD` and `MONGODB_REPLICA_SET_KEY` parameters are used connect and with the Mongos instance. You can configure secondary nodes by following the [Bitnami MongoDB® container replication guide](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#setting-up-replication).
|
||||
|
||||
You now have a sharded MongoDB® cluster up and running. You can add more shards by repeating step 3. Make sure you set a different `MONGODB_REPLICA_SET_NAME` value. You can also add more mongos instances by repeating step 2.
|
||||
|
||||
With Docker Compose the sharded cluster can be setup using:
|
||||
|
||||
```yaml
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
mongos:
|
||||
image: bitnami/mongodb-sharded:latest
|
||||
environment:
|
||||
- MONGODB_SHARDING_MODE=mongos
|
||||
- MONGODB_CFG_PRIMARY_HOST=mongodb-cfg
|
||||
- MONGODB_CFG_REPLICA_SET_NAME=cfgreplicaset
|
||||
- MONGODB_REPLICA_SET_KEY=replicasetkey123
|
||||
- MONGODB_ROOT_PASSWORD=password123
|
||||
ports:
|
||||
- 27017:27017
|
||||
|
||||
mongodb-shard0-primary:
|
||||
image: bitnami/mongodb-sharded:latest
|
||||
environment:
|
||||
- MONGODB_SHARDING_MODE=shardsvr
|
||||
- MONGODB_MONGOS_HOST=mongos
|
||||
- MONGODB_ROOT_PASSWORD=password123
|
||||
- MONGODB_REPLICA_SET_MODE=primary
|
||||
- MONGODB_REPLICA_SET_KEY=replicasetkey123
|
||||
- MONGODB_REPLICA_SET_NAME=shard0
|
||||
volumes:
|
||||
- shard0_data:/bitnami
|
||||
|
||||
mongodb-configsvr-primary:
|
||||
image: bitnami/mongodb-sharded:latest
|
||||
environment:
|
||||
- MONGODB_SHARDING_MODE=configsvr
|
||||
- MONGODB_ROOT_PASSWORD=password123
|
||||
- MONGODB_REPLICA_SET_MODE=primary
|
||||
- MONGODB_REPLICA_SET_KEY=replicasetkey123
|
||||
- MONGODB_REPLICA_SET_NAME=config-replicaset
|
||||
volumes:
|
||||
- cfg_data:/bitnami
|
||||
|
||||
volumes:
|
||||
shard0_data:
|
||||
driver: local
|
||||
cfg_data:
|
||||
driver: local
|
||||
```
|
||||
|
||||
### More MongoDB® configuration settings
|
||||
|
||||
The Bitnami MongoDB® Sharded image contains the [same configuration features than the Bitnami MongoDB® image](https://github.com/bitnami/containers/blob/main/bitnami/mongodb#configuration).
|
||||
@@ -332,68 +210,6 @@ docker-compose logs mongodb-sharded
|
||||
|
||||
You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver.
|
||||
|
||||
## Maintenance
|
||||
|
||||
### Upgrade this image
|
||||
|
||||
Bitnami provides up-to-date versions of MongoDB®, including security patches, soon after they are made upstream. We recommend that you follow these steps to upgrade your container.
|
||||
|
||||
#### Step 1: Get the updated image
|
||||
|
||||
```console
|
||||
docker pull bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
or if you're using Docker Compose, update the value of the image property to `bitnami/mongodb-sharded:latest`.
|
||||
|
||||
#### Step 2: Stop and backup the currently running container
|
||||
|
||||
Stop the currently running container using the command
|
||||
|
||||
```console
|
||||
docker stop mongodb-sharded
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose stop mongodb-sharded
|
||||
```
|
||||
|
||||
Next, take a snapshot of the persistent volume `/path/to/mongodb-persistence` using:
|
||||
|
||||
```console
|
||||
rsync -a /path/to/mongodb-persistence /path/to/mongodb-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
|
||||
```
|
||||
|
||||
You can use this snapshot to restore the database state should the upgrade fail.
|
||||
|
||||
#### Step 3: Remove the currently running container
|
||||
|
||||
```console
|
||||
docker rm -v mongodb-sharded
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose rm -v mongodb-sharded
|
||||
```
|
||||
|
||||
#### Step 4: Run the new image
|
||||
|
||||
Re-create your container from the new image.
|
||||
|
||||
```console
|
||||
docker run --name mongodb bitnami/mongodb-sharded:latest
|
||||
```
|
||||
|
||||
or using Docker Compose:
|
||||
|
||||
```console
|
||||
docker-compose up mongodb-sharded
|
||||
```
|
||||
|
||||
## Notable Changes
|
||||
|
||||
### 4.4.8-debian-10-r32, and 5.0.2-debian-10-r0
|
||||
@@ -405,12 +221,6 @@ docker-compose up mongodb-sharded
|
||||
- `3.6.16-centos-7-r49`, `4.0.14-centos-7-r29`, and `4.2.2-centos-7-r41` are considered the latest images based on CentOS.
|
||||
- Standard supported distros: Debian & OEL.
|
||||
|
||||
## Using `docker-compose.yaml`
|
||||
|
||||
Please be aware this file has not undergone internal testing. Consequently, we advise its use exclusively for development or testing purposes. For production-ready deployments, we highly recommend utilizing its associated [Bitnami Helm chart](https://github.com/bitnami/charts/tree/main/bitnami/mongodb-sharded).
|
||||
|
||||
If you detect any issue in the `docker-compose.yaml` file, feel free to report it or contribute with a fix by following our [Contributing Guidelines](https://github.com/bitnami/containers/blob/main/CONTRIBUTING.md).
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2026 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
||||
|
||||
Reference in New Issue
Block a user