在虚拟机环境基于Ubuntu 14.04.3安装Docker全记录

最近在自学Docker,关于Ubuntu Server 14.04.3 下安装Docker 1.10,找了百度里的好多文章,都是基于0.9版本的,细节上有一定的差别。今天,利用虚拟机全新安装Ubuntu Server 14.04.3,按照官方文档,一步步进行Docker 1.10的安装,将步骤记录如下,留做参考。

  1. vmware workstation 11 配置运行环境
    CPU: 1
    MEM: 2048
    HD: 20G
    IMG: ubuntu-14.04.3-server-amd64.iso

  2. 用ISO启动, 安装

  3. 更新系统
    $ sudo apt-get update
    $ sudo apt-get upgrade

  4. 查看系统版本
    $ uname -r
    3.11.0-15-generic

  5. 更新源(提示已经有最新版本了)
    $ apt-get install apt-transport-https ca-certificates

  6. 增加新GPG key.
    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

  7. 编辑/etc/apt/sources.list.d/docker.list ,内容如下:
    deb https://apt.dockerproject.org/repo ubuntu-trusty main

  8. 更新索引
    $ sudo apt-get update

  9. 删除旧版本(提示没有安装)
    $ apt-get purge lxc-docker

  10. 核对APT源
    $ apt-cache policy docker-engine
    显示来自 https://apt.dockerproject.org/repo

  11. 安装 linux-image-extra (提示已是最新版本)
    $ sudo apt-get update
    $ sudo apt-get install linux-image-extra-$(uname -r)

  12. 安装apparmor(提示已安装)
    $ sudo apt-get install apparmor

  13. 安装Docker
    $ sudo apt-get install docker-engine

  14. 启动 docker 服务(提示已经启动)
    $ sudo service docker start

  15. 验证
    $ sudo docker run hello-world
    系统自动下载一个测试镜像并运行,显示 “Hello from Docker. ...",安装成功。

  16. 查看版本
    $ 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

  1. 配置Docker,建立 docker 组 (testuser要改为你自己的登录用户)
    $ sudo usermod -aG docker testuser
    注销重新登录,并检查是否可以不用 sudo 运行 docker
    $ docker run hello-world
    检查确认你的shell没有设置环境变量 DOCKER_HOST,否则删除设置.

  2. 调整内存和交换区审计
    $ 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

  1. 配置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

  2. 为使用 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

  1. 配置系统重启时自动启动 Docker
    Ubuntu 14.10以下版本不用配置。

  2. 更新 Docker
    $ sudo apt-get upgrade docker-engine

  3. 卸载
    $ 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日于中国林都

推荐阅读更多精彩内容