Docker从入门到实战(三)

一:安装Docker

1. linux系统脚本安装

Docker基于linux容器技术,面向服务器端,Docker只能安装运行在64位计算机上(社区有对32位的支持),linux内核版本必须大于3.10,内核小于3.10的系统会因为缺少Docker容器运行所需的功能而有错误。

一键安装脚本

(1)安装稳定版本
curl -sSL https://get.docker.com/ | sh或者wget -qO- https://get.docker.com/ | sh
(2)安装测试版本
curl -fsSL https://test.docker.com/ | sh或者wget -qO- https://test.docker.com/ | sh
(3)安装实验版本
curl -fsSL https://experimental.docker.com/ | sh或者wget -qO- https://experimental.docker.com/ | sh
如果安装时出现如下没有aufs的提示,用户可以安装内核扩展系列(Ubuntu系列)
modprobe:FATAL: Module aufs not found in directory /lib/modules/4.4.0-2-**-amd64
Waring:current kernel is not supported by the linux-image-extra-virtual package.We have no AUFS support. Consider installing the packages linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.

  • sleep 10

sudo apt-get install linux-image-extra-‘uname -r’
或者自己下载aufs编译安装,再或者再等待10秒,安装脚本会使用替代方案安装docker
sudo curl -sSL https://get.docker.com/ | sh

1.1Debian发行版

(1)查看内核版本
uname -r
如果内核版本达不到要求,需要升级内核。目前Debian一般都不用升级内核
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
(2)更新APT源
打开一个终端,安装apt-transport-https包,使得APT支持HTTPS协议的源
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates
添加Docker源的gpg密钥
sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
(3)添加Docker的官方APT软件源
先查看当前操作系统的代号lsb_release -c
sudo vim /etc/apt/sources.list.d/docker.list
Debian Wheezy如下
deb https://apt.dockerproject.org/repo debian-wheezy main
Debian Jessie如下
deb https://apt.dockerproject.org/repo debian-jessie main
Debian Stretch/Sid如下
deb https://apt.dockerproject.org/repo debian-stretch main
注意修改操作系统对应的代号
添加成功后,更新APT软件包缓存
sudo apt-get update
校验软件包缓存结果
apt-cache policy docker-engine
(4) 安装Docker
如果用户以前装过Docker,那么需要完全卸载Docker再安装
apt-get purge "lxc-docker"
apt-get purge "docker.io
"
一切没问题后,执行安装
sudo apt-get instal docker-engine
(5)启动Docker
sudo service docker start
(6)确保Docker运行正常
sudo docker run –-rm hello-world
返回Hello World表示运行正常
(7)为非root用户授权
如果没有Docker用户组就建立一个Docker用户组(默认安装后自动创建)
sudo groupadd docker
增加当前用户到Docker组,需要注销来生效
sudo gpasswd -a ${USER} docker
重启Docker 服务
sudo service docker restart
这样执行Docker命令就不必使用sudo申请权限了

1.2Ubuntu发行版

(1)查看内核版本
uname -r
如果内核版本达不到要求,需要升级内核。
sudo apt-get update
sudo apt-get install -y linux-images-generic-lts-raring linux-headers-generic-lts-raring
sudo reboot
(2)更新APT源
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates
添加Docker源的gpg密钥
sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
(3)添加Docker的官方APT软件源
先查看当前操作系统的代号lsb_release -c
sudo vim /etc/apt/sources.list.d/docker.list
Ubuntu 14.04(LTS)如下
deb https://apt.dockerproject.org/repo ubuntu-trusty main
Ubuntu 15.10如下
deb https://apt.dockerproject.org/repo ubuntu-wily main
Ubuntu 16.04(LTS)如下
deb https://apt.dockerproject.org/repo ubuntu-xenial main
注意修改操作系统对应的代号
添加成功后,更新APT软件包缓存
sudo apt-get update
校验软件包缓存结果
apt-cache policy docker-engine
(4)安装Docker
安装Docker之前,如果用户使用的是Ubuntu 12.04可以先升级系统
sudo apt-get install linux-image-generic-lts-trusry
sudo reboot
如果用户以前装过Docker,那么需要完全卸载Docker再安装
apt-get purge "lxc-docker"
apt-get purge "docker.io
"
一切没问题后,执行安装
sudo apt-get update
sudo apt-get instal docker-engine
(5)启动Docker
sudo service docker start
(6)确保Docker运行正常
sudo docker run –-rm hello-world
返回Hello World表示运行正常
(7)为非root用户授权
如果没有Docker用户组就建立一个Docker用户组(默认安装后自动创建)
sudo groupadd docker
增加当前用户到Docker组,需要注销来生效
sudo gpasswd -a ${USER} docker
重启Docker 服务
sudo service docker restart
这样执行Docker命令就不必使用sudo申请权限了

