以下均翻译自Docker官方文档 ,转载请注明:Vikings翻译
Docker 支持多种平台下的安装运行,现在我们选取结合度最高的ubuntu来说明安装过程。
首先需要明确Docker支持的ubuntu版本:
目前Docker仅支持以上三种ubuntu版本。请大家在安装时,确认ubuntu版本。
Note:
如果你准备启用UFW的话,请参考以下额外步骤:
Docker使用桥接技术来管理各容器的网络访问。但是Ubuntu默认是关闭对外网络访问的,所以在安装之前你需要启用防火墙的网络访问功能。
$ sudo nano /etc/default/ufw # Change: # DEFAULT_FORWARD_POLICY="DROP" # to DEFAULT_FORWARD_POLICY="ACCEPT"
修改完成后,我们需要重新加载UFW。
$ sudo ufw reload
UFW默认存在一套网络访问规则,如果你需要其他服务器可以访问到你的虚拟容器,那么就需要修改一下UFW的访问规则(Docker默认端口是2375,所以需要UFW允许2375的数据访问)。
$ sudo ufw allow 2375/tcp
Ubuntu Trusty使用的是3.13.0的Linux内核,在安装Docker时需要安装docker.io,安装过程中所需要的各种依赖包都可以在Ubunut官方资料库中找到。
Note: Ubuntu (或者Debian)因为历史原因,内置了一个叫做docker的KDE3/GNOME2安装包,所以我们需要安装和执行的docker应用名称都改为docker.io
执行以下命令,就可以安装docker的最新版本(至少在译者翻译时为最新版本╮(╯▽╰)╭)
$ sudo apt-get update $ sudo apt-get install docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
OK了,执行完以上命令后,Docker在Ubuntu上面就安装好了。当然过一段时间后,你安装的版本就不会是最新版本了。这种情况下你可以安装以下的方式进行Docker升级。
1、确认/usr/lib/apt/methods/https是否存在,如果不存在,那么先安装apt-transport-https(apt-get install apt-transport-https
)。
2、将Docker官方资料库的访问Key添加到你本地系统。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
3、上面一步执行成功后,就开始安装Lxc-docker包。
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main\ > /etc/apt/sources.list.d/docker.list" $ sudo apt-get update $ sudo apt-get install lxc-docker
4、如果你感觉以上三步很麻烦,那么就执行下面的这一句吧(前提是CURL已经安装好了)。
$ curl -sSL https://get.docker.io/ubuntu/ | sudo sh
讲过以上几步,你就安装最新版本的docker了。最后就是开始执行docker吧
$ sudo docker run -i -t ubuntu /bin/bash
NOTE:
重新看文章时,发现漏一个环节。上述步骤都是在root用户下安装的,需要给非root用户访问权限。以下是操作步骤:
# Add the docker group if it doesn't already exist. $ sudo groupadd docker # Add the connected user "${USER}" to the docker group. # Change the user name to match your preferred user. # You may have to logout and log back in again for # this to take effect. $ sudo gpasswd -a ${USER} docker # Restart the Docker daemon. # If you are in Ubuntu 14.04, use docker.io instead of docker $ sudo service docker restart