Debian
Docker支持以下的Debian版本:
- Debian testing stretch (64-bit)
- Debian 8.0 Jessie (64-bit)
- Debian 7.7 Wheezy (64-bit) (backports required)
注意: 如果你之前使用
APT
安装过Docker,确保你的APT
源更新为最新的APT
仓库。
Prerequisites
Docker需要任一的64位Debian版本。另外,你的内核版本必须至少是3.10。3.10或更新的版本也是可接受的。
3.10以前的内核缺少Docker容器运行的一些功能。这些老的版本已知有很多致使数据丢失的bug,并且在一定的条件下频繁的崩溃。
要检查你的内核版本,打开终端使用 uname -r
命令打印你的内核版本:
$ uname -r
3.11.0-15-generic
另外,对于Debian Wheezy的用户,backports 必须可用。 在Wheezy中启用backports:
使用具有
sudo
或root
权限的用户登陆你的系统。打开
/etc/apt/sources.list.d/backports.list
文件。如果没有,创建一个。
移除所有已存在的内容。
为backports添加一些内容在Debian Wheezy.
内容示例:
deb http://http.debian.net/debian wheezy-backports main
更新包信息。
$ apt-get update
Update your apt repository
Docker的 APT
仓库包含Docker 1.7.1 和更高版本。设置 APT
使用最新的仓库:
如果你没有这么做,使用具有
sudo
或root
权限的用户登录你的系统。打开一个终端窗口。
清楚所有老的仓库。
$ apt-get purge "lxc-docker*"
$ apt-get purge "docker.io*"更新包信息,确保APT工作在
https
方法,已经安装并且CA 证书。$ apt-get update
$ apt-get install apt-transport-https ca-certificates添加新的
GPG
密钥。$ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
打开文件
/etc/apt/sources.list.d/docker.list
。如果文件不存在,创建一个。
移除所有已存在的内容。
为你的Debian系统添加一些内容。
可能的内容如下:
On Debian Wheezy
deb https://apt.dockerproject.org/repo debian-wheezy main
On Debian Jessie
deb https://apt.dockerproject.org/repo debian-jessie main
On Debian Stretch/Sid
deb https://apt.dockerproject.org/repo debian-stretch main
注意: Docker 并没有提供安装包给所有的架构。 你可以每天在https://master.dockerproject.org查看最新的二进制包。 在多架构系统上安装Docker,,需要添加
[arch=...]
节点。 点击 Debian Multiarch wiki 获取更多细节。
保存并关闭文件。
更新
APT
包索引。$ apt-get update
验证
APT
是否从正确的仓库拉取。$ apt-cache policy docker-engine
从现在开始当你运行
apt-get upgrade
,APT
从新的仓库拉取。
Install Docker
安装Docker之前,确保你已经正确设置你的APT
仓库。
更新
APT
包索引。$ sudo apt-get update
安装Docker。
$ sudo apt-get install docker-engine
开启
docker
守护进程。$ sudo service docker start
验证
docker
是否正确安装。$ sudo docker run hello-world
这条命令下载一个测试镜像并且在一个容器中运行它。当这个容器运行时, 他会打印一些信息然后退出。
Giving non-root access
docker
守护进程绑定在一个Unix socket 来代替TCP端口。 默认情况下 Unix socket 属于 root
用户。因此,docker
守护进程总是使用root
用户运行。因此你可以通过sudo
访问它。
如果你(或者你的Docker安装者)创建一个叫做docker
的用户组并添加了一些用户到这个用户组,然后docker
用户组会分配Unix socket的读写权限当守护进程运行的时候。docker
守护进程必须总是以root用户运行,但是如果你通过docker
用户组的用户运行一个docker
客户端时你不需要再所有的客户端命令前加sudo
。从Docker0.9.0开始你可以使用 -G
标志去指代一个替换组。
警告:
docker
组 (或通过-G
指定的组) 等同于root
; 详情查阅 Docker Daemon Attack Surface 。
Example:
# Add the docker group if it doesn't already exist. |
Upgrade Docker
使用 apt-get
安装最新版Docker:
$ apt-get upgrade docker-engine |
Uninstall
卸载Docker安装包:
$ sudo apt-get purge docker-engine |
卸载不再需要的Docker安装包和依赖:
$ sudo apt-get autoremove --purge docker-engine |
上述命令不会删除主机上的镜像,容器,卷或用户创建的配置文件。 如果要删除所有镜像,容器和卷,请运行以下命令:
$ rm -rf /var/lib/docker |
你必需手动的删除用户配置文件。
What next?
继续 User Guide.