繁体   English   中英

如何在Arch Linux无头服务器上安装ArangoDB Docker?

[英]How to install ArangoDB Docker on an Arch Linux headless server?

我想在我通过ssh访问的Arch Linux机器上安装ArangoDB for Docker。 ArangoDB Docker下载可在此处找到:

Docker - ArangoDB

此ArangoDb不会成为群集的一部分,并且没有活动的故障转移。 ArangoDB配置和数据库需要是持久的。

我需要通过ssh使用arango命令行工具(arangosh,arangoimp等)访问它。 我们需要通过端口8529(ArangoDB默认)从局域网对Arango WebUI进行http访问。

我已经完成了以下步骤:

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 docker容器:

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

无法通过http:// localhost:8529访问ArangoDB

赛跑

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-eKEY=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这可能会导致,您分期或督促能拉新版本比开发版本更新,如果较新版本是次要版本或主要版本,则可能会出现问题

在生产中或公共可访问的服务器上也永远不会运行ARANGO_NO_AUTH ARANGO_NO_AUTH=1

有关Docker的更多详细信息, 访问https://hub.docker.com/_/arangodb/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM