Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器。然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的操作系统。下面我将在Ubuntu 14.04安装和使用Docker。
Docker使得在同一个服务器上可以运行更多的应用程序——它通过提供了一个额外的抽象层和操作系统级虚拟自动化。Docker使用Go语言开发,并以Apache 2.0许可证协议发布。

一、Docker的需求

要在Ubuntu 14.04 x64安装Docker,需要确保Ubuntu的版本是64位,而且内核版本需大于3.10版。

  1. 检查Ubuntu的内核版本

    # uname -r 
    3.13.0-55-generic

  2. 更新系统,确保软件包列表的有效性

    # apt-get update

  3. 如果Ubuntu的版本不满足,还需升级Ubuntu

    # apt-get -y upgrade

二、安装Docker

一旦以上需求都满足了,就可以开始安装Docker。Docker最早只支持Ubuntu,后来有了CentOS和其它RedHat相关的发布包。安装很简单,执行命令:

# apt-get -y install docker.io

三、创建链接

创建软链接

 # ln -sf /usr/bin/docker.io /usr/local/bin/docker
# sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

四、检查Docker服务

要校验Docker服务的状态,执行以下命令,确保Docker服务是启动的。

# service docker.io status
docker.io start/running, process 14394

要把Docker以守护进程的方式运行,执行以下命令:(注意需先关闭Docker服务)

# docker -d &

五、Docker自启动服务

把Docker安装为自启动服务,让它随服务器的启动而自动运行,执行命令:

# update-rc.d docker.io defaults

六、Docker的用法

下面讲讲述Docker的用法。要查看Docker可以使用的命令,在终端运行docker命令,它会打印所有可用的命令列表及使用描述。

# docker

七、Docker容器下载

下面我们docker命令带pull选项,拉取一个镜像,即从Docker注册服务器的软件仓库下载一个Docker的镜像。
使用的命令如下:

# docker pull ubuntu

此命令的执行会花去一些时间。

八、运行Docker容器

现在可以看到在Bash Shell下建立Ubuntu容器是非常简单的,只需运行一行命令即可。
-i选项:让输入输出都在标准控制台进行
-t选项:分配一个tty

# docker run -i -t ubuntu /bin/bash
root@696d5fd32bba:/#

故,在输出提示中,可以看到使用的标准Ubuntu容器。
现在可以在Ubuntu的Docker容器中使用Bash Shell。如果希望停止/断开连接,可以使用组合键Ctrl-p + Ctrl-q,然后就会返回到早先的窗口。

九、Docker组

创建一个docker用户组,避免使用root用户,并让docker用户组的用户具有同root的权限。

# usermod -aG docker ubuntu

现在可以退出当前用户,使用docker用户登陆了。

十、Docker测试

执行以下命令,查看输出:

docker@ubuntu-14:/root$ docker run hello-world

快照中输出显示,docker用户工作正常。

十一、Docker可用容器

Docker可用的容器可以通过搜索命令查找,社区已经提供了很多可用的容器。如何寻找可用的Docker容器,使用以下命令搜索CentOS的Docker容器。

# docker search centos

十二、结论

本文就是一篇Docker入门资料,要继续深入还会面临不少挑战。

在Ubuntu 14.04安装和使用Docker的更多相关文章

  1. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  2. Ubuntu 14.04 安装VMware 12

    /*********************************************************************** * Ubuntu 14.04 安装VMware 12 ...

  3. Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flas

    转自Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flash Player Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe ...

  4. ubuntu 14.04 安装搜狗拼音输入法

    原文:ubuntu 14.04 安装搜狗拼音输入法 ubuntu桌面系统下终于有了好用的拼音法-搜狗拼音输入法,欲在ubuntu 14.04下安装搜狗拼音输入法相当的简单. 先到搜狗拼音官网下载对应的 ...

  5. ubuntu 14.04 安装torch及编译环境zbstudio

    ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...

  6. 基于Ubuntu 14.04构建mysql5.6 Docker镜像

    我们的目的是创建一个基于Ubuntu 14.04 的MySQL的 Docker Image,并且在新创建出来的容器里自动启动MySQL服务接受外部连接 步骤: 1. 首先创建一个目录并在目录下创建一个 ...

  7. ubuntu 14.04 安装svn server (subversionedge )

    ubuntu 14.04 安装subversionedge 请仔细阅读安装包自带的readme文件! 1.先去官网,找安装包: http://subversion.apache.org/ http:/ ...

  8. Ubuntu 14.04 安装 sysrepo v0.7.5

    参考: Tentative gNMI support with sysrepo protobuf-c/protobuf-c Ubuntu 14.04 安装 sysrepo v0.7.5 安装依赖: s ...

  9. Ubuntu 14.04 安装 CUDA 问题及解决

    本文安装环境: - 双显卡: intel 集显 + nvidia 独显 - Ubuntu 14.04.4 - CUDA 8.0.44 1. Deb 安装包是个坑 (不要用这种方法!) 使用 Deb 安 ...

随机推荐

  1. [翻译]ES 提案: global

    Jordan Harband 的 ECMAScript 提案“global”现在处于第三阶段.该提案提供了一种新的用于访问全局对象的标准方式. 全局对象的引用 下面是常用的几种引用全局对象的方式: 全 ...

  2. localStorage使用总结

    一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题 ...

  3. c#委托----我的一点笔记

    public partial class ucBloodLabs { public delegate void ShowBloodEvent(); public ShowBloodEvent Show ...

  4. CSS实例练习

    蓝色导航为图片,用background-image实现. 排版用到ul,li标签,下划线运用border-bottom中的dashed,右边文字用到CSS浮动float. 实例: 代码: <!D ...

  5. MySQL二进制日志

    一.二进制日志(The Binary Log) 1.简介 包含所有更新了的数据或者已经潜在更新了的数据(比如一条没有匹配任何行的delete语句) 包含所有更新语句执行时间的信息 不记录没有修改数据的 ...

  6. RabbitMQ 集群+负载均衡

    负载均衡 集群的配置已经搭建好了,代码也成功跑通,成功做到了高可用,但是我们的程序连接节点并不会管哪个服务器在忙.哪个服务器空闲,完全看心情想连谁就连谁.而且代码中要把每个ip的节点都手动的写出来 , ...

  7. AngularJS +HTML Demo

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  8. BZOJ3932: [CQOI2015]任务查询系统

    传送门 真不知道我没学主席树之前是有什么勇气说自己高级数据结构以及学的七七八八了. 这道题应该也是算是主席树的经典运用. 刚开始脑抽了,想把(S,E,P)的处理直接在线用树状数组xjb搞搞算了.写完后 ...

  9. MyEclipse10--的使用经验

    MyEclipse10--的使用经验总结 ------------------ 1.MyEclipse中的验证validation----->>用MyEclipse做ExtJs项目研发的时 ...

  10. UP Board 妄图启动ubilinux失败

    前言 原创文章,转载引用务必注明链接. 经历了上次的上电开机失败,我们终于发现需要手动为UP板安装系统,因为没有显示器的Headless模式时,使用Linux比较方便,另外熟悉Debian系的,所以选 ...