簡體   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