最近在自学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

用户配置文件只能手动删除。

=======================

本文步骤经本人亲自逐条测试成功,供大家参考。

徒步学天下