1.3CentOS/Fedora发行版

Docker(重新编译自RHEL7)已收录在CentOS-Extras软件库内。用户只需要执行以下安装命令即可。
sudo yum -y install docker
如果用户想使用一个比较新版本的Docker,则有两个选择
(1)使用来自Fedora的组件
sudo tee /etc/yum.repos.d/docker.repo << -‘EOF’
[virt7-docker-fedora-candidate]
name=virt7-docker-fedora-candidate
baseurl=http://cbs.centos.org/repos/virt7-docker-fedora-candidate/x86_64/os/
enabled=1
gpgcheck=0
EOF
(2)使用来自RHEL的组件
sudo tee /etc/yum.repos.d/docker.repo << -‘EOF’
[virt7-docker-el-candidate]
name=birt7-docker-el-candidate
baseurl=http://cbs.centos.org/repos/virt7-docker-el-candidate/x86_64/os/
enabled=1
gpgcheck=0
EOF
注意:在系统上同时启用这两个软件库会混淆来在不同源头的组件而导致无法预知的后果。同时或许需要停用CentOS-Extras,以确保安装的组件是来自虚拟化SIG软件库。
sudo yum -y install docker –-disablerepo=extras
安装Docker后,你必须引导服务才能应用它
sudo systemctl start docker
若要开机引导Docker服务
sudo systemctl enable docker或者sudo chkconfig docker on
在CentOS 6.5上安装Docker需要采用EPEL软件库。启用EPEL后,才能继续以下的安装程序
要在CentOS 6系列上安装Docker,可利用以下指令安装docker-io组件
sudo yum -y install docker-io
如果不能直接安装docker-io,可利用EPEL软件库
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y update
安装Docker后,必须引导该服务才能应用它
sudo service docker start
开机时引导Docker服务
sudo chkconfig docker on

2.Linux、Mac、Windows二进制安装

2.1获取Linux二进制包

通过下面的链接来下载最新版本的Linux二进制包
https://get.docker.com/builds/Linux/i386/docker-latest.tgz
https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz
使用下面的链接模式来下载指定版本的Linux二进制包
https://get.docker.com/builds/Linux/i386/docker-<version>.tgz
https://get.docker.com/builds/Linux/x86_64/docker-<version>.tgz
例如:
https://get.docker.com/builds/Linux/i386/docker-1.15.0.tgz
https://get.docker.com/builds/Linux/x86_64/docker-1.15.0.tgz
解压如下
tar -xzvf docker-latest.tgz
安装运行
chmod a+x docker/
mv docker/
 /usr/bin/
sudo docker &

2.2获取Mac OS X二进制包

通过下面的链接来下载最新版本的Mac OS X二进制包
https://get.docker.com/builds/Darwin/x86_64/docker-latest.tgz
使用下面的链接模式来下载指定版本的Mac OS X二进制包
https://get.docker.com/builds/Darwin /x86_64/docker-<version>.tgz
例如:
https://get.docker.com/builds/Darwin /x86_64/docker-1.15.0.tgz

2.3获取Windows二进制包

通过下面的链接来下载最新版本的Windows二进制包
https://get.docker.com/builds/Windows /i386/docker-latest.zip 
https://get.docker.com/builds/Windows/x86_64/docker-latest.zip 
使用下面的链接模式来下载指定版本的Windows二进制包
https://get.docker.com/builds/Windows/i386/docker-<version>.zip 
https://get.docker.com/builds/Windows/x86_64/docker-<version>.zip 
例如:
https://get.docker.com/builds/Windows/i386/docker-1.15.0.zip 
https://get.docker.com/builds/Windows/x86_64/docker-1.15.0.zip

文中所有内容皆为手动敲出来的,难免有疏忽之处,欢迎评论指正!
后续文档Docker从入门到实战(四)链接 http://blog.51cto.com/12943999/2073654