zoukankan      html  css  js  c++  java
  • Docker入门系列4:命令行小结

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

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

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

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

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

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

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

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

    15673245125_fb6e8f2283_o.jpg

    目录

     [隐藏

    [编辑]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

  • 相关阅读:
    Codeforces Round #383 D
    [HNOI2010]弹飞绵羊
    多项式幂函数(加强版)
    「ZJOI2015」地震后的幻想乡
    [AHOI2013]作业
    MVC3+EF4.1学习系列(九)-----EF4.1其他的一些技巧的使用
    MVC3+EF4.1学习系列(八)-----利用Repository and Unit of Work重构项目
    MVC3+EF4.1学习系列(七)-----EF并发的处理
    MVC3+EF4.1学习系列(六)-----导航属性数据更新的处理
    MVC3+EF4.1学习系列(五)----- EF查找导航属性的几种方式
  • 原文地址:https://www.cnblogs.com/elesos/p/6525136.html
Copyright © 2011-2022 走看看