资讯专栏INFORMATION COLUMN

1.Hello world in a container

Cheng_Gang / 1499人阅读

摘要:后面,我们将会用短和方法来命名我们的,使它们的工作更加简单。首先,我们确认我们的还在运行,运行命令,这个命令查询守护形式运行的所有的相关信息。让我们用命令检查我们的被停止了。下一步到目前位置,你用命令启动了你的第一个。

Hello world in a container

1.第一个命令docker run

$ docker run  ubuntu  /bin/echo "hello world"
hello world

在这个例子中

列表项目

docker run 运行了一个 container

ubuntu 是一个镜像 ,docker 首先查看镜像的 docker host ,如果这个镜像不存在本地,就回去docker hub 上下载镜像

/bin/echo 是运行一个命令在新的container中

这个 container launches.Docker 创建一个新的ubuntu环境 并且执行/bin/echo 命令 和 打印了

hello wrold

那么这个容器以后发生了什么?docker container 仅仅 运行了一个你指定的命令。因此,上面的例子,当命令运行完毕这个container 马上停止

Run an interactive container (运行一个可交互的container)

让我们执行一个新的指令在container 里面

$ 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:/#
Start a daemonized Hello world (开始一个守护进程的hello world)

让我们创建一个容器,作为一个守护进程运行。

$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.)

原文出处:https://docs.docker.com/engin...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26680.html

相关文章

  • Python 2.7.x 和 Python 3.x 的主要区别

    摘要:跳转到章节预览在中创建迭代对象的用法是非常流行的。循环变量和全局命名空间泄漏好消息在中循环变量不会再导致命名空间泄漏。通过解析用户的输入幸运的是,在中已经解决了把用户的输入存储为一个对象的问题。 注:本文的原文地址为Key differences between Python 2.7.x and Python 3.x 许多 Python 初学者想知道他们应该从 Python ...

    clasnake 评论0 收藏0
  • 新手学Docker(1Hello World

    摘要:经过我们的处理就像在仓库里修改了文件一样,将修改后的打快照固化为,这便是生态的流动源泉。我们启动过的所有的将会在这里显示。输入,这一步我们不仅仅启动了一个,还传输了一个命令进去执行了。我们试着再次启动一个容器。 Docker从哪儿下载? 由于我们访问Docker官网一般情况下会非常慢,所以我们不得不把目光投向国内的镜像站,还好,DaoCloud为我们扫清了一系列障碍,点击前往。 你只需...

    caige 评论0 收藏0
  • 《Kotlin 极简教程 》第4章 基本数据类型与类型系统

    摘要:本章我们来学习一下的基本数据类型与类型系统。字符串就是一个抽象数据类型。如果程序语言的语法中含有类型标记,就称该语言是显式类型化的,否则就称为隐式类型化的。但是,可以把中对应的这几种基本数据类型,理解为的基本类型的装箱类。 第4章 基本数据类型与类型系统 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读...

    MoAir 评论0 收藏0
  • 从docker到istio之二 - 使用compose部署应用

    摘要:使用导出端口,使用挂载数据卷。清理应用使用一键清理应用总结已经实现了容器扩容自动挡更直观的控制容器启动顺序及依赖。从部署到编排,单字面理解,看起来能够维护的容器量都增长了。推荐应用包括多个服务,推荐部署方式就是。前言 容器化,云原生越演越烈,新概念非常之多。信息爆炸的同时,带来层层迷雾。我尝试从扩容出发理解其脉路,经过实践探索,整理形成一个入门教程,包括下面四篇文章。 容器化实践之路-从d...

    yy13818512006 评论0 收藏0
  • python学习笔记1---python的基本数据类型

    摘要:数字整型与浮点型整数没有之分浮点数里面没有单精度和双精度之分表示整除进制进制,进制,进制,进制,,,。。。。 Number:数字 1)整型与浮点型 整数:int(没有short、int、long之分) 浮点数:float(python里面没有单精度和双精度之分) >>> print(hello world) hello world >>> 1 1 >>> 133434 133434 >...

    mgckid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<