2016-3-8
从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境。
注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知。
查看系统相关信息
可使用命令uname -a
、uname -r
、lsb_release -a
查看:
$ uname -a
> Linux zabbix 3.2.0-29-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
或:
$ uname -r
> Linux zabbix 3.2.0-29-generic
或:
$ lsb_release -a
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
root@zabbix:~#
可看到当前的系统是 Ubuntu 12.04.2 LTS x86_64 Linux zabbix 3.2.0-29-generic
Ubuntu 12.04.2 LTS 64位 内核版本是 3.2.0-29-generic
插曲1:升级Package
这是测试时在网上找到的一种方法,经测试后发现这种方式只是更新了Package,并没有升级内核版本。
即只是将系统从 12.04.2 LTS
升级到了 12.04.5 LTS
版本。
运行命令:
- 升级包管理器
$ sudo apt-get update
- 执行升级Package命令
$ sudo apt-get dist-upgrade
- 重启
$ sudo reboot
等待执行完成后,通过命令uname -a
查看系统信息:
$ uname -a
> Linux zabbix 3.2.0-100-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
插曲2:升级到 ‘14.04.4 LTS’
上面的 “插曲1:升级Package” 执行完成后,再次用ssh登陆后会有更新提示:
ssh登陆后有更新提示:
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-100-generic x86_64)
- Documentation: https://help.ubuntu.com/
New release '14.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
总结命令可能是:
$ sudo apt-get update
$ sudo apt-get do-release-upgrade
$ sudo reboot
看网上的评论说这种方式更新后偶有出现黑屏等不稳定情况,另外升级的时间也会太长,所以未尝试该方法。
上面的两个插曲可直接忽略,不影响下面的内核版本升级
升级Ubuntu的内核版本
Docker 官网上要求Docker需要在64位版本的Ubuntu上安装,并且还要保证 Ubuntu 内核的最小版本不低于 3.10。
从网上找到了两种内核版本:
- 3.8 内核版本:
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
- 3.13 内核版本:
$ sudo apt-get update
$ sudo apt-get install linux-generic-lts-trusty
这里sudo apt-get install linux-generic-lts-trusty
也可以拆成两句:
$ sudo apt-get install linux-image-generic-lts-trusty
$ sudo apt-get install linux-headers-generic-lts-trusty
总结最后的升级内核步骤,linux系统内核从3.2.0-100-generic
升级到3.13
版本:
- 升级包管理器
$ sudo apt-get update
- 安装升级内核3.13必需和可选的依赖包
$ sudo apt-get install linux-generic-lts-trusty
- 重启系统
$ sudo reboot
升级步骤记录:
- 安装前查看:
root@zabbix:~# uname -a
Linux zabbix 3.2.0-100-generic #140-Ubuntu SMP Tue Feb 23 02:23:59 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root@zabbix:~#
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
root@zabbix:~#
- 执行上面的安装命令
- 安装后查看:
root@zabbix:~# uname -a
Linux zabbix 3.13.0-81-generic #125~precise1-Ubuntu SMP Thu Mar 3 11:31:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root@zabbix:~#
root@zabbix:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
root@zabbix:~#
系统内核从3.2.0-100-generic
升级到了3.13.0-81-generic
,接下来可以安装Docker环境了。
Docker 环境安装
Docker 的安装可查看官方的安装教程: Docker官方安装教程
Docker安装总结:
- 以sudo管理员身份登陆,这里以
root
账户登录 - 判断系统中
curl
命令是否安装:
$ whereis curl
如果已经安装,则会输出curl
命令所在的目录
- 如果没有安装curl,则执行安装命令:
$ sudo apt-get update
$ sudo apt-get install curl
- 安装Docker:
$ curl -fsSL https://get.docker.com/ | sh
也有命令为:
$ curl -sSL https://get.docker.com/ | sudo sh
- 系统会要求输入sudo账户密码,等待安装docker及其依赖项。
- 安装完成后,会显示当前Docker的版本信息。
- 在Ubuntu系统下执行Docker命令时,每次都要输入
sudo
,同时输入密码,很累人的。 Docker 会提示将当前用户root
添加到docker 用户组中,可执行命令:
$ sudo usermod -aG docker root
注:这里的root
可换成你自己的登陆账户
- 重启系统
$ sudo reboot
- 查看上面的命令是否生效
$ docker version
- 至此,Docker服务就安装完成了。
在Docker下运行一个输出Hello Docker
的程序:
执行命令:
$ docker run busybox /bin/echo "Hello Docker"
Hello Docker
如果本地不存在busybox
镜像,docker 会自动从官网下载相关镜像。
在Docker下搭建一个Nginx服务器:
- 从Docker Hub官网下载一个Ubuntu镜像:
$ docker pull ubuntu:14.04
- 以交互方式启动一个名称为
web
的容器,指定宿主机的8080
端口指向容器web
的80
端口:
$ docker run -it --name web -p 8080:80 ubuntu:14.04
然后可以看到命令提示符由 root@zabbix:~#
变成了形如 root@45738573634:~#
的形式,说明我们现在成功进入了这个名为web
的容器中;
- 在
web
容器内执行命令:
$ sudo apt-get install -y curl
$ sudo apt-get install -y nginx
- 在
web
容器内输入命令:
$ curl localhost
可以看到输出了Nginx的欢迎信息Welcome to nginx!
。
- 因为我的宿主服务器现在是联网的,所以我可以在外网访问到该Docker容器
web
里的Nginx欢迎页面:
至此,我们的Nginx服务器就搭建完成了。
相关网址及参考:
- linux内核网站
- linux12.04升级内核实战
- Ubuntu 12.04安装docker体验cSphere ☆
- ubuntu12.04安装Docker
- Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
- Ubuntu 安装Docker
- Docker官方安装教程
该文章同步发表在本人简书及博客园下,如有转载请注明出处。