Docker 在Ubuntu Linux上安装Docker
示例
下列64位版本的UbuntuLinux支持Docker:
UbuntuXenial16.04(LTS)
UbuntuWily15.10
UbuntuTrusty14.04(LTS)
UbuntuPrecise12.04(LTS)
一些注意事项:
以下说明仅涉及使用Docker软件包进行安装,这可确保获得Docker的最新正式版本。如果只需要使用Ubuntu-managed软件包安装,请查阅Ubuntu文档(出于明显的原因,不建议这样做)。
Docker的APT存储库中存在UbuntuUtopic14.10和15.04,但由于已知的安全问题,不再受正式支持。
先决条件
Docker仅适用于64位Linux安装。
Docker要求Linux内核版本3.10或更高(除外UbuntuPrecise12.04,要求版本3.13或更高)。低于3.10的内核缺少运行Docker容器所需的某些功能,并且包含已知的错误,这些错误会导致数据丢失并在某些情况下经常出现恐慌。使用命令检查当前内核版本uname-r。如果您需要UbuntuPrecise(12.04LTS)通过向下滚动来更新内核,请查看此文章。请参阅此WikiHow帖子以获取其他Ubuntu安装的最新版本。
更新APT来源
这需要完成,以便从Docker存储库访问软件包。
使用sudo或root特权作为用户登录到您的计算机。
打开一个终端窗口。
更新程序包信息,确保APT与https方法一起使用,并且已安装CA证书。
$ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
添加Docker的官方GPG密钥:
$curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-
验证密钥指纹是否为9DC858229FC7DD38854AE2D88D81803C0EBFCD88。
$sudoapt-keyfingerprint0EBFCD88
pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
在下表中找到与您的Ubuntu版本相对应的条目。这确定了APT将在哪里搜索Docker软件包。如果可能,请运行Ubuntu的长期支持(LTS)版本。
注意:Docker并未为所有架构提供软件包。二进制工件每夜生成一次,您可以从下载它们https://master.dockerproject.org。要将docker安装在多体系结构系统上,请[arch=...]在条目中添加一个子句。有关详细信息,请参考DebianMultiarchWiki。
运行以下命令,将您的操作系统的条目替换为placeholder<REPO>。
$echo“”|sudotee/etc/apt/sources.list.d/docker.list
APT通过执行更新包索引sudoapt-getupdate。
验证是否APT从正确的存储库中提取。
运行以下命令时,将为每个版本的Docker返回一个条目,可供您安装。每个条目都应具有URLhttps://apt.dockerproject.org/repo/。当前安装的版本带有标记。请***参见以下示例的输出。
$ apt-cache policy docker-engine docker-engine: Installed: 1.12.2-0~trusty Candidate: 1.12.2-0~trusty Version table: *** 1.12.2-0~trusty 0 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages 100 /var/lib/dpkg/status 1.12.1-0~trusty 0 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages 1.12.0-0~trusty 0 500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
从现在开始,运行时apt-getupgrade,APT将从新的存储库中提取。
Ubuntu版本的先决条件
对于UbuntuTrusty(14.04),Wily(15.10)和Xenial(16.04),请安装linux-image-extra-*内核软件包,使您可以使用aufs存储驱动程序。
要安装linux-image-extra-*软件包:
在Ubuntu主机上打开一个终端。
使用命令更新软件包管理器sudoapt-getupdate。
安装推荐的软件包。
$sudoapt-getinstalllinux-image-extra-$(uname-r)linux-image-extra-virtual
继续进行Docker安装
对于UbuntuPrecise(12.04LTS),Docker需要3.13内核版本。如果您的内核版本早于3.13,则必须对其进行升级。请参阅此表以查看您的环境需要哪些软件包:
要升级内核并安装其他软件包,请执行以下操作:
在Ubuntu主机上打开一个终端。
使用命令更新软件包管理器sudoapt-getupdate。
安装必需和可选软件包。
$sudoapt-getinstalllinux-image-generic-lts-trusty
对您需要安装的其他软件包重复此步骤。
使用命令重新启动主机以使用更新的内核sudoreboot。
重新启动后,继续并安装Docker。
安装最新版本
确保满足先决条件,然后再执行以下步骤。
注意:对于生产系统,建议您安装特定版本,以免意外更新Docker。您应该仔细计划生产系统的升级。
以具有sudo特权的用户身份登录Ubuntu安装。(可能正在运行sudo-su)。
通过运行更新APT软件包索引sudoapt-getupdate。
使用命令安装DockerCommunityEditionsudoapt-getinstalldocker-ce。
docker使用命令启动守护程序sudoservicedockerstart。
docker通过运行hello-world映像来验证是否已正确安装。
$sudodockerrunhello-world
此命令下载测试图像并在容器中运行它。容器运行时,它会打印参考消息并退出。
以非root用户身份管理Docker
如果sudo在使用docker命令时不想使用,请创建一个Unix组docker,并将其添加用户。当docker守护程序启动时,它使得读/由码头工人组可写的Unix套接字的所有权。
要创建docker组并添加您的用户,请执行以下操作:
以具有sudo特权的用户身份登录Ubuntu。
docker使用命令创建组sudogroupadddocker。
将您的用户添加到该docker组。
$sudousermod-aGdocker$USER
注销并重新登录,以便重新评估您的组成员身份。
验证是否可以未经许可就docker命令sudo。
$dockerrunhello-world
如果失败,您将看到一个错误:
Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
检查是否DOCKER_HOST为您的外壳程序设置了环境变量。
$ env | grep DOCKER_HOST
如果已设置,则上述命令将返回结果。如果是这样,请取消设置。
$ unset DOCKER_HOST
您可能需要在诸如~/.bashrc或的文件中编辑环境,~/.profile以防止DOCKER_HOST错误设置变量。