1.第一个命令docker runweb
$ docker run ubuntu /bin/echo 'hello world' hello world
在这个例子中docker
列表项目ubuntu
docker run 运行了一个 containerbash
ubuntu 是一个镜像 ,docker 首先查看镜像的 docker host ,若是这个镜像不存在本地,就回去docker hub 上下载镜像app
/bin/echo 是运行一个命令在新的container中ui
这个 container launches.Docker 建立一个新的ubuntu环境 而且执行/bin/echo 命令 和 打印了命令行
hello wrold
那么这个容器之后发生了什么?docker container 仅仅 运行了一个你指定的命令。所以,上面的例子,当命令运行完毕这个container 立刻中止code
让咱们执行一个新的指令在container 里面orm
$ docker run -t -i ubuntu /bin/bash root@a983f07f87c8:/#
在这个例子中:进程
dcoker run 运行一个 a container ubuntu 它将成为你运行的镜像
-t 标志指定一个伪终端 或者 终端 在container 中 (输入)
-i 标志容许你去 经过抓取容器里面的标准输出(STDIN)来进行交互(输出)
/bin/bash 运行一个bash shll 在咱们的container 里面
这个container launhes . 咱们能看到一个命令行提示
root@af8bae53bdd3:/#
让咱们建立一个容器,做为一个守护进程运行。
$docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" 86e7f1bc29862651ad4bf341099946710543ba5c7030d87701d53437c3621a47
在这个例子中 :
docker run 运行一个container
-d flag 在后台运行这个 container
ubuntu 是要运行的image
最后,咱们指定命令去执行:
/bin/sh -c "while true; do echo hello world; sleep 1; done"
在这个输出,咱们不会看到 hello world ,而是一段很长的字符串
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
这个很长的字符串被成为 container ID,他是惟一标识一个容器,因此咱们能与它一块儿工做。
Note:这个Containe ID 是一个 长 而且笨重的id。后面,咱们将会用短id 和方法 来命名咱们的container,使它们的工做更加简单。
咱们能使用 container ID 去看 咱们的 hello world daemon 到底发生了什么。
首先,咱们 确认咱们的container 还在运行,运行 docker run 命令,docker ps 这个命令查询 Docker 守护形式运行的全部container 的相关信息。(command queries the Docker daemon for information about all the containers it knows about.)
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 86e7f1bc2986 ubuntu "/bin/sh -c 'while tr" 22 minutes ago Up 22 minutes big_lalande
上面的例子中,咱们能看到 咱们的守护进程形式 container。docker ps 返回了一些有用的信息:
86e7f1bc2986 是一个短 变形 的container ID
ubuntu 是被使用的镜像
这个 command ,status 和 assigned(分配的) name big_lalande
Note:Docker 老是自动在container 启动的时候生成名字,咱们将会后面看到怎么指定分配你本身的名字。
如今,咱们知道 容器是运行的。可是它是作了咱们要求它作得了么?咱们将会用使用 docker logs 查看container内部的内容。
$docker logs big_lalande hello world hello world hello world . . .
在上面的例子中:
docker logs 看到了container内部和返回的hello world
Awesome !这个长守护进程 是在工做的 和你刚刚建立了第一个docker化的程序
接下来,运行这个 docker stop 命令去中止咱们 独立的container
docker stop big_lalande big_lalande
docker stop 这个命令 告诉Docker 优雅的关闭正在运行的container 和返回 这个container 名字 并中止它。
让咱们用 docker ps 命令检查
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
咱们的container 被中止了。
下一步:
到目前位置,你用 docker run 命令启动了你的第一个container。你能运行一个能在前台交互运行的容器。你也能运行一个运行在后台的守护进程形式的容器。在本节中你能学到几个命令:
docker ps 列出containers列表
docker logs 显示咱们 container 的容器的标准输出
docker stop 中止运行中的container
Now ,你了解了更多关于docker 的基础,以及一些基本的任务。去“Run a simple application”用Docker client 去 实际构建一个Web应用程序(Go to “Run a simple application“ to actually build a web application with the Docker client.)