Docker-CE 或 docker.io 软件包

在我的笔记本电脑上,我主要使用LXD来创建开发容器,并在生产环境中管理LXD容器(与Ansible集成)。
我有一个要求,需要使用docker/docker-compose进行部署。我知道可以安装docker.io软件包(其中包含了与LXC兼容性的补丁),但现在Docker推荐使用Docker-CE/Docker-EE。在这种情况下,将使用Docker-CE。
这个版本是否包含了Ubuntu中的docker.io软件包的补丁?或者将来Docker-CE引擎是否可以从Canonical仓库或PPA中部署?

在LXD GitHub上提问-https://github.com/lxc/lxd/issues/3349 - anatoly techtonik
在StackOverflow上有一个类似的问题,有几个答案:docker.io与docker-ce和docker-ee(现在称为“Mirantis Kubernetes Engine”)有什么关系? - Melebius
1个回答

我知道这个问题很旧了,但我相信docker上游现在已经发布了支持此功能的版本,所以我想在这里给出一个答案。因此,在Ubuntu上,您实际上有两个选择,从18.04开始(实际上在16.04上也基本适用):
docker上游存档
目前,docker上游建议使用更复杂的自定义存档安装一套指令等。只要您获取他们的17.06及更高版本,这也可以满足您的需求。
docker.io软件包
sudo apt install docker.io
这个软件包由Canonical/Ubuntu社区成员定期进行版本控制和更新,但与上游相比稍有滞后。您可以像在Ubuntu上保留常规apt软件包一样保留此软件包。您可以阅读Ubuntu维基百科上的SRU例外,了解其中涉及的质量控制。Xenial和Bionic中的版本为17.03或接近该版本,但它们似乎包含您在LXD中运行所需的补丁。
编辑说明:https://github.com/docker/docker-snap - 截至2018年9月25日,不再推荐使用docker snap。如果将来情况有所改变,请随时编辑此答案。

非常有帮助-谢谢!但请注意snap在某种程度上对您进行了限制:为了使用'docker build'、'docker save'和'docker load',您需要将dockerfile放置在$HOME内。您想让docker访问的所有文件都必须在此路径内。 另外,请注意目前docker.io(版本17.12.1-0ubuntu1,大约于2018-02-27发布)比snap(https://snapcraft.io/docker,版本17.06.2-ce,大约于2017-09-05发布)更为更新。 来自docker的自定义存储库具有docker-ce版本18.03.1-ce(2018-04-26)。 - nealmcb
1我暂时删除了快照的参考,因为它不再被建议或推荐。 - dpb
有趣 - 谁说 snap 不再推荐用于 Docker?此外,请注意这里仍然说有 3 个选项 - 可能也需要修复一下,或者将 snap 添加回去并注明不推荐(提供引证)。 - nealmcb
1@nealmcb 更新了答案并附带编辑说明。我认为Snap本身仍然可以正常工作,但是维护现状值得质疑,并且目前没有接收到更新。 - dpb