Fix formatting (markdownfmt for official docs)

This commit is contained in:
Andreas Streichardt 2016-02-12 10:02:08 +01:00
parent 7009e41ebf
commit 9302ca4f95
2 changed files with 85 additions and 139 deletions

View File

@ -12,31 +12,26 @@ For more information about this image and its history, please see [the relevant
For detailed information about the virtual/transfer sizes and individual layers of each of the above supported tags, please see [the `arangodb/tag-details.md` file](https://github.com/docker-library/docs/blob/master/arangodb/tag-details.md) in [the `docker-library/docs` GitHub repo](https://github.com/docker-library/docs). For detailed information about the virtual/transfer sizes and individual layers of each of the above supported tags, please see [the `arangodb/tag-details.md` file](https://github.com/docker-library/docs/blob/master/arangodb/tag-details.md) in [the `docker-library/docs` GitHub repo](https://github.com/docker-library/docs).
# What is ArangoDB? # What is ArangoDB?
ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks.
The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for the data request you have in mind. The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for the data request you have in mind.
Dockerfile: [`Latest` (Dockerfile)](https://github.com/arangodb/arangodb-docker/blob/master/Dockerfile.templ) Dockerfile: [`Latest` (Dockerfile)](https://github.com/arangodb/arangodb-docker/blob/master/Dockerfile.templ)
Key Features in ArangoDB ## Key Features in ArangoDB
------------------------
**Multi-Model** **Multi-Model** Documents, graphs and key-value pairs — model your data as you see fit for your application.
Documents, graphs and key-value pairs — model your data as you see fit for your application.
**Joins** **Joins** Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
**Transactions** **Transactions** Easy application development keeping your data consistent and safe. No hassle in your client.
Easy application development keeping your data consistent and safe. No hassle in your client.
Joins and Transactions are key features for flexible, secure data designs, widely used in RDBMSs that you won't want to miss in NoSQL products. You decide how and when to use Joins and strong consistency guarantees, keeping all the power for scaling and performance as choice. Joins and Transactions are key features for flexible, secure data designs, widely used in RDBMSs that you won't want to miss in NoSQL products. You decide how and when to use Joins and strong consistency guarantees, keeping all the power for scaling and performance as choice.
Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.arangodb.com/foxx) to build your own Rest API with a few lines of code. Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.arangodb.com/foxx) to build your own Rest API with a few lines of code.
ArangoDB Documentation ArangoDB Documentation - [ArangoDB Documentation](https://www.arangodb.com/documentation) - [ArangoDB Tutorials](https://www.arangodb.com/tutorials)
- [ArangoDB Documentation](https://www.arangodb.com/documentation)
- [ArangoDB Tutorials](https://www.arangodb.com/tutorials)
## How to use this image ## How to use this image
@ -44,17 +39,13 @@ ArangoDB Documentation
In order to start an ArangoDB instance run In order to start an ArangoDB instance run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance -d arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance -d arangodb/arangodb
Will create and launch the arangodb docker instance as background process. Will create and launch the arangodb 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.
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:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <IDENTIFIER> docker inspect --format '{{ .NetworkSettings.IPAddress }}' <IDENTIFIER>
(where <IDENTIFIER> is the return string of the previous start command) (where <IDENTIFIER> is the return string of the previous start command)
@ -62,17 +53,15 @@ In order to get the IP arango listens on run:
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
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arangodb/arangodb
This will use the instance with the name `arangodb-instance` and link it into This will use the instance with the name `arangodb-instance` and link it into the application container. The application container will contain environment variables
the application container. The application container will contain environment
variables
DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529 DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529
DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17 DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17
DB_LINK_PORT_8529_TCP_PORT=8529 DB_LINK_PORT_8529_TCP_PORT=8529
DB_LINK_PORT_8529_TCP_PROTO=tcp DB_LINK_PORT_8529_TCP_PROTO=tcp
DB_LINK_NAME=/naughty_ardinghelli/db-link DB_LINK_NAME=/naughty_ardinghelli/db-link
These can be used to access the database. These can be used to access the database.
@ -80,7 +69,7 @@ These can be used to access the database.
If you want to expose the port to the outside world, run If you want to expose the port to the outside world, run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arangodb/arangodb
ArangoDB listen on port 8529 for request and the image includes `EXPOSE ArangoDB listen on port 8529 for request and the image includes `EXPOSE
8529`. The `-p 8529:8529` exposes this port on the host. 8529`. The `-p 8529:8529` exposes this port on the host.
@ -89,84 +78,68 @@ 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` 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`) 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 1. ARANGO_NO_AUTH=1
Disable authentication. Useful for testing. Disable authentication. Useful for testing.
**WARNING** Doing so in production will expose all your data. Make sure that ArangoDB is not diretcly accessible from the internet! **WARNING** Doing so in production will expose all your data. Make sure that ArangoDB is not diretcly accessible from the internet!
3. ARANGO_ROOT_PASSWORD=somepassword 1. ARANGO_ROOT_PASSWORD=somepassword
Specify your own root password. Specify your own root password.
### Command line options ### Command line options
In order to get a list of supported options, run In order to get a list of supported options, run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arangodb/arangodb arangod --help unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arangodb/arangodb arangod --help
## Persistent Data ## Persistent Data
ArangoDB use the volume `/var/lib/arangodb` as database directory to store the collection ArangoDB use the volume `/var/lib/arangodb` as database directory to store the collection data and the volume `/var/lib/arangodb-apps` as apps directory to store any extensions. These directories are marked as docker volumes.
data and the volume `/var/lib/arangodb-apps` as apps directory to store any extensions. These
directories are marked as docker volumes.
See `docker inspect --format "{{ .Config.Volumes}}" arangodb/arangodb` for all volumes. See `docker inspect --format "{{ .Config.Volumes}}" arangodb/arangodb` for all volumes.
A good explanation about persistence and docker container can be found here: A good explanation about persistence and docker container can be found here:[Docker In-depth: Volumes](http://container42.com/2014/11/03/docker-indepth-volumes/),[Why Docker Data Containers are Good](https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e)
[Docker In-depth: Volumes](http://container42.com/2014/11/03/docker-indepth-volumes/),
[Why Docker Data Containers are Good](https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e)
### Using host directories ### Using host directories
You can map the container's volumes to a directory on the host, so that the data You can map the container's volumes to a directory on the host, so that the data is kept between runs of the container. This path `/tmp/arangodb` is in general not the correct place to store you persistent files - it is just an example!
is kept between runs of the container. This path `/tmp/arangodb` is in general
not the correct place to store you persistent files - it is just an example!
unix> mkdir /tmp/arangodb unix> mkdir /tmp/arangodb
unix> docker -e ARANGO_RANDOM_ROOT_PASSWORD=1 run -p 8529:8529 -d \ unix> docker -e ARANGO_RANDOM_ROOT_PASSWORD=1 run -p 8529:8529 -d \
-v /tmp/arangodb:/var/lib/arangodb \ -v /tmp/arangodb:/var/lib/arangodb \
arangodb arangodb
This will use the `/tmp/arangodb` directory of the host as database directory This will use the `/tmp/arangodb` directory of the host as database directory for ArangoDB inside the container.
for ArangoDB inside the container.
### Using a data container ### Using a data container
Alternatively you can create a container holding the data. Alternatively you can create a container holding the data.
unix> docker create --name arangodb-persist arangodb/arangodb true unix> docker create --name arangodb-persist arangodb/arangodb true
And use this data container in your ArangoDB container. And use this data container in your ArangoDB container.
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arangodb
If want to save a few bytes you can alternatively use If want to save a few bytes you can alternatively use[tianon/true](https://registry.hub.docker.com/u/tianon/true/) or[progrium/busybox](https://registry.hub.docker.com/u/progrium/busybox/) for creating the volume only containers. Please note that you need to provide the used volumes in this case. For example
[tianon/true](https://registry.hub.docker.com/u/tianon/true/)
or
[progrium/busybox](https://registry.hub.docker.com/u/progrium/busybox/)
for creating the volume only containers.
Please note that you need to provide the used volumes in this case. For example
unix> docker run -d --name arangodb-persist -v /var/lib/arangodb tianon/true true unix> docker run -d --name arangodb-persist -v /var/lib/arangodb tianon/true true
## Building your own ArangoDB image ## Building your own ArangoDB image
We are auto generating docker images via our build system so the Dockerfile is a template. To build your own ArangoDB image: We are auto generating docker images via our build system so the Dockerfile is a template. To build your own ArangoDB image:
``` cp Dockerfile.templ Dockerfile
cp Dockerfile.templ Dockerfile
```
Adjust @VERSION@ in the Dockerfile and issue: Adjust @VERSION@ in the Dockerfile and issue:
``` docker build -t arangodb .
docker build -t arangodb .
```
This will create an image named `arangodb`. This will create an image named `arangodb`.

View File

@ -1,29 +1,24 @@
# What is ArangoDB? # What is ArangoDB?
ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks.
The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for the data request you have in mind. The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for the data request you have in mind.
Dockerfile: [`Latest` (Dockerfile)](https://github.com/arangodb/arangodb-docker/blob/master/Dockerfile.templ) Dockerfile: [`Latest` (Dockerfile)](https://github.com/arangodb/arangodb-docker/blob/master/Dockerfile.templ)
Key Features in ArangoDB ## Key Features in ArangoDB
------------------------
**Multi-Model** **Multi-Model** Documents, graphs and key-value pairs — model your data as you see fit for your application.
Documents, graphs and key-value pairs — model your data as you see fit for your application.
**Joins** **Joins** Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
**Transactions** **Transactions** Easy application development keeping your data consistent and safe. No hassle in your client.
Easy application development keeping your data consistent and safe. No hassle in your client.
Joins and Transactions are key features for flexible, secure data designs, widely used in RDBMSs that you won't want to miss in NoSQL products. You decide how and when to use Joins and strong consistency guarantees, keeping all the power for scaling and performance as choice. Joins and Transactions are key features for flexible, secure data designs, widely used in RDBMSs that you won't want to miss in NoSQL products. You decide how and when to use Joins and strong consistency guarantees, keeping all the power for scaling and performance as choice.
Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.arangodb.com/foxx) to build your own Rest API with a few lines of code. Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.arangodb.com/foxx) to build your own Rest API with a few lines of code.
ArangoDB Documentation ArangoDB Documentation - [ArangoDB Documentation](https://www.arangodb.com/documentation) - [ArangoDB Tutorials](https://www.arangodb.com/tutorials)
- [ArangoDB Documentation](https://www.arangodb.com/documentation)
- [ArangoDB Tutorials](https://www.arangodb.com/tutorials)
## How to use this image ## How to use this image
@ -31,17 +26,13 @@ ArangoDB Documentation
In order to start an ArangoDB instance run In order to start an ArangoDB instance run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance -d arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -d --name arangodb-instance -d arangodb/arangodb
Will create and launch the arangodb docker instance as background process. Will create and launch the arangodb 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.
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:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <IDENTIFIER> docker inspect --format '{{ .NetworkSettings.IPAddress }}' <IDENTIFIER>
(where <IDENTIFIER> is the return string of the previous start command) (where <IDENTIFIER> is the return string of the previous start command)
@ -49,17 +40,15 @@ In order to get the IP arango listens on run:
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
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --name my-app --link arangodb-instance:db-link arangodb/arangodb
This will use the instance with the name `arangodb-instance` and link it into This will use the instance with the name `arangodb-instance` and link it into the application container. The application container will contain environment variables
the application container. The application container will contain environment
variables
DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529 DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529
DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17 DB_LINK_PORT_8529_TCP_ADDR=172.17.0.17
DB_LINK_PORT_8529_TCP_PORT=8529 DB_LINK_PORT_8529_TCP_PORT=8529
DB_LINK_PORT_8529_TCP_PROTO=tcp DB_LINK_PORT_8529_TCP_PROTO=tcp
DB_LINK_NAME=/naughty_ardinghelli/db-link DB_LINK_NAME=/naughty_ardinghelli/db-link
These can be used to access the database. These can be used to access the database.
@ -67,7 +56,7 @@ These can be used to access the database.
If you want to expose the port to the outside world, run If you want to expose the port to the outside world, run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arangodb/arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p 8529:8529 -d arangodb/arangodb
ArangoDB listen on port 8529 for request and the image includes `EXPOSE ArangoDB listen on port 8529 for request and the image includes `EXPOSE
8529`. The `-p 8529:8529` exposes this port on the host. 8529`. The `-p 8529:8529` exposes this port on the host.
@ -76,83 +65,67 @@ 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` 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`) 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 1. ARANGO_NO_AUTH=1
Disable authentication. Useful for testing. Disable authentication. Useful for testing.
**WARNING** Doing so in production will expose all your data. Make sure that ArangoDB is not diretcly accessible from the internet! **WARNING** Doing so in production will expose all your data. Make sure that ArangoDB is not diretcly accessible from the internet!
3. ARANGO_ROOT_PASSWORD=somepassword 1. ARANGO_ROOT_PASSWORD=somepassword
Specify your own root password. Specify your own root password.
### Command line options ### Command line options
In order to get a list of supported options, run In order to get a list of supported options, run
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arangodb/arangodb arangod --help unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 arangodb/arangodb arangod --help
## Persistent Data ## Persistent Data
ArangoDB use the volume `/var/lib/arangodb` as database directory to store the collection ArangoDB use the volume `/var/lib/arangodb` as database directory to store the collection data and the volume `/var/lib/arangodb-apps` as apps directory to store any extensions. These directories are marked as docker volumes.
data and the volume `/var/lib/arangodb-apps` as apps directory to store any extensions. These
directories are marked as docker volumes.
See `docker inspect --format "{{ .Config.Volumes}}" arangodb/arangodb` for all volumes. See `docker inspect --format "{{ .Config.Volumes}}" arangodb/arangodb` for all volumes.
A good explanation about persistence and docker container can be found here: A good explanation about persistence and docker container can be found here:[Docker In-depth: Volumes](http://container42.com/2014/11/03/docker-indepth-volumes/),[Why Docker Data Containers are Good](https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e)
[Docker In-depth: Volumes](http://container42.com/2014/11/03/docker-indepth-volumes/),
[Why Docker Data Containers are Good](https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e)
### Using host directories ### Using host directories
You can map the container's volumes to a directory on the host, so that the data You can map the container's volumes to a directory on the host, so that the data is kept between runs of the container. This path `/tmp/arangodb` is in general not the correct place to store you persistent files - it is just an example!
is kept between runs of the container. This path `/tmp/arangodb` is in general
not the correct place to store you persistent files - it is just an example!
unix> mkdir /tmp/arangodb unix> mkdir /tmp/arangodb
unix> docker -e ARANGO_RANDOM_ROOT_PASSWORD=1 run -p 8529:8529 -d \ unix> docker -e ARANGO_RANDOM_ROOT_PASSWORD=1 run -p 8529:8529 -d \
-v /tmp/arangodb:/var/lib/arangodb \ -v /tmp/arangodb:/var/lib/arangodb \
arangodb arangodb
This will use the `/tmp/arangodb` directory of the host as database directory This will use the `/tmp/arangodb` directory of the host as database directory for ArangoDB inside the container.
for ArangoDB inside the container.
### Using a data container ### Using a data container
Alternatively you can create a container holding the data. Alternatively you can create a container holding the data.
unix> docker create --name arangodb-persist arangodb/arangodb true unix> docker create --name arangodb-persist arangodb/arangodb true
And use this data container in your ArangoDB container. And use this data container in your ArangoDB container.
unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arangodb unix> docker run -e ARANGO_RANDOM_ROOT_PASSWORD=1 --volumes-from arangodb-persist -p 8529:8529 arangodb
If want to save a few bytes you can alternatively use If want to save a few bytes you can alternatively use[tianon/true](https://registry.hub.docker.com/u/tianon/true/) or[progrium/busybox](https://registry.hub.docker.com/u/progrium/busybox/) for creating the volume only containers. Please note that you need to provide the used volumes in this case. For example
[tianon/true](https://registry.hub.docker.com/u/tianon/true/)
or
[progrium/busybox](https://registry.hub.docker.com/u/progrium/busybox/)
for creating the volume only containers.
Please note that you need to provide the used volumes in this case. For example
unix> docker run -d --name arangodb-persist -v /var/lib/arangodb tianon/true true unix> docker run -d --name arangodb-persist -v /var/lib/arangodb tianon/true true
## Building your own ArangoDB image ## Building your own ArangoDB image
We are auto generating docker images via our build system so the Dockerfile is a template. To build your own ArangoDB image: We are auto generating docker images via our build system so the Dockerfile is a template. To build your own ArangoDB image:
``` cp Dockerfile.templ Dockerfile
cp Dockerfile.templ Dockerfile
```
Adjust @VERSION@ in the Dockerfile and issue: Adjust @VERSION@ in the Dockerfile and issue:
``` docker build -t arangodb .
docker build -t arangodb .
```
This will create an image named `arangodb`. This will create an image named `arangodb`.