目前docker官方支持的Debian系操作系统,只有 Ubuntu 12.04+ 和 Debian Linux 8.0 Jessie (64-bit),不支持Debian Linux 7 Wheezy。由于之前Docker运行时,要求Linux kernel必须在3.8以上,Go要1.2+,Debian Linux 7需要升级内核和编译新版Go才能安装,假如是用OpenVZ VPS的话,是无法升级内核的。不过从Docker 0.8开始,已经不再依赖这些了。只要Linux kernel version 在2.6.32-431以上即可。
PS:Docker 1.0正式发布!1.0 版本包含很多新特性,这也是 Docker 的首个产品级的版本。从今天开始,你将会一直听到一个新的概念 —— Docker as a platform ,其组件包括 Docker 引擎、容器运行时和打包工具以及 Docker Hub,这是一个基于云端的协作、内容和工作流自动化的服务。
确认内核版本
uname -r
使用官方的ubuntu的软件源,它和Debian Linux 7是兼容的:
echo deb http://get.docker.io/ubuntu docker main | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo apt-get update
sudo apt-get install -y lxc-docker
四行命令,Docker以及安装好了。下面创建一个CentOS虚拟系统:
docker pull centos
docker run -i -t centos /bin/bash
现在咱们已经进入了虚拟的CentOS系统,验证一下:
cat /etc/RedHat-release
常见错误
root@debian:~# sudo apt-get install -y lxc-docker
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package lxc-docker
你的系统是32位的,docker目前只支持64位操作系统。
root@debian:~# docker -d
2014/06/09 23:51:19 WARNING: You are running linux kernel version 2.6.32-042stab088.4, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
[/var/lib/docker|d37c2fff] +job serveapi(unix:///var/run/docker.sock)
[/var/lib/docker|d37c2fff] +job initserver()
[/var/lib/docker|d37c2fff.initserver()] Creating server
2014/06/09 23:51:19 Listening for HTTP on unix (/var/run/docker.sock)
[/var/lib/docker|d37c2fff] +job init_networkdriver()
[/var/lib/docker|d37c2fff.init_networkdriver()] creating new bridge for docker0
Error creating bridge: package not installed
[/var/lib/docker|d37c2fff] -job init_networkdriver() = ERR (1)
Error creating bridge: package not installed
[/var/lib/docker|d37c2fff] -job initserver() = ERR (1)
2014/06/09 23:51:19 Error creating bridge: package not installed
你的内核版本过低,请确保Linux kernel version 在2.6.32-431以上。