Docker用户指南 之(第二步) Hello world

照猫画虎,附上原文:https://docs.docker.com/userguide/dockerizing/ 便于理解。

1. 一个Hello world 后台服务

$ sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
8059bee032bf8926c1d4574fce5f7de65063c5a154b992ac664105a424365ae7

这一串字符叫做 容器ID (container ID)。

首先,执行了docker run 命令后面,用到了 -d 参数 ,-d参数表示docker把容器放到后台运行。

确定镜像: ubuntu:14.04 镜像。

执行的脚本:

/bin/sh -c "while true; do echo hello world; sleep 1; done"

大意就是一个运行着不断输出 hello world的很傻逼的无限循环……

其中结果里面有一个长串,

8059bee032bf8926c1d4574fce5f7de65063c5a154b992ac664105a424365ae7

我们可以使用这个超长字符串查看deamo到底发生了什么。

首先,我们先确定我们的容器是否在运行着,使用如下命令

docker ps

上述命令查询所有 docker daemon的信息。

通过上述命令,我们查到了我们刚刚运行在后台的容器。

$sudo docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
8059bee032bf        ubuntu:14.04        "/bin/sh -c ‘while t   2 minutes ago       Up 2 minutes                            insane_jones

我们看到的容器ID是从超长ID中截取的一段 。另外,我们也可以看到我们之前用的镜像 ubuntu:14.04 ,执行的命令,以及状态,自动分配的名字 insane_jones。

注意:对于我们开启的任何容器,Docker都会自动将其命名。

 $sudo docker logs insane_jones
 hello world
 hello world
 hello world
 ....
 hello world
 $

docker logs 命令用于观察容器并且返回容器的标准输出。上述命令的标准输出是 "hello world"。

到此为止,我们的初步体验已经结束,让我们手工清理我们的容器吧。

命令 docker stop 用来优雅的结束运行中的容器,如果操作成功,该命令将返回容器的名字:

$ sudo docker stop insane_jones
insane_jones

再看看还有没有容器在运行着:

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

果然,我们启动的容器都不见了,perfect 是不是?

至此,helloword例子实验结束,完全OK。

下一步:   继续更高级的任务

时间: 2024-11-10 02:51:02

Docker用户指南 之(第二步) Hello world的相关文章

Docker实用指南:将Python Web应用容器化

Docker实用指南:将Python Web应用容器化 提供 Zstack社区 前言 Web应用随时可能被攻击者利用来夺取整个主机的权限,这是很常见也是很恐怖的一件事.为了更高的安全性,就需要将不同应用之间进行隔离(尤其是在这些应用属于不同的用户的情况下),然而这种隔离的实现一直是个挑战.到目前为止,隔离性的实现方法已经有了很多,然而它们要么太过昂贵(时间的层面以及资源的层面),要么太过复杂(无论对开发者还是对管理员). 本文将讨论如何让"容器化"的Python Web应用跑在安全的沙

Docker配置指南(二):指令集(一)

二.Docker指令集 #由于有一部分指令用到了dockerfile,所以不懂的话,请首先查看dockerfile配置指南一节 attach:    docker attach 允许进入或者直接操作容器     语法:docker attach [OPTIONS] CONTAINER     配置指令:         --help 查看帮助         --no-stdin=false             --sig-proxy=true         用法示例:        [[

Docker入门指南

地址:docker入门指南 更换国内镜像源 docker store地址默认是在国外,下载速度很慢,自行更换国内docker加速地址. 名词解释 image: 镜像containers: 容器docker-machine: docker虚拟主机docker store: docker存储云 术语 Image 和 ContainerImage可以理解为一个系统镜像,Container是Image在运行时的一个状态.如果拿虚拟机作一个比喻的话,Image就是关机状态下的磁盘文件,Container就

Android官方技术文档翻译——Gradle 插件用户指南(4)

近期赶项目,白天基本没时间,仅仅有晚上在家的时候才干看一看.昨天晚上仅仅翻译完了第四章,今天就仅仅发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide. 翻译不易.转载请注明CSDN博客上的出处: http://blog.csdn.net/maosidiaoxian/article/details/4195580

Gradle用户指南(章10:Web应用程序快速入门)

Gradle用户指南(章10:Web应用程序快速入门) 本章正在完善中..... 本章介绍gradle对web应用程序的支持.Gradle为web应用程序开发提供了两个插件:War插件和Jetty插件.War插件扩展了java插件并且能为你的项目构建一个war包.Jetty插件扩展了War插件并且提供了发布你的web项目到Jetty容器中的功能. 构建一个War文件 构建War文件,你需要在项目中添加War插件. 注意:你可以在gradle发布库和源文件的samples/webApplicati

【Flume NG用户指南】(2)构造

作者:周邦涛(Timen) Email:[email protected] 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details/28277575 上一篇请參考[Flume NG用户指南](1)设置 3. 配置 前边的文章已经介绍过了,Flume Agent配置是从一个具有分层属性的Java属性文件格式的文件里读取的. 3.1 定义数据流 要在一个Flume Agent中定义数据流,你须要通过一个Channel将Source和Sin

CecOS v1.4 中文企业云操作系统 管理员及用户指南发布

CecOS 项目团队为了使用者更好的安装.使用,我们整理历史版本资料整理成PDF文档,欢迎大家下载阅览及指正. CecOS v1.4 -管理员指南:下载 CecOS v1.4 -用户指南:下载 OPENFANS 官方邮件:[email protected]   [旨 OPENFANS 官方对外合作等通道] CecOS 官方邮件:[email protected]    [旨 CecOS 项目相关交流通道]

tween.js 用户指南 - 与 Three.js 配合使用的补间动画库

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Learning Three.js - Tween.js for Smooth Animation tween.js 用户指南tween.js u

【Flume NG用户指南】(2)配置

作者:周邦涛(Timen) Email:[email protected] 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details/28277575 上一篇请参考[Flume NG用户指南](1)设置 3. 配置 前边的文章已经介绍过了,Flume Agent配置是从一个具有分层属性的Java属性文件格式的文件中读取的. 3.1 定义数据流 要在一个Flume Agent中定义数据流,你需要通过一个Channel将Source和Sin