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 ...
随机推荐
- 【二分答案】【贪心】bzoj3969
http://www.cnblogs.com/mmlz/p/4497118.html #include<cstdio> #include<algorithm> using na ...
- “”?: H3C SSH 配置+
开启ssh 服务 ssh service enable 创建用户 使用ssh local-user ssh 用户级别 authorization-attribute user-role level-1 ...
- [Leetcode][JAVA] Word Ladder
Given two words (start and end), and a dictionary, find the length of shortest transformation sequen ...
- python 传值引用和传参引用
调用同事的函数,传入goods_list,获取商品信息,然后将商品信息与goods_list的信息进行匹配,合并. 但是同事返回数据的同时改变了我传入的参数,goods_list.相当于传参引用,也就 ...
- linux增加根分区大小
以下操作以root身份运行 1.增加一个新分区(从原有硬盘分,或增加一个新硬盘并进行分区fdisk) 格式化成ext4(mkfs.ext4 /dev/sdb1,假设为/dev/sdb1) 2.将新的 ...
- 从“程序员转行卖烧饼”想到IT人创业
我的一个朋友最近总在跟我念叨着“我不想做开发了,整天累死累活写程序,也攒不下几个钱.我想辞职搞点啥!” 我问他:“你想搞点啥?”. 他说:“搞啥都比做开发强,做个网站赚广告费,接私活……实在不行我去卖 ...
- 跟我一起学WCF(3)——利用Web Services开发分布式应用
一.引言 在前面文章中分别介绍了MSMQ和.NET Remoting技术,今天继续分享.NET 平台下另一种分布式技术——Web Services 二.Web Services 详细介绍 2.1 We ...
- [MSSQL]SQL疑难杂症实战记录-巧妙利用PARTITION分组排名递增特性解决合并连续相同数据行
问题提出 先造一些测试数据以说明题目: DECLARE @TestData TABLE(ID INT,Col1 VARCHAR(20),Col2 VARCHAR(20)) INSERT INTO @T ...
- UTL_FILE建文件失败“ORA-29280: 目录路径无效”错误
存储过程写文件需要配置可写的目录,具体是utl_file_dir这个参数,把UTL_FILE输出的目录写到这个参数,如果不限制,可以令utl_file_dir=* 查看: SQL> sh ...
- 我是如何使用git的
安装 首先需要安装 msysgit, 下载地址:http://msysgit.github.io/ msysgit提供了Git Bash命令行工具和Git GUI,前者提供了类似linux系统下bas ...