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. HAProxy的日志配置以及ACL规则实现负载均衡

    HAProxy配置日志策略 默认情况下,HAProxy是没有配置日志的在centos6.3下默认管理日志的是rsyslog,可以实现UDP日志的接收,将日志写入文件,写入数据库先检测rsyslog是否 ...

  2. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  3. ADO.NET常用对象

    一.Connection对象 Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接.所有Connection对象的基类都是DbConnection类. Co ...

  4. Ubuntu下deb文件及tgz文件安装

    dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装.更新及移除.所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu.Knopp ...

  5. bzoj 2729: [HNOI2012]排队

    2729: [HNOI2012]排队 Time Limit: 10 Sec Memory Limit: 128 MB Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体 ...

  6. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(五)

    SpringSecurity(2) 好久没有写了,之前只写了一半,我是一边开发一边写Blog一边上班,所以真心没有那么多时间来维护Blog,项目已经开发到编写逻辑及页面部分了,框架基本上已经搭建好不会 ...

  7. 12,13 Proxy和Reflect

    Proxy和Reflect Proxy(代理) Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程"(meta programming),即对编程 ...

  8. SVN服务器搭建

    一.SVN下载:https://tortoisesvn.net/downloads.html,下载安装步骤百度一下,基本上都是一路点击next即可安装完成. 服务端安装文件: 二.测试是否安装成功,在 ...

  9. gprs/gsm 在linux下的应用

    之前有篇随笔整理了一种在裸机下用状态机+超时的机制来操作gprs/gsm,linux下就不需要了,本身有完善的调度机制,在等待的流程中直接sleep就行了. 下面是飞凌OK6410下的 demo, 其 ...

  10. 浅谈ScrollView嵌套ListView及ListView嵌套的高度计算

    引言 在Android开发中,我们有时会需要使用ScrollView中嵌套ListView的需求.例如:在展示信息的ListView上还有一部分信息展示区域,并且要求这部分信息展示区域在ListVie ...