百度Baidu App Engine(BAE)平台也是以Docker作为其PaaS云基础。

目的就是为了解决以下问题:

  • 1) 环境管理复杂: 从各种OS到各种中间件再到各种App,一款产品能够成功发布,作为开发者需要关心的东西太多,且难

于管理,这个问题在软件行业中普遍存在并需要直接面对。Docker可以简化部署多种应用实例工作,比如Web应用、后台应

用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个Image部署。

  • 2) 虚拟化手段的变化: 云时代采用标配硬件来降低成本,采用虚拟化手段来满足用户按需分配的资源需求以及保证可用

性和隔离性。然而无论是KVM还是Xen,在 Docker 看来都在浪费资源,因为用户需要的是高效运行环境而非OS, GuestOS既

浪费资源又难于管理, 更加轻量级的LXC更加灵活和快速。

目录

[隐藏

[编辑]Docker命令行

Docker的命令清单可以通过运行 docker ,或者 "docker help 命令"得到:

Docker的子命令已经达到34个之多,其中核心子命令(例如:run)还会有复杂的参数配置。

通过结合功能和应用场景方面的考虑,把命令行划分为4个部分:

[编辑]环境信息相关

  • info
  • version

[编辑]系统运维相关

  • attach
$ ID=$(sudo docker run -d ubuntu /usr/bin/top -b) $ sudo docker attach $ID $ sudo docker stop $ID
  • build:从源码构建新Image的命令。因为Image是分层的,最关键的Base Image是如何构建的是用户比较关心的,Docker官方文档给出了构建方法,请参考

http://docs.docker.com/articles/baseimages/

  • commit:把有修改的container提交成新的Image
$ sudo docker ps ID                  IMAGE               COMMAND             CREATED             STATUS              PORTS c3f279d17e0a        ubuntu:12.04/bin/bash7 days ago          Up 25 hours 197387f1b436        ubuntu:12.04/bin/bash7 days ago          Up 25 hours $ docker commit c3f279d17e0a  SvenDowideit/testimage:version3 f5283438590d $ docker images |head REPOSITORY                        TAG                 ID                  CREATED             VIRTUAL SIZE SvenDowideit/testimage            version3            f5283438590d        16 seconds ago
  • cp:把容器內的文件复制到Host主机上,如;docker cp ff35dcd5168e:/home/2/cuc_ieschool.h264 .
  • diff:列出3种容器内文件状态变化(A - Add, D - Delete, C - Change )的列表清单。
$ sudo docker diff 7bb0e258aefe   C /dev A /dev/kmsg C /etc A /etc/mtab A /go A /go/src A /go/src/github.com A /go/src/github.com/dotcloud ....
  • export:把容器系统文件打包并导出来,方便分发给其他场景使用。
$ sudo docker export red_panda > latest.tar
  • images
  • import / save / load:这一组命令是系统运维里非常关键的命令。加载(两种方法: import, load),导出(一种方法: save)容器系统文件。
  • inspect:查看容器运行时详细信息的命令。
  • kill:杀掉容器的进程。
  • port:打印出Host主机端口与容器暴露出的端口的NAT映射关系
  • pause / unpause
  • ps:docker ps打印出正在运行的容器,docker ps -a打印出所有运行过的容器。
  • rm:删除指定的容器。
  • rmi:删除Image文件。
  • run:这个命令是核心命令,可以配置的参数多达28个参数。详细的解释可以通过docker run --help列出。
  • start / stop / restart:这组命令可以开启,停止一个容器。
  • tag:使用用户名,Image名字,标签名来组织管理Image。
docker tag [OPTIONS] IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]
  • top:显示容器內运行的进程。
  • wait

[编辑]日志信息相关

e*vents:打印容器实时的系统事件。

  • history:打印指定Image中每一层Image命令行的历史记录。
docker history[OPTIONS] IMAGE
  • logs:批量打印出容器中进程的运行日志。

[编辑]Docker Hub服务相关

  • login
  • pull / push
  • search

[编辑]Boolean

Boolean参数形式如: -d=false。注意,当你声明这个Boolean参数时,比如 docker run -d=true,它将直接把启动的Container挂起放在后台运行。

