Docker Build from Source - 如何运行?

时间:2017-05-12 00:35:09

标签: docker

我想在ARMv8上使用Docker 1.13.1,而Docker(该组织)尚未提供AArch64版本,我自己构建它。

我遵循了一个非常好的教程:http://oyvindsk.com/writing/docker-build-from-source

结果是我从github中提取了源代码:

git clone https://github.com/docker/docker.git

我切换到了repo并从v1.13.1标签

创建了一个新的分支
cd docker
git checkout -b gta1.13.1 v1.13.1

我执行了两个make调用:

make build
make binary

并且节省了一些细节,将结果二进制文件推送到我自己的github仓库:https://github.com/scyentyfyc/docker

然后我将该repo下载到尚未安装docker的ARMv8服务器上,并将每个没有以.md5或.sha256结尾的文件复制到/ usr / bin,结果在我的/ usr / bin中的所有这些

/usr/bin/docker
/usr/bin/docker-1.13.1
/usr/bin/docker-containerd
/usr/bin/docker-containerd-ctr
/usr/bin/docker-containerd-shim
/usr/bin/dockerd
/usr/bin/dockerd-1.13.1
/usr/bin/docker-init
/usr/bin/docker-proxy
/usr/bin/docker-runc

如果我手动运行dockerd,它似乎运行正常,但我无法使用我在其他地方建议的内容,如

service docker start

当我收到消息时,"无法启动docker.service:未找到Unit docker.service。"当我尝试使用systemd

systemctl enable docker

我得到了消息,"执行操作失败:没有这样的文件或目录"。

所以,我只是想知道我错过了什么。我不想手动运行docker守护进程,我希望它设置为在系统启动时自动运行但是经过大量的游荡之后我就空手而归

1 个答案:

答案 0 :(得分:1)

马克是对的。您将需要创建服务文件,以便systemd知道如何与docker服务进行交互。您需要将this github repo中的.service和.socket文件复制到/ etc / systemd / system