照猫画虎,附上原文: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