[英]How to install ArangoDB Docker on an Arch Linux headless server?
我想在我通過ssh訪問的Arch Linux機器上安裝ArangoDB for Docker。 ArangoDB Docker下載可在此處找到:
此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
, -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
這可能會導致,您分期或督促能拉新版本比開發版本更新,如果較新版本是次要版本或主要版本,則可能會出現問題
在生產中或公共可訪問的服務器上也永遠不會運行ARANGO_NO_AUTH ARANGO_NO_AUTH=1
有關Docker的更多詳細信息, 請訪問https://hub.docker.com/_/arangodb/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.