最近在自学Docker,关于Ubuntu Server 14.04.3 下安装Docker 1.10,找了百度里的好多文章,都是基于0.9版本的,细节上有一定的差别。今天,利用虚拟机全新安装Ubuntu Server 14.04.3,按照官方文档,一步步进行Docker 1.10的安装,将步骤记录如下,留做参考。
vmware workstation 11 配置运行环境
CPU: 1
MEM: 2048
HD: 20G
IMG: ubuntu-14.04.3-server-amd64.iso用ISO启动, 安装
更新系统
$ sudo apt-get update
$ sudo apt-get upgrade查看系统版本
$ uname -r
3.11.0-15-generic更新源(提示已经有最新版本了)
$ apt-get install apt-transport-https ca-certificates增加新GPG key.
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D编辑/etc/apt/sources.list.d/docker.list ,内容如下:
deb https://apt.dockerproject.org/repo ubuntu-trusty main更新索引
$ sudo apt-get update删除旧版本(提示没有安装)
$ apt-get purge lxc-docker核对APT源
$ apt-cache policy docker-engine
显示来自 https://apt.dockerproject.org/repo安装 linux-image-extra (提示已是最新版本)
$ sudo apt-get update
$ sudo apt-get install linux-image-extra-$(uname -r)安装apparmor(提示已安装)
$ sudo apt-get install apparmor安装Docker
$ sudo apt-get install docker-engine启动 docker 服务(提示已经启动)
$ sudo service docker start验证
$ sudo docker run hello-world
系统自动下载一个测试镜像并运行,显示 “Hello from Docker. ...",安装成功。查看版本
$ sudo docker version
Client/Server:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Thu Feb 11 19:27:08 2016
OS/Arch: linux/amd64
配置Docker,建立 docker 组 (testuser要改为你自己的登录用户)
$ sudo usermod -aG docker testuser
注销重新登录,并检查是否可以不用 sudo 运行 docker
$ docker run hello-world
检查确认你的shell没有设置环境变量 DOCKER_HOST,否则删除设置.调整内存和交换区审计
$ sudo vi /etc/default/grub
设置 GRUB_CMDLINE_LINUX 的值,并保存
RUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
更新 GRUB,重启系统.
$ sudo update-grub
$ sudo reboot
Enable UFW forwarding
-
配置UFW(Uncomplicated Firewall)
如果你的主机同时支行UFW,需要进行如下配置:
核对UFW是否安装并启用(新装系统提示inactive,不用做后面的配置了)
$ sudo ufw status
$ sudo vi /etc/default/ufw
设置 DEFAULT_FORWARD_POLICY 策略:
DEFAULT_FORWARD_POLICY="ACCEPT"保存并关闭文件.
重新启动 UFW 让新设置生效。
$ sudo ufw reload请允许访问 Docker 端口
$ sudo ufw allow 2375/tcp 为使用 Docker 配置DNS服务器
$ sudo vi /etc/default/docker
增加一条设置(可以将 8.8.8.8改为本地DNS服务器,比如 192.168.1.1)
DOCKER_OPTS="--dns 8.8.8.8"
也可以配置多台DNS服务器,比如:
--dns 8.8.8.8 --dns 192.168.1.1
保存并关闭文件。
重启 Docker 服务。
$ sudo restart docker
也可以使用关闭网络管理中的dnsmasq来替代以上操作(但会导致网络变慢)
$ sudo vi /etc/NetworkManager/NetworkManager.conf
注释掉 dns=dnsmasq 行
# dns=dnsmasq
保存并关闭文件。
重启网络管理器和Docker。
$ sudo restart network-manager
$ sudo restart docker
配置系统重启时自动启动 Docker
Ubuntu 14.10以下版本不用配置。更新 Docker
$ sudo apt-get upgrade docker-engine卸载
$ sudo apt-get purge docker-engine
要卸载 Docker 包
$ sudo apt-get autoremove --purge docker-engine
以上命令不会删除镜像文件、容器、卷和系统建立的用户配置文件,如果要删除所有镜像文件、容器、卷,使用下面的命令:
$ rm -rf /var/lib/docker
用户配置文件只能手动删除。
=======================
本文步骤经本人亲自逐条测试成功,供大家参考。
徒步学天下( hhxx2014@qq.com)
2016年2月16日于中国林都