Update arangodb/content.md

This commit is contained in:
Simran Brucherseifer 2020-01-15 10:48:20 +01:00
parent 6a2e50f373
commit c782a3b7fe
1 changed files with 35 additions and 11 deletions

View File

@ -29,7 +29,7 @@ Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.
### Start an ArangoDB instance
In order to start an ArangoDB instance run
In order to start an ArangoDB instance, run:
```console
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance %%IMAGE%%
@ -37,7 +37,7 @@ unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance %%
Will create and launch the %%IMAGE%% docker instance as background process. The Identifier of the process is printed. By default ArangoDB listen on port 8529 for request and the image includes `EXPOSE 8529`. If you link an application container it is automatically available in the linked container. See the following examples.
In order to get the IP arango listens on run:
In order to get the IP arango listens on, run:
```console
unix> docker inspect --format '{{ .NetworkSettings.IPAddress }}' arangodb-instance
@ -45,7 +45,7 @@ unix> docker inspect --format '{{ .NetworkSettings.IPAddress }}' arangodb-instan
### Using the instance
In order to use the running instance from an application, link the container
In order to use the running instance from an application, link the container:
```console
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link %%IMAGE%%
@ -63,7 +63,7 @@ These can be used to access the database.
### Exposing the port to the outside world
If you want to expose the port to the outside world, run
If you want to expose the port to the outside world, run:
```console
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d %%IMAGE%%
@ -76,17 +76,17 @@ ArangoDB listen on port 8529 for request and the image includes `EXPOSE
The ArangoDB image provides several authentication methods which can be specified via environment variables (-e) when using `docker run`
1. ARANGO_RANDOM_ROOT_PASSWORD=1
1. `ARANGO_RANDOM_ROOT_PASSWORD=1`
Generate a random root password when starting. The password will be printed to stdout (may be inspected later using `docker logs`)
2. ARANGO_NO_AUTH=1
2. `ARANGO_NO_AUTH=1`
Disable authentication. Useful for testing.
**WARNING** Doing so in production will expose all your data. Make sure that ArangoDB is not directly accessible from the internet!
3. ARANGO_ROOT_PASSWORD=somepassword
3. `ARANGO_ROOT_PASSWORD=somepassword`
Specify your own root password.
@ -94,15 +94,39 @@ Note: this way of specifying logins only applies to single server installations.
### Command line options
In order to get a list of supported options, run
You can pass arguments to the ArangoDB server by appending them to the end of the Docker command:
```console
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 %%IMAGE%% arangod --help
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 %%IMAGE%% --help
```
The entrypoint script starts the `arangod` binary by default and forwards your arguments.
You may also start other binaries, such as the ArangoShell:
```console
unix> docker run -it %%IMAGE%% arangosh --server.database myDB ...
```
Note that you need to set up networking for containers if `arangod` runs in one container and you want to access it with `arangosh` running in another container. It is easier to execute it in the same container instead. Use `docker ps` to find out the container ID / name of a running container:
```console
unix> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1234567890ab arangodb "/entrypoint.sh aran…" 2 hours ago Up 2 hours 0.0.0.0:8529->8529/tcp jolly_joker
```
Then use `docker exec` and the ID / name to run something inside of the existing container:
```console
unix> docker exec -it jolly_joker arangosh
```
See more information about [Configuration](https://www.arangodb.com/docs/stable/administration-configuration.html)
## Persistent Data
ArangoDB supports two different storage engines as of ArangoDB 3.2. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine, `rocksdb` will choose the newly introduced storage engine based on [rocksdb](http://rocksdb.org/). The default choice is `mmfiles`.
ArangoDB supports two different storage engines as of ArangoDB 3.2. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine, `rocksdb` will choose the newly introduced storage engine based on [RocksDB](http://rocksdb.org/). The default choice is `mmfiles`.
ArangoDB use the volume `/var/lib/arangodb3` as database directory to store the collection data and the volume `/var/lib/arangodb3-apps` as apps directory to store any extensions. These directories are marked as docker volumes.
@ -153,4 +177,4 @@ When deriving the image, you can control the instantiation via putting files int
- `*.sh` - files ending with .sh will be run as a bash shellscript.
- `*.js` - files will be executed with arangosh. You can specify additional arangosh arguments via the `ARANGOSH_ARGS` environment variable.
- `dumps/` - in this directory you can place subdirectories containing database dumps generated using [arangodump](https://docs.arangodb.com/latest/Manual/Administration/Arangodump.html). They will be restored using [arangorestore](https://docs.arangodb.com/latest/Manual/Administration/Arangorestore.html).
- `dumps/` - in this directory you can place subdirectories containing database dumps generated using [arangodump](https://www.arangodb.com/docs/stable/programs-arangodump.html). They can be restored using [arangorestore](https://www.arangodb.com/docs/stable/programs-arangorestore.html).