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. bzoj1500

    1500: [NOI2005]维修数列 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 12544  Solved: 3970[Submit][Statu ...

  2. 图解TCP-IP协议

    本文通过图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图1所示,给出了TCP通信过程的示意图. 图1 TCP 三次握手四次挥手 图1 ...

  3. 在javascript中使用Json

    jSON是JavaScript面向对象语法的一个子集.由于JSON是JavaScript的一个子集,因此它可清晰的运用于此语言中. 文本生成json对象,必须在外面加一对括号. js 代码 var m ...

  4. List Map Set 的用法和区别

    参考 http://blog.csdn.net/vstar283551454/article/details/8682655

  5. MathType6.9按章节插入编号

    先插入Chapter,然后修改break主要是该起始编号. 这样话会用一行红色红代码,选中,邮件字体,然后在格式里选择隐藏就好了,这个不能删除.

  6. CodeForces 261B Maxim and Restaurant 解法汇总

    题意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a3-+ai,问满足Si<=p的i的最大值的期望.(p<=50) 这道题在网上有一些不同 ...

  7. BZOJ4700: 适者

    先排序,枚举删一个点,在前面找出最优的另一个点,容易推出斜率方程,平衡树维护凸包. #include<bits/stdc++.h> using namespace std; typedef ...

  8. HTTP 基础知识

    HTTP是一种协议.HTTP使用流程,一般情况下, 第一:由HTTP客户端发出请求,创建端口. 第二:HTTP服务器在端口监听客户端的请求. 第三:一旦收到请求,HTTP服务器向客户端返回状态和内容. ...

  9. PHP根据array_map、array_reduce和array_column获取二维数组中某个key的集合

    http://camnpr.com/php-python/1715.html 巧用array_map()和array_reduce()替代foreach循环

  10. 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。

    解决办法是在web.config增加如下节点到<configuration>下 <system.web.extensions> <scripting> <we ...