簡體   English   中英

我可以在基於 arm8 的 Synology Nas 上安裝 Docker

[英]Can I install Docker on arm8 based Synology Nas

我有一個 Synology Disk Station 118(似乎它使用的是 Arm8 處理器)

通過在包管理器中搜索沒有找到 Docker 包我找到了這篇文章,但 Synology 包的鏈接只有 X64 包,並且文章說 Docker 不適用於 Arm

但是從各種文章中似乎確實可以從 arm8 平台獲得 Docker

https://github.com/docker-library/official-images#architectures-other-than-amd64

並且有一個非官方的鏈接

https://hub.docker.com/u/arm64v8/

但這些不只是容器而不是實際的碼頭工人本身嗎?

因此可以安裝在我的 Synology Nas 118 上。這是為我的應用程序測試 docker 文件所必需的。

答案是肯定的。 任何 ARM 類型的 Synology NAS 都支持 docker,雖然不完全支持,但已經足夠了。 請按照以下步驟在 ARM Synology NAS 中安裝 docker/dockerd。

  1. https://download.docker.com/linux/static/stable/下載靜態 docker 二進制文件。 為您的 ARM 芯片選擇正確的版本,aarch64 很可能是您 Synology NAS 的版本。 您可以使用舊版本https://download.docker.com/linux/static/stable/aarch64/docker-17.09.0-ce.tgz並試一試,盡管新版本也可以使用。
  2. tar xzvf /path/to/.tar.gz
  3. sudo cp docker/* /usr/bin/
  4. 使用以下配置創建/etc/docker/daemon.json配置文件:
{
  "storage-driver": "vfs",
  "iptables": false,
  "bridge": "none"
}
  1. 須藤碼頭工人 &
  2. sudo docker run -d --network=host portainer/portainer:linux-arm64

請注意,由於 Linux 內核問題,您需要設置存儲驅動器 vfs、iptables 關閉、橋接關閉 您需要使用 --network=host 模式運行 docker 容器。 這並不常見,但由於 Synology NAS 內核限制,這是必要的。

或者你可以試試這個自動腳本: https ://raw.githubusercontent.com/wdmomoxx/catdriver/master/install-docker.sh

您好,感謝您的貢獻,我遵循 LightSystem 的步驟並在運行時出現此錯誤

sudo dockerd &

任何幫助是極大的贊賞。

完整日志

 INFO[2022-06-20T08:29:46.676617561+08:00] Starting up                                  
INFO[2022-06-20T08:29:46.678225672+08:00] libcontainerd: containerd is still running    pid=7610
INFO[2022-06-20T08:29:46.678369191+08:00] parsed scheme: "unix"                         module=grpc
INFO[2022-06-20T08:29:46.678551858+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2022-06-20T08:29:46.678648117+08:00] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2022-06-20T08:29:46.678691932+08:00] ClientConn switching balancer to "pick_first"  module=grpc
WARN[2022-06-20T08:29:47.679137116+08:00] grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting...  module=grpc
WARN[2022-06-20T08:29:50.449493152+08:00] grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting...  module=grpc
WARN[2022-06-20T08:29:55.216189186+08:00] grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting...  module=grpc
WARN[2022-06-20T08:30:00.636145442+08:00] grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting...  module=grpc
failed to start containerd: timeout waiting for containerd to start

在 github proyect docker on arm中,您可以在 proyect 中閱讀:

 No official Docker images work on the ARM architecture because they contain binaries built for x64 (regular PCs).

因此,您需要從應用程序中獲取源二進制文件,並在需要安裝應用程序時編譯為架構 ARM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM