Dockerfile for Groonga full text search engine.
Groonga | Distribution | Tags | Path |
---|---|---|---|
10.0.6 | Debian GNU/Linux | 10.0.6-debian, latest-debian, latest | debian/Dockerfile |
10.0.6 | Alpine Linux | 10.0.6-alpine, latest-alpine | alpine/Dockerfile |
8.0.3 | Alpine Linux | 8.0.3 | |
8.0.0 | Alpine Linux | 8.0.0 | |
7.1.1 | Alpine Linux | 7.1.1 | |
7.1.0 | Alpine Linux | 7.1.0 | |
7.0.9 | Alpine Linux | 7.0.9 | |
7.0.8 | Alpine Linux | 7.0.8 | |
7.0.7 | Alpine Linux | 7.0.7 | |
7.0.6 | Alpine Linux | 7.0.6 | |
7.0.5 | Alpine Linux | 7.0.5 | |
7.0.4 | Alpine Linux | 7.0.4 | |
7.0.3 | Alpine Linux | 7.0.3 | |
7.0.2 | Alpine Linux | 7.0.2 | |
7.0.1 | Alpine Linux | 7.0.1 | |
7.0.0 | Alpine Linux | 7.0.0 |
There are Debian GNU/Linux based images and Alpine Linux based images. Debian GNU/Linux images are recommended for normal use. They start Groonga as an HTTP server by default.. Alpine Linux based images are for advanced users.
Debian GNU/Linux based images start Groonga as an HTTP server by default:
$ docker run -d --rm --publish=10041:10041 groonga/groonga:latest-debian
You can use it via http://127.0.0.1:10041/ .
Alpine Linux based images run groonga
command without any
argument:
$ docker run -it --rm groonga/groonga:latest-alpine
> status
[[0,1599459609.325239,8.893013000488281e-05],{"alloc_count":320,...}]
> quit
[[0,1599459638.74908,3.409385681152344e-05],true]
$
You can run Groonga as an HTTP server with some options:
$ mkdir -p db
$ docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=$PWD/db:/var/lib/db \
groonga/groonga:latest-alpine \
--protocol http \
-s \
-n \
/var/lib/db/db
You can use it via http://127.0.0.1:10041/ .
You can custom behaviors of Debian GNU/Linux based images by the following environment variables:
You can pass additional command line arguments to groonga
.
Here is an example to disable cache by passing --cache-limit=0
command line argument:
docker run \
-d \
--rm \
--publish=10041:10041 \
--env=GROONGA_ARGS="--cache-limit=0" \
groonga/groonga:latest-debian
The path of the cache directory.
The default is empty. The empty value means that Groonga doesn't use persistent cache.
See also: --cache-base-path
Here is an example to use persistent cache:
mkdir -p cache
docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=${PWD}/cache:/var/cache/groonga \
--env=GROONGA_CACHE_DIR="/var/cache/groonga" \
groonga/groonga:latest-debian
The path of the Groonga database.
The default is /var/lib/groonga/db/db
.
You can use storage in host by just mounting a storage in host to
/var/lib/groonga/db
:
mkdir -p db
docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=${PWD}/db:/var/lib/groonga/db \
groonga/groonga:latest-debian
You can also change the database path:
mkdir -p db
docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=${PWD}:/host \
--env=GROONGA_DB=/host/db/db \
groonga/groonga:latest-debian
The path of the directory to store log files.
The default is /var/log/groonga
.
You can use storage in host by just mounting a storage in host to
/var/log/groonga
:
mkdir -p log
docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=${PWD}/log:/var/log/groonga \
groonga/groonga:latest-debian
You can also change the database path:
mkdir -p log
docker run \
-d \
--rm \
--publish=10041:10041 \
--volume=${PWD}:/host \
--env=GROONGA_LOG_DIR=/host/log \
groonga/groonga:latest-debian
The log level.
The default is empty. The empty value means that the Groonga's default
log level (notice
) is used.
Here is an example to use debug
log level:
mkdir -p log
docker run \
-d \
--rm \
--publish=10041:10041 \
--env=GROONGA_LOG_LEVEL=debug \
groonga/groonga:latest-debian
The protocol that uses Groonga server.
The default is http
. You can use http
, gqtp
or memcached
.
Here is an example to use gqtp
protocol:
docker run \
-d \
--rm \
--publish=10043:10043 \
--env=GROONGA_PROTOCOL=10043 \
groonga/groonga:latest-debian