2017-05-08 35 views
1

我一直在尝试编译ARM-64体系结构的码头工具。 Docker并未正式支持ARM 64位(至少不通过包管理工具);因此我必须从源代码构建它。建设码头二进制集需要码头本身作为依赖。我已经成功地编译都通过以下(黑客)命令泊坞窗守护程序和客户端:ARM-64体系结构的码头工具

./hack/make.sh dynbinary 

但是,我没有设法成功地运行它。这两个二进制文件编制和工作,但是当我要启动守护它抱怨其他依赖:

Failed to connect to containerd. Please make sure containerd is installed in your PATH or you have specified the correct address. Got error: exec: "docker-containerd": executable file not found in $PATH 

正如我刚才所说,我不能,因为他们需要的泊坞窗本身运行编译所有的二进制文件。

期待您的帮助。

+0

你应该阅读https://resin.io/blog/building-arm-containers-on-any-x86-machine-even- dockerhub/ – user2915097

+0

你看过Raspberry Pi的设置了吗? https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/ – BMitch

+0

@ user2915097,我想在ARM-64上运行docker,我不想模拟任何东西。这没有关系。 – NEO

回答

0

两周前,我能够在运行Armbian(基于Debian的)的Pine64上安装Docker。除了一个例外情况,如下the official documentation一样简单,当您添加新的apt源时,更改​​by [arch=arm64]

安装之后,你有一个真正的Arm64泊坞窗运行:

[email protected]:~# docker system info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 60 
Server Version: 17.12.0-ce 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 28 
Dirperm1 Supported: true 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host macvlan null overlay 
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: 89623f28b87a6004d4b785663257362d1658a729 
runc version: b2567b37d7b75eb4cf325b77297b140ea686ce8f 
init version: 949e6fa 
Security Options: 
apparmor 
seccomp 
    Profile: default 
Kernel Version: 3.10.107-pine64 
Operating System: Debian GNU/Linux 8 (jessie) 
OSType: linux 
Architecture: aarch64 
CPUs: 4 
Total Memory: 979.6MiB 
Name: pine64 
ID: xxx 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Username: xxx 
Registry: https://index.docker.io/v1/ 
Labels: 
Experimental: false 
Insecure Registries: 
127.0.0.0/8 
Live Restore Enabled: false