Как установить ArangoDB Docker на автономный сервер Arch Linux? - PullRequest
0 голосов
/ 22 декабря 2018

Я хотел бы установить ArangoDB для Docker на машине с Arch Linux, к которой я обращаюсь через ssh.Загрузка ArangoDB Docker находится здесь:

Docker - ArangoDB

Этот ArangoDb не будет частью кластера, и при этом не будет активного аварийного переключения.Конфигурация ArangoDB и база данных должны быть постоянными.

Мне потребуется доступ к нему с помощью инструментов командной строки arango (arangosh, arangoimp и т. Д.) Через ssh.И нам потребуется http-доступ к веб-интерфейсу Arango из локальной сети через порт 8529 (по умолчанию ArangoDB).

Я выполнил следующие действия:

sudo pacman -Syu docker
sudo systemctl enable docker
sudo systemctl start docker
sudo docker info

Docker установлен правильно.

Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.09.0-ce
Storage Driver: btrfs
Build Version: Btrfs v4.19 
Library Version: 102
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.19.11-arch1-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 62.82GiB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

Я установил док-контейнер hello-world:

sudo docker run -i -t hello-world

Привет из Docker!Это сообщение показывает, что ваша установка, кажется, работает правильно.

Затем я запустил эту команду:

docker run -e ARANGO_NO_AUTH -d --name arangodb-instance arangodb

, которая выдает ожидаемый идентификатор.Однако не похоже, что какие-либо контейнеры работают.

sudo docker info
Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 2

ArangoDB недоступен в http://localhost:8529

1 Ответ

0 голосов
/ 22 декабря 2018

работает

docker run -e ARANGO_NO_AUTH -d --name arangodb-instance arangodb

выдаст идентификатор, но arangod завершит работу с ошибкой, запустите

docker ps -a

там вы увидите свой контейнер со STATUS

Exited (1) 5 seconds ago

запустите

docker logs arangodb-instance

, и вы поймете, почему он вышел

automatically choosing storage engine
error: database is uninitialized and password option is not specified
You need to specify one of ARANGO_ROOT_PASSWORD, ARANGO_NO_AUTH and ARANGO_RANDOM_ROOT_PASSWORD

, чтобы

запустить arango без пароля, вам необходимо указать

-e ARANGO_NO_AUTH=1

вы забыли =1, -e являются KEY=VALUE

для удаленного доступа к arango, вам необходимо открыть порт

-p 8529:8529

для сохранения данных, вам необходимо сопоставить их с вашим хост-путем или томом (том рекомендуется)

-v arangodb3:/var/lib/arangodb3

, поэтому

для сохранения в томе, запустите

docker volume create arangodb3

, а затем

docker run -d \
-e ARANGO_NO_AUTH=1 \
-p 8529:8529 \
-v arangodb3:/var/lib/arangodb3 \
--name arangodb-instance \
arangodb/arangodb:3.4.0

, прежде чем запускать их, вам нужно удалить существующий контейнер с таким же именем

docker stop arangodb-instance
docker rm arangodb-instance

, чтобы запустить arangosh,и т.д. запустите

docker exec -it arangodb-instance arangosh

обратите внимание, что arangodb/arangodb:3.4.0 вместо arangodb/arangodb при выполнении docker run рекомендуется избегать запуска контейнеров без указанной версии, он будет тянуть arangodb/arangodb:latest который спричина в том, что ваша постановка или продукт может получить более новую версию, чем у вас на dev, что может быть проблемой, если более новая версия является младшей или мажорной

также никогда не запускает arangodb с ARANGO_NO_AUTH=1в производстве или на общедоступном сервере

более подробную информацию о Docker можно найти по адресу https://hub.docker.com/_/arangodb/

...