ubuntu 12.04 安装Docker 实战
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命令所在的目录
3. 如果没有安装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可换成你自己的登陆账户
8. 重启系统
$ 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的容器中;
3. 在web容器内执行命令:
$ sudo apt-get install -y curl
$ sudo apt-get install -y nginx
- 在
web容器内输入命令:
$ curl localhost
可以看到输出了Nginx的欢迎信息Welcome to nginx!。
5. 因为我的宿主服务器现在是联网的,所以我可以在外网访问到该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官方安装教程
该文章同步发表在本人简书及博客园下,如有转载请注明出处。
ubuntu 12.04 安装Docker 实战的更多相关文章
- [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...
- [笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程
之前写的[笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程已经out了,以这篇为准. Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心 ...
- Ubuntu 20.04安装Docker
Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...
- Ubuntu 12.04 安装 Apache2+PHP5+MySQL
LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...
- Ubuntu 12.04安装Adobe Reader
原本从Adobe 官方网站下载了 Adobe Reader, 是个rpm包,先用agt-get 装了rpm(sudo apt-get install rpm), 一安装(rpm -ivh AdobeR ...
- Ubuntu 12.04 安装MySQL
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...
- ubuntu 12.04 安装wireshark
轉載自http://blog.chinaunix.net/uid-27064719-id-3786626.html 在ubuntu 12.04下安装wireshark软件之后,打开wireshark开 ...
- ubuntu 12.04 安装 redis
原文地址:http://ijonas.com/software-development/nosql/412/ 1 Installing Redis 2.6.x on Ubuntu 12.04 and ...
- ubuntu 12.04安装TP-LINK TL-WN725N v2
用了一个上午,折腾完毕,分享如下. 1.先试了ndiswrapper和compat-wireless,各种不给力.后来看这篇博文<Ubuntu12.04下安装TL-WN322G+无线网卡驱动(R ...
随机推荐
- 修改默认MYSQL数据库data存放位置
随着业务量的增长,mysql默认安装所在分区大小出现瓶颈,通常需要将datadir换到较大的分区 示例原目录:/usr/local/mysql/data/示例新目录:/data/mysqldata/ ...
- N皇后问题(位运算实现)
本文参考Matrix67的位运算相关的博文. 顺道列出Matrix67的位运算及其使用技巧 (一) (二) (三) (四),很不错的文章,非常值得一看. 主要就其中的N皇后问题,给出C++位运算实现版 ...
- 仿知乎Android端回答UI
个人觉得知乎这个回答界面非常的好看. 首先中间那个卡片,是cardview. 此外,要隐藏掉导航栏. 然后就是,怎么实现cardview怎么能有一半在蓝色部分呢? 首先要分成两部分,第一部分Textv ...
- SQLLDR记录数与文本记录数比较
我们平时都用sqlldr进行将文本数据加载到数据库,但是有时候由于数据问题导致入库率不能达到100%,因此我们要检测是否存在不能入库的数据记录.以下shell脚本就是统计文本中记录数和数据库中记录数是 ...
- 安装SQLSERVER2012遇到的一些问题
安装SQLSERVER2012遇到的一些问题 先到MSDN我告诉你http://msdn.itellyou.cn/下载安装包,我每次都到MSDN我告诉你里下载的,因为那里的安装包保证能用 我的环境是: ...
- 在Ubuntu下爽快开发Android必要的5款装备
每一个程序员都有一颗极客的心,一些小装备肯定就比不可少啦.我刚刚从windows中转到Ubuntu,除了要适应ubuntu外,也想将windows中用惯了的小软件一起搬过去.在这里简单地罗列一下自己在 ...
- tomcat安全配置
1. 注释或删除 tomcat-users.xml 所有用户权限,看上去如下: <tomcat-users></tomcat-users> 2. 隐藏tomcat版本信息 1 ...
- Jenkins与.NET项目
转自: https://blog.dangl.me/categories Continuous Integration RSS Date Post 2016-10-20 Set Up Private ...
- [DOS] Net Use
Please use following command for regist a login user. net use \\server\folder [password] /user:[use ...
- atitit. groupby linq的实现(1)-----linq框架选型 java .net php
atitit. groupby linq的实现(1)-----linq框架选型 java .net php 实现方式有如下 1. Dsl/ Java8 Streams AP ,对象化的查询api , ...