[编辑]后台进程

Docker后台进程是一个常驻后台的系统进程,值得注意的是Docker使用同一个文件来支持客户端和后台进程,其中角色切换通过-d来实现。这个后台进程是用来管理容器的,使用Docker --help可以得到更详细的功能参数配置

读者可以参考官方的命令行解释文档:http://docs.docker.com/reference/commandline/cli/

[编辑]艺搜参考

http://www.infoq.com/cn/articles/docker-command-line-quest

Docker入门系列4:命令行小结的更多相关文章

  1. Docker入门系列5:常见问题小结

    重启容器 再次运行容器: docker start container_id 然后 docker attach container_id 就可以继续下命令了. [编辑]命名 --name [编辑]端口 ...

  2. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

  3. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  4. Docker入门系列(一):目标和安排

    Docker入门系列(一) 这个系列的教程来源于docker的官方文档,此文档的目的在于一步一步学习docker的使用方法. 这一系列的教程有如下几篇文档: docker安装启动 构建第一个docke ...

  5. Python argparse 处理命令行小结

    Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ...

  6. Docker入门系列之五:15个 Docker 命令

    在这篇文章中,我们将学习15个Dockers CLI命令.如果你还不了解Docker,请查看这个系列的其他部分进行学习,Docker概念,生态系统,Dockerfile,Docker镜像. Docke ...

  7. Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像

    实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...

  8. Docker入门系列之一:在一个Docker容器里运行指定的web应用

    实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...

  9. Docker入门系列1:简介

    可以实现快速部署. 比如一台 16 核 32G 内存的虚拟机上,需要跑 500+ 个用户的应用(每个应用的功能可以认为是一个网站 + 一系列的 RESTful API),有两个事情很重要: 资源隔离: ...

随机推荐

  1. 关于百度富文本编辑器UEdit的初始化内容失败问题

    百度富文本编辑器毫无疑问是强大的,但也会出问题.这个问题是在脚本中普遍存在的,由异步性导致的加载顺序问题. 我们使用 var ue = UE.getEditor('editor', {}); 创建实例 ...

  2. SpringTest(一)

     SpringMvcTest总结: 最近要做单元测试,所以选择的是SpringTest这个测试框架. 1.准备工作.(导入jar包)   因为使用Maven管理jar包,所以在要做单元测试的模块中的p ...

  3. Linux/Unix编程中的线程安全问题【转】

    转自:http://blog.csdn.net/zhengzhoudaxue2/article/details/6432984 在目前的计算机科学中,线程是操作系统调度的最小单元,进程是资源分配的最小 ...

  4. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---44

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. paramiko模块及ssh远程登陆

    ssh实现远程登陆一般有两种方式,一种就是用户密码登陆,另一种是密钥登陆(当然默认是要服务端打开ssh服务). 我这里使用这两种方法操作一下远程登陆,测试客户端是本机的root与jeff用户,远程连接 ...

  6. layui 自定义表单验证 以及提交表单

    订购数量</span> <span style="color: red">*</span>: <input type="text ...

  7. VMware Workstation/Fusion 中安装 Fedora 23/24 及其他 Linux 系统时使用 Open VM Tools 代替 VMware Tools 增强工具的方法

    VMware Workstation/Fusion 分别是 Windows/Linux 和 macOS 下面对应的桌面虚拟化软件.过去,在 VMware 中安装了操作系统虚拟机后,需要在虚拟机中再安装 ...

  8. 四、Ubuntu 一些常用命令

    1.锁定root用户 :sudo passwd -l root 2.解锁root用户 :sudo passwd -u root 3.切换身份:su root  或者  su 其他用户名,然后输入密码, ...

  9. Codeforces Gym100735 D.Triangle Formation (KTU Programming Camp (Day 1) Lithuania, Birˇstonas, August 19, 2015)

    日常训练题解 D.Triangle Formation You are given N wooden sticks. Your task is to determine how many triang ...

  10. 如何使用Ext.create() 调用一个窗体

    Ext.define("Scripts.Code.QM.OutgoingQuality.OQC.ReinspRequest.view.DefectContentsDetailInfoWind ...