[bitnami/opensearch] Release 3.5.0-debian-12-r2 (#91559)

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
Bitnami Bot
2026-03-12 14:27:56 +01:00
committed by GitHub
parent 5d434fddf1
commit af7c746c0b
2 changed files with 20 additions and 248 deletions

View File

@@ -9,7 +9,7 @@ ARG OPENSEARCH_PLUGINS
ARG TARGETARCH
LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \
org.opencontainers.image.created="2026-02-19T03:31:04Z" \
org.opencontainers.image.created="2026-03-12T12:24:15Z" \
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/opensearch/README.md" \
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/opensearch" \
@@ -31,7 +31,7 @@ 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" \
"yq-4.52.4-1-linux-${OS_ARCH}-debian-12" \
"jre-21.0.10-10-0-linux-${OS_ARCH}-debian-12" \
"opensearch-3.5.0-0-linux-${OS_ARCH}-debian-12" \
) ; \
@@ -54,7 +54,7 @@ RUN /opt/bitnami/scripts/opensearch/postunpack.sh
RUN /opt/bitnami/scripts/java/postunpack.sh
ENV APP_VERSION="3.5.0" \
BITNAMI_APP_NAME="opensearch" \
IMAGE_REVISION="1" \
IMAGE_REVISION="2" \
JAVA_HOME="/opt/bitnami/java" \
LD_LIBRARY_PATH="/opt/bitnami/opensearch/jdk/lib:/opt/bitnami/opensearch/jdk/lib/server:/opt/bitnami/opensearch/plugins/opensearch-knn/lib:$LD_LIBRARY_PATH" \
OPENSEARCH_JAVA_HOME="/opt/bitnami/java"

View File

@@ -1,7 +1,5 @@
# Bitnami Secure Image for OpenSearch
## What is OpenSearch?
> OpenSearch is a scalable open-source solution for search, analytics, and observability. Features full-text queries, natural language processing, custom dictionaries, amongst others.
[Overview of OpenSearch](https://opensearch.org/)
@@ -9,6 +7,8 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema
## TL;DR
Use this quick command to run the container.
```console
docker run --name opensearch bitnami/opensearch:latest
```
@@ -32,7 +32,7 @@ Each image comes with valuable security metadata. You can view the metadata in [
If you are looking for our previous generation of images based on Debian Linux, please see the [Bitnami Legacy registry](https://hub.docker.com/u/bitnamilegacy).
## How to deploy OpenSearch in Kubernetes?
## How to deploy OpenSearch in Kubernetes
Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami OpenSearch Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/opensearch).
@@ -66,117 +66,34 @@ 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/opensearch).
## Persisting your application
If you remove the container all your data will be lost, and the next time you run the image the application 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 mount a directory at the `/bitnami` path. If the mounted directory is empty, it will be initialized on the first run.
```console
docker run \
-v /path/to/opensearch-data-persistence:/bitnami/opensearch/data \
bitnami/opensearch:latest
```
or by making a minor change to the [`docker-compose.yml`](https://github.com/bitnami/containers/blob/main/bitnami/opensearch/docker-compose.yml) file present in this repository:
```yaml
opensearch:
...
volumes:
- /path/to/opensearch-data-persistence:/bitnami/opensearch/data
...
```
> NOTE: As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`.
> **NOTE** As this is a non-root container, the mounted files and directories must have the proper permissions for the UID `1001`.
It is also possible to use multiple volumes for data persistence by using the `OPENSEARCH_DATA_DIR_LIST` environment variable:
```yaml
opensearch:
...
volumes:
- /path/to/opensearch-data-persistence-1:/opensearch/data-1
- /path/to/opensearch-data-persistence-2:/opensearch/data-2
environment:
- OPENSEARCH_DATA_DIR_LIST=/opensearch/data-1,/opensearch/data-2
...
```
## Connecting to other containers
Using [Docker container networking](https://docs.docker.com/engine/userguide/networking/), an OpenSearch server running inside a container can easily be accessed by your application containers.
Containers attached to the same network can communicate with each other using the container name as the hostname.
### Using the Command Line
#### Step 1: Create a network
```console
docker network create app-tier --driver bridge
```
#### Step 2: Launch the OpenSearch server instance
Use the `--network app-tier` argument to the `docker run` command to attach the OpenSearch container to the `app-tier` network.
```console
docker run -d --name opensearch-server \
--network app-tier \
bitnami/opensearch:latest
```
#### Step 3: Launch your application container
```console
docker run -d --name myapp \
--network app-tier \
YOUR_APPLICATION_IMAGE
```
> **IMPORTANT**:
>
> 1. Please update the **YOUR_APPLICATION_IMAGE_** placeholder in the above snippet with your application image
> 2. In your application container, use the hostname `opensearch-server` to connect to the OpenSearch server
### Using a Docker Compose file
When not specified, Docker Compose automatically sets up a new network and attaches all deployed services to that network. However, we will explicitly define a new `bridge` network named `app-tier`. In this example we assume that you want to connect to the OpenSearch server from your own custom application image which is identified in the following snippet by the service name `myapp`.
```yaml
version: '2'
networks:
app-tier:
driver: bridge
services:
opensearch:
image: bitnami/opensearch:latest
networks:
- app-tier
myapp:
image: YOUR_APPLICATION_IMAGE
networks:
- app-tier
```
> **IMPORTANT**:
>
> 1. Please update the **YOUR_APPLICATION_IMAGE_** placeholder in the above snippet with your application image
> 2. In your application container, use the hostname `opensearch` to connect to the OpenSearch server
Launch the containers using:
```console
docker-compose up -d
```
Containers attached to the same network can communicate with each other using the container name as the host name.
## Configuration
The following sections describe environment variables and related settings.
### Environment variables
The following tables list the main variables you can set.
#### Customizable environment variables
| Name | Description | Default Value |
@@ -271,34 +188,14 @@ docker-compose up -d
| `OPENSEARCH_DAEMON_GROUP` | Opensearch system group | `opensearch` |
| `OPENSEARCH_USERNAME` | Username of the Opensearch superuser. | `admin` |
When you start the opensearch image, you can adjust the configuration of the instance by passing one or more environment variables either on the docker-compose file or on the `docker run` command line. If you want to add a new environment variable:
- For Docker Compose, add the variable name and value under the application section:
```yaml
opensearch:
...
environment:
- OPENSEARCH_PORT_NUMBER=9201
...
```
- For manual execution add a `-e` option with each variable and value:
```console
$ docker run -d --name opensearch \
-p 9201:9201 --network=opensearch_network \
-e OPENSEARCH_PORT_NUMBER=9201 \
-v /path/to/opensearch-data-persistence:/bitnami/opensearch/data \
bitnami/opensearch
```
When you start the opensearch image, you can adjust the configuration of the instance by passing one or more environment variables either on the docker-compose file or on the `docker run` command line.
### Setting up a cluster
A cluster can easily be setup with the Bitnami OpenSearch Docker Image using the following environment variables:
- `OPENSEARCH_CLUSTER_NAME`: The OpenSearch Cluster Name. Default: **opensearch-cluster**
- `OPENSEARCH_CLUSTER_HOSTS`: List of opensearch hosts to set the cluster. Available separators are ' ', ',' and ';'. No defaults.
- `OPENSEARCH_CLUSTER_HOSTS`: List of OpenSearch hosts to set the cluster. Available separators are ' ', ',' and ';'. No defaults.
- `OPENSEARCH_CLIENT_NODE`: OpenSearch node to behave as a 'smart router' for Kibana app. Default: **false**
- `OPENSEARCH_NODE_NAME`: OpenSearch node name. No defaults.
- `OPENSEARCH_MINIMUM_MASTER_NODES`: Minimum OpenSearch master nodes for a quorum. No defaults.
@@ -307,66 +204,10 @@ For larger cluster, you can setup 'dedicated nodes' using the following environm
- `OPENSEARCH_IS_DEDICATED_NODE`: OpenSearch node to behave as a 'dedicated node'. Default: **no**
- `OPENSEARCH_NODE_TYPE`: OpenSearch node type when behaving as a 'dedicated node'. Valid values: *master*, *data*, *coordinating* or *ingest*.
- `OPENSEARCH_CLUSTER_MASTER_HOSTS`: List of opensearch master-eligible hosts. Available separators are ' ', ',' and ';'. If no values are provided, it will have the same value as `OPENSEARCH_CLUSTER_HOSTS`.
- `OPENSEARCH_CLUSTER_MASTER_HOSTS`: List of OpenSearch master-eligible hosts. Available separators are ' ', ',' and ';'. If no values are provided, it will have the same value as `OPENSEARCH_CLUSTER_HOSTS`.
Find more information about 'dedicated nodes' in the [official documentation](https://www.elastic.co/guide/en/opensearch/reference/current/modules-node.html).
#### Step 1: Create a new network
```console
docker network create opensearch_network
```
#### Step 2: Create the first node
```console
docker run --name opensearch-node1 \
--net=opensearch_network \
-p 9200:9200 \
-e OPENSEARCH_CLUSTER_NAME=opensearch-cluster \
-e OPENSEARCH_CLUSTER_HOSTS=opensearch-node1,opensearch-node2 \
-e OPENSEARCH_NODE_NAME=elastic-node1 \
bitnami/opensearch:latest
```
In the above command the container is added to a cluster named `opensearch-cluster` using the `OPENSEARCH_CLUSTER_NAME`. The `OPENSEARCH_CLUSTER_HOSTS` parameter set the name of the nodes that set the cluster so we will need to launch other container for the second node. Finally the `OPENSEARCH_NODE_NAME` parameter allows to indicate a known name for the node, otherwise opensearch will generate a random one.
#### Step 3: Create a second node
```console
docker run --name opensearch-node2 \
--link opensearch-node1:opensearch-node1 \
--net=opensearch_network \
-e OPENSEARCH_CLUSTER_NAME=opensearch-cluster \
-e OPENSEARCH_CLUSTER_HOSTS=opensearch-node1,opensearch-node2 \
-e OPENSEARCH_NODE_NAME=elastic-node2 \
bitnami/opensearch:latest
```
In the above command a new opensearch node is being added to the opensearch cluster indicated by `OPENSEARCH_CLUSTER_NAME`.
You now have a two node OpenSearch cluster up and running which can be scaled by adding/removing nodes.
With Docker Compose the cluster configuration can be setup using:
```yaml
version: '2'
services:
opensearch-node1:
image: bitnami/opensearch:latest
environment:
- OPENSEARCH_CLUSTER_NAME=opensearch-cluster
- OPENSEARCH_CLUSTER_HOSTS=opensearch-node1,opensearch-node2
- OPENSEARCH_NODE_NAME=elastic-node1
opensearch-node2:
image: bitnami/opensearch:latest
environment:
- OPENSEARCH_CLUSTER_NAME=opensearch-cluster
- OPENSEARCH_CLUSTER_HOSTS=opensearch-node1,opensearch-node2
- OPENSEARCH_NODE_NAME=elastic-node2
```
### Configuration file
In order to use a custom configuration file instead of the default one provided out of the box, you can create a file named `opensearch.yml` and mount it at `/opt/bitnami/opensearch/config/opensearch.yml` to overwrite the default configuration:
@@ -408,7 +249,7 @@ The Bitnami OpenSearch Docker image will also install plugin `.zip` files mounte
#### Adding plugins at build time (persisting plugins)
The Bitnami OpenSearch image provides a way to create your custom image installing plugins on build time. This is the preferred way to persist plugins when using Opensearch, as they will not be installed every time the container is started but just once at build time.
The Bitnami OpenSearch image provides a way to create your custom image installing plugins on build time. This is the preferred way to persist plugins when using OpenSearch, as they will not be installed every time the container is started but just once at build time.
To create your own image providing plugins execute the following command. Remember to replace the `VERSION` and `OPERATING-SYSTEM` path placeholders in the example command below with the correct values.
@@ -451,75 +292,6 @@ You can configure the containers [logging driver](https://docs.docker.com/engine
Additionally, in case you'd like to modify OpenSearch logging configuration, it can be done by overwriting the file `/opt/bitnami/opensearch/config/log4j2.properties`.
The syntax of this file can be found in OpenSearch [logging documentation](https://www.elastic.co/guide/en/opensearch/reference/current/logging.html).
## Maintenance
### Upgrade this image
Bitnami provides up-to-date versions of OpenSearch, 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/opensearch:latest
```
or if you're using Docker Compose, update the value of the image property to
`bitnami/opensearch:latest`.
#### Step 2: Stop and backup the currently running container
Stop the currently running container using the command
```console
docker stop opensearch
```
or using Docker Compose:
```console
docker-compose stop opensearch
```
Next, take a snapshot of the persistent volume `/path/to/opensearch-data-persistence` using:
```console
rsync -a /path/to/opensearch-data-persistence /path/to/opensearch-data-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
```
You can use this snapshot to restore the application state should the upgrade fail.
#### Step 3: Remove the currently running container
```console
docker rm -v opensearch
```
or using Docker Compose:
```console
docker-compose rm -v opensearch
```
#### Step 4: Run the new image
Re-create your container from the new image, restoring your backup if necessary.
```console
docker run --name opensearch bitnami/opensearch:latest
```
or using Docker Compose:
```console
docker-compose up opensearch
```
## 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/opensearch).
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 &copy; 2026 Bitnami