资讯专栏INFORMATION COLUMN

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

Rainie / 1906人阅读

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

通过docker 将 container 执行起来了,不是为了看看容器的状态,而是想使用 container 中的功能.介绍两种方式来使用容器中的功能.

通过端口访问 container 中的服务

通过端口的方式来使用 container 提供的服务是最简单的了.只要通过 -p 或者 --publish 选项来向宿主机暴露服务端口就可以了.

比如我们可以这样在后台启动一个 redis 服务.并将 container 中的 redis 的服务端口6379映射到宿主机上的7788端口.

docker run -d -p 7788:6379 redis 

在宿主机上,我们可以通过下面的命令访问 容器中的服务

redis-cli -p 7788
redis 127.0.0.1:7788>

这里需要注意的是 -p 选项通过:来区别宿主机上的端口和容器中的端口; :前的是宿主机的, :后的是容器的. 如果有多个端口需要映射的话可以多次使用 -p 选项,例如: -p 3008:80 -p 7788:6379 就是将容器中的80,6379端口,分别映射到宿主机的3008和7788端口

通过磁盘映射

例如我们使用 nginx web服务器来提供个静态资源的 web 服务; 静态资源是在宿主机上的, 我们就可以采用磁盘映射的方式来向 container 提供我们的静态资源. 例如当前路径就是本 blog 的 静态 web 资源.

$ls _site
CNAME      css        imgs       node.js    request.js typescript
aftercode  editor     index.html nodejs     stack      unittest
cat2       feed.xml   javascript prototype  test       youtube

我们就可以通过 -v 选项来将当前目录的绝对路径映射到 container 中的 /usr/share/nginx/html.这样 nginx 启动的时候使用的就是我们 _site 文件夹中的静态资源了;当然了最后还要将 nginx 的 80 映射到宿主机的3009端口上,才能在本地 http://127.0.0.1:3009 端口访问 web 服务.

docker run --rm -v $PWD/_site:/usr/share/nginx/html -p 3009:80 nginx

通过 -v 选项主要注意的就是: 宿主机需要映射的地址必须使用绝对地址来指定; 如果需要映射多个路径的可以使用和映射端口的方式通过多个 -v 来完成映射.

希望大家喜欢.

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

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

相关文章

  • [afterCode] docker 成班 5: 组合 container

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

    neuSnail 评论0 收藏0
  • [afterCode] docker 成班 2: container

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

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

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

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

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

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

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

    Charles 评论0 收藏0

发表评论

0条评论

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