刚刚接触到docker的同事可能会一头雾水,docker到底是一个什么东西,先看看官方的定义。

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

根据官方的定义,我理解就是Docker最终目的就是建立一个轻量化的容器,并且容器是可以定制,通过Docker来启动定制容器。

1、安装

  • 查看docker的安装位置
    [root@IDC-D-1699 docker]# whereis docker    
    docker: /usr/bin/docker /etc/docker /usr/local/bin/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz
  • 内核升级成功后下载1.9.1的版本,
    curl -sSL -O https://get.docker.com/builds/Linux/x86_64/docker-1.9.1。
  • 替换原有的docker   
    cp docker-1.9.1 /usr/local/bin/docker
  • 启动并查看docker版本
    [root@IDC-D-1699 docker]# service docker start
    Starting docker: [确定]
    [root@IDC-D-1699 docker]# docker version
    Client:
    Version: 1.9.1
    API version: 1.21
    Go version: go1.4.3
    Git commit: a34a1d5
    Built: Fri Nov 20 17:56:04 UTC 2015
    OS/Arch: linux/amd64 Server:
    Version: 1.9.1
    API version: 1.21
    Go version: go1.4.3
    Git commit: a34a1d5
    Built: Fri Nov 20 17:56:04 UTC 2015
    OS/Arch: linux/amd64
  • 使用加速器
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://e39eb134.m.daocloud.io
    [root@IDC-D-1699 docker]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://e39eb134.m.daocloud.io
    Success.
    You need to restart docker to take effect : sudo service docker restart

2、Docker命令

要想熟练的使用docker掌握好命令是第一前提。

分类 命令
环境信息 info,version
容器生命周期管理 create,exec,kill,pause,restart,rm,run,start,stop,unpause
镜像仓库命令 login,logout,pull,push,search
镜像管理 build,image,import,load,rmi,save,tag,commit
容器运维操作 attach,export,inspect,port,ps,rename,stats,top,wait,cp,diff
系统日志信息 events,history,logs

2.1 环境信息

docker info 用于检测Docker是否正确安装,如果正确安装会输出Docker环境信息。

[root@IDC-D-1699 ~]# docker info
Containers: 1
Images: 22
Storage Driver: devicemapper
Pool Name: docker-104:3-1313361-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 953 MB
Data Space Total: 107.4 GB
Data Space Available: 106.4 GB
Metadata Space Used: 1.884 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.117-RHEL6 (2016-04-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-642.el6.x86_64
Operating System: <unknown>
CPUs: 4
Total Memory: 3.738 GiB
Name: IDC-D-1699
ID: RSDT:BELZ:DD36:AFSX:FDO7:ESFG:JYQA:ID5P:ENAK:YQGQ:5RMC:OBXN

Docker info 和 Docker version并没有额外的操作参数。

2.2 docker run

docker run 是核心命令之一,在使用docker时执行最多的命令,具体了解别忘了 docker run --help。

2.2.1 命令格式
docker run [options] image [commond] [arg…]

-d 后台模式运行,如果没有-d这个参数容器进入前台模式

-i 使用交互模式,始终保持输入流开放

-t 分配一个伪终端,一般两个参数合起来使用-it,即可在容器中利用打开的伪终端进行交互操作。

--name 指定容器启动的名称。

-c 选项给运行在容器中所有进程分配CPU的share值

3、搜索可用镜像

目前国内比较好的daocloud.com镜像站,功能还是比较强大,支持部署应用。

一、Docker之旅的更多相关文章

  1. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一个定制的 Dockerfile 来 Docker 化Dockerize一个 ...

  2. OneSQL的docker之旅

      百度盘下载地址: http://pan.baidu.com/s/1v9GWA   OneSQL Docker使用方法:  1. 解压    tar zxvf OneSql-Docker-5.6.2 ...

  3. PHP 开发者的 Docker 之旅

    用 PHP 作为我们「Docker 开发大礼包」开篇是带着一些朝圣的心情的.这是一门堪称「古老」的语言,这也是一门争议最多的语言,这更是一门不断涅槃的语言.「PHP 是最好的语言」这个流传已久的梗,或 ...

  4. Docker(一)Linux开启你的Docker之旅

    前言 Docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是只能运行于64位架构平台, 内核版本为2.6.32-431及以上(即 >= CentOS 6.5, ...

  5. 简单四步開始树莓派上的Docker之旅

    大概这篇博文发表之后,应该算是我个人的第一篇翻译作品了,翻译的可能不是非常到位,望各位看官大刀砍过来. 原文链接:http://resin.io/blog/docker-on-raspberry-pi ...

  6. 用浏览器快速开启Docker的体验之旅

    互联网科技发展创造了很多奇迹,比如我今天要提到的 docker 技术就是其一.我很早就关注它(在2015年写过这方面的博客),那会儿还只是一个开源项目,现在已经是一个行业事实标准了,它推动了云原生的变 ...

  7. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  8. Docker简明教程(转)

    Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷.很有意思的事情.我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣.我也只是一个在Docke ...

  9. 报名|「OneAPM x DaoCloud」技术公开课:Docker性能监控!

    如今,越来越多的公司开始 Docker 了,「三分之二的公司在尝试了 Docker 后最终使用了它」,也就是说 Docker 的转化率达到了 67%,同时转化时长也控制在 60 天内. 既然 Dock ...

随机推荐

  1. JAVA中保留指定小数位方法

    import java.math.BigDecimal;    import java.text.DecimalFormat;    import java.text.NumberFormat;    ...

  2. scala 代码随笔

    def myfunc[T](iter: Iterator[T]) : Iterator[(T, T)] = { var res = List[(T, T)]() var pre = iter.next ...

  3. hdu Remainder

    这道题是道很明显的bfs题.因为对数论没什么研究 ,所以这道题目里的两个关键点并不知道,看了别人的题解才知道 . 1.为避免取模后出现负数,采用:x%y=(x%y+y)%y 2.全部采用对m*k取模后 ...

  4. UDP和TCP的区别(转)

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  5. Mysql的时间和日期

    datetime    占8个字节    可以显示日期同时显示时间  yyyy-mm-dd hh:mm:ss 显示范围  1000-01-01 00:00:00----9999-12-31 23:59 ...

  6. 关于static 的研究 与递归调用的输出

    static的作用 :1.保存上次执行的结果 2.static int m; 这里默认m的初始值为0,即默认 值是0 #include "stdio.h" int fun(int ...

  7. HDU 1264 Counting Squares(线段树求面积的并)

    Counting Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. 一个ICMP单元

    unit ICMPUtils; interface {$IFDEF VER80} { This source file is *NOT* compatible with Delphi 1 becaus ...

  9. AFNetworking 3.0+ 启用完整、严格的https证书较验参考代码

    // 1.初始化单例类      AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];     manager.securit ...

  10. JS 的trim()

    去除字符串左右两端的空格,在vbscript里 可  用 trim.ltrim 或 rtrim,但 js 却没有这 3个 内置方法,需 手工编写.下面的实现方法  用到 正则表达式,效率不错, 把 三 ...