资讯专栏INFORMATION COLUMN

[afterCode] docker 速成班 2: container

stormjun / 2732人阅读

摘要:本来想在一篇里面就写完所有的内容的但是考虑考虑到文章太长会和风格相背离所以就按连载的形式来容器是物质基础有了这个才能让能运行起来运行起来的称之为容器它使用中的一等公民直接启动使用启动一个容器如果你没有下载过的话会自动下载一个的指定方法和删除

本来想在一篇 blog 里面就写完所有的内容的,但是考虑考虑到文章太长会和 egghead 风格相背离,所以就按连载的形式来.

容器 container

image 是 docker 物质基础,有了这个才能让 docker 能运行起来, 运行起来的 image 称之为容器(container), 它docker 使用中的一等公民.

直接启动 container
// 使用 redis image 启动一个容器, 如果你没有下载过 redis image 的话会自动下载一个.
// image 的指定方法和删除 image 类似, 可以带上 tag 或者直接使用 image id
docker run redis 
后台执行 container

这样启动的 container 直接在前台执行, 通过 ctrl+c 就结束他的执行. 要是想后台执行就可以使用 -d 或者 --detach 来分离到后执行

docker run -d redis
e19308502859150e4480a8da7378884d3eea6269b6e0fe0bf3d458ab3039ae55

命令会返回一段 hash 值,这个其实就是这个正在运行的 container 的 id. 通过 docker ps能查看当前正处于运行状态(Up status)的容器,以及其他一些参数;这里会注意到一个 NAMES 字段, 表示的是这个 container 的名字. 之前执行的命令都没有指定 container 的名字,默认情况下 docker 会采用 形容词_名人名的形式给你的container 命名; 不过你也可以通过 --name 来给自己的 container 起名字.

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                      NAMES
e19308502859        redis                "docker-entrypoint..."   21 minutes ago      Up 21 minutes       6379/tcp                   jovial_leavitt
停止一个 container

停止一个container 可以有两种方式一个是通过 container id 一个通过 name

docker stop jovial_leavitt
docker stop e19308502859
删除一个 container

停止一个容器之后,其实这个容器还是存在宿主机上的, 为什么一个容器停止之后还要保留呢? 考虑一下这种情况,容器意外退出了,你想查明为什么退出;如果容器都删除了,你怎么查呢.

// 查看包括已经停止的container 状态(所有的 container 的状态)
docker ps -a
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                     PORTS                      NAMES
e19308502859        redis                "docker-entrypoint..."   About an hour ago   Exited (0) 3 minutes ago                              jovial_leavitt

删除一个容器和停止容器非常的相似,要把 stop 换成 rm就可以;记住container 是 docker 中的一等公民,所以你的rm是删除一个容器,要删除 image 的时候用的是 rmi 命令

docker rm jovial_leavitt
docker rm e19308502859
一个小 tip

对一个容器的基本操作是流程是启动(run)/停止(stop)/删除(rm);那我如果只是想简单临时的执行下容器的工具,就要使用三个命令非常的麻烦.比如我就想看下 redis 的版本, 可以采用以下的命令. --rm 选项会在 container 退出之后自动删除掉 container, 所以如果说只是为了想快速查看下container 相关的东西的话带上--rm 选项的话还是很方便的.

docker run --rm redis  redis-cli -v
redis-cli 4.0.1

希望大家喜欢.

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

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

相关文章

  • [afterCode] docker 成班 3: 使用 container 中的功能

    摘要:通过将执行起来了不是为了看看容器的状态而是想使用中的功能介绍两种方式来使用容器中的功能通过端口访问中的服务通过端口的方式来使用提供的服务是最简单的了只要通过或者选项来向宿主机暴露服务端口就可以了比如我们可以这样在后台启动一个服务并将中 通过docker 将 container 执行起来了,不是为了看看容器的状态,而是想使用 container 中的功能.介绍两种方式来使用容器中的功能....

    Rainie 评论0 收藏0
  • [afterCode] docker 成班 6: docker-compose

    摘要:通过的我们可以将多个有机的组合起来构建出自己需要的服务但是这里有几个小问题就是不利于分享步骤麻烦需要自己创建指定使用那如何解决上面的两个问题呢第节例子中的服务可以通过创建一个这样的文件来解决通过下面的命令就能将所有需要的启动起来 通过docker 的 network我们可以将多个 container 有机的组合起来构建出自己需要的服务. 但是这里有几个小问题就是 不利于分享. 步骤麻...

    Integ 评论0 收藏0
  • [afterCode] docker 成班 5: 组合 container

    摘要:到现在为止我们会从拉取自己需要的文件并执行起来还会基于已有的来制作自己特殊需要的但是如果我们完成一个功能需要多个组合起来使用该怎么办呢虽然可以通过来制作一个这样的但是如果所有的功能都做在一个中如果有一个模块需呀改变的话就需要重新构建整个作为 到现在为止,我们会从 docker hub 拉取自己需要的 image 文件并执行起来. 还会基于已有的 image 来制作自己特殊需要的 ima...

    neuSnail 评论0 收藏0
  • [afterCode] docker 成班 4: 自建 Image

    摘要:通过能获得很多别人定制好的但是如果自己想制作一个自己容器该怎么弄呢用就像一个脚本文件告诉如何创建一个新的下面举例来用来制作一个服务器的指令刚才提到了社区已经有很多很好用的那我们要构建自己的的话就可以在这些的基础上来做我们要做一个基于的服务器 通过 docker hub 能获得很多别人定制好的image, 但是如果自己想制作一个自己容器该怎么弄呢? 用 Dockerfile Docker...

    Charles 评论0 收藏0
  • [afterCode] docker 成班 7: 实战 构建基于graphtie/grafana监

    摘要:由于公司没有运维又需要监控服务器的一些数据信息想尽快的启动一个数值监控系统技术评估了下打算的方式来建设是一个时间数列数据库并且自带一些简单图形展示功能虽然展示方面不是很完美但是在收集时间数据上非常的方便和简单根据官网的例子只需要一个连接就能 由于公司没有运维, 又需要监控服务器的一些数据信息, 想尽快的启动一个数值监控系统. 技术评估了下打算 graphite + grafana 的...

    jhhfft 评论0 收藏0

发表评论

0条评论

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