zhiye_wang

向星空仰望的越深,越发现自己的渺小

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  31 随笔 :: 1 文章 :: 2 评论 :: 0 Trackbacks

2.1 安装 Docker 的先决条件

运行 64 位 CPU 架构的计算机,Docker 目前不支持 32 位 CPU

运行 Linux 3.8 或者更高版本内核。

内核必须支持一种适合的存储驱动 (storage driver),例如 Device Mapper, AUFS

内核必须支持并开启 cgroup 和命名空间 (namespace) 功能

2.2 Ubuntu 中安装 Docker

官方支持版本:

Ubuntu Trusty 14.04 LTS 64 位

Ubuntu Precise 12.04 LTS 64 位

但是并不意味着其他的Ubuntu或者Debian版本就不能安装Docker,只要有合适的内核和

Docker所必须的支持即可。

2.2.1 检查前提条件

# 我的环境是 windows 7 旗舰版 64 位, 6GB 内存。

# 安装了 Vmware 虚拟机,里面安装了一个 Ubuntu 15.10 

Technorati 标记:
[#1#cloudsoar@cloudsoar-virtual-machine ~]$uname -a
Linux cloudsoar-virtual-machine 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

可以看到我的内核是 3.19.0 x86_64 的内核,因此不需要升级内核

2 查看Device Mapper

任何 Ubuntu 12.04 或者更高版本都已经安装了Device Mapper,如下命令可以确认是否安装

[#2#cloudsoar@cloudsoar-virtual-machine ~]$ls -l /sys/class/misc/device-mapper lrwxrwxrwx 1 root root 0  3月 14 15:26 /sys/class/misc/device-mapper -> ../../devices/virtual/misc/device-mapper 

2.2.2 安装 Docker

首先需要添加 Docker 的 APT 仓库,添加之前需要确认已经安装了curl命令

[#3#cloudsoar@cloudsoar-virtual-machine ~]$whereis curl curl: /usr/bin/curl /usr/share/man/man1/curl.1.gz [#4#cloudsoar@cloudsoar-virtual-machine ~]$sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" 

如果没安装,使用 apt-get –y install curl 命令安装

接下来添加 Docker 仓库的 GPG 密钥

[#7#cloudsoar@cloudsoar-virtual-machine ~]$curl -s https://get.docker.io/gpg | sudo apt-key add - gpg: 找不到有效的 OpenPGP 数据。

我的虚拟机是今天安装的新的。这里提示报错,找不到OpenPGP数据。

网上差找到方法:

[#10#cloudsoar@cloudsoar-virtual-machine ~]$sudo curl -s https://get.docker.io/gpg | sudo apt-key add - gpg: 找不到有效的 OpenPGP 数据。 [#11#cloudsoar@cloudsoar-virtual-machine ~]$gpg --keyserver pgpkeys.mit.edu --recv-key 9AA38DCD55BE302B gpg: 已创建目录‘/home/cloudsoar/.gnupg’ gpg: 新的配置文件‘/home/cloudsoar/.gnupg/gpg.conf’已建立 gpg: 警告:在‘/home/cloudsoar/.gnupg/gpg.conf’里的选项于此次运行期间未被使用 gpg: 钥匙环‘/home/cloudsoar/.gnupg/secring.gpg’已建立 gpg: 钥匙环‘/home/cloudsoar/.gnupg/pubring.gpg’已建立 gpg: 下载密钥‘55BE302B’,从 hkp 服务器 pgpkeys.mit.edu gpg: /home/cloudsoar/.gnupg/trustdb.gpg:建立了信任度数据库 gpg: 密钥 55BE302B:公钥“Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>”已导入 gpg: 没有找到任何绝对信任的密钥 gpg: 合计被处理的数量:1 gpg:               已导入:1  (RSA: 1) [#12#cloudsoar@cloudsoar-virtual-machine ~]$gpg -a --export  9AA38DCD55BE302B | sudo apt-key add - OK 

完成后更新源,sudo apt-get update

此时,我用虚拟机创建了一个快照备份,以便以后有问题需要恢复的时候方便使用。

下面开始安装Docker

[#14#cloudsoar@cloudsoar-virtual-machine ~]$sudo apt-get install lxc-docker 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包:   aufs-tools cgroupfs-mount git git-man liberror-perl lxc-docker-1.9.1 建议安装的软件包:   git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch   git-cvs git-mediawiki git-svn 下列【新】软件包将被安装:   aufs-tools cgroupfs-mount git git-man liberror-perl lxc-docker lxc-docker-1.9.1 升级了 0 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 322 个软件包未被升级。 需要下载 12.1 MB 的软件包。 解压缩后会消耗掉 53.8 MB 的额外空间。 您希望继续执行吗? [Y/n] y 

整个下载过程可能有点慢,我这里是电信100Mb的光纤,下载速度是10kb/s左右

安装完毕后,使用 docker info 查看是否安装并运行了

[#15#cloudsoar@cloudsoar-virtual-machine ~]$sudo docker info Containers: 0 Images: 0 Server Version: 1.9.1 Storage Driver: aufs  Root Dir: /var/lib/docker/aufs  Backing Filesystem: extfs  Dirs: 0  Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.19.0-15-generic Operating System: Ubuntu 15.04 CPUs: 1 Total Memory: 2.43 GiB Name: cloudsoar-virtual-machine ID: RL5D:42DH:XMAC:GDQY:VWPJ:3YGM:UHQK:K3QD:USCH:TEGA:32PF:HUNB 

2.2.3 Docker 和 UFW

ubuntu中,如果使用 UFW (Uncomplicated Firewall) 还需要启动 UFW 的数据包转发

Docker才能正常运行,需要对 /etc/default/uwf 文件做出一点改动

将 DEFAULT_FORWARD_POLICY="DROP" 改为 “ACCEPT”, 保存从新加载即可.

2.9 Docker 守护进程

当 Docker 安装完毕后, 默认会立即启动 Docker 守护进程. 监听 /var/run/docker.sock 这

个 Unix 套接字文件来获取来自客户端的 Docker 请求. 如果系统存在名为 docker 的用户组

的话,Docker 会将此套接字文件的所有者设置为 docker 用户组,这样 docker 用户组所

有用户都可以直接运行 Docker 不用使用 sudo。

2.9.1 配置 Docker 守护进程

[#19#cloudsoar@cloudsoar-virtual-machine ~]$sudo /usr/bin/docker -d -H tcp://0.0.0.0:2375
这条命令会将Docker守护进程绑定到宿主机上的所有网络接口。

2.9.2 检查守护进程是否在运行

[#2#cloudsoar@cloudsoar-virtual-machine ~]$sudo status docker [sudo] password for cloudsoar:  status: 无法连接到 Upstart: Failed to connect to socket /com/ubuntu/upstart: 拒绝连接 
我这里报错。

今天暂时还未解决,有待进一步查找资料。

posted on 2016-03-14 18:00 zhiye_wang 阅读(749) 评论(0)  编辑 收藏 引用 所属分类: docker

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理