博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Docker构建你的第一个服务
阅读量:5906 次
发布时间:2019-06-19

本文共 906 字,大约阅读时间需要 3 分钟。

1. 感受一下Docker的便捷

项目源码 https://github.com/MoonShining/dockernize-grape-helloworld

clone下来以后运行,cd到项目目录下,运行

docker build -t api-sample .docker run -p 8080:8080 api-sample:latest复制代码

就可以访问localhost:8080看到效果了.

2. 具体步骤

  • 使用你喜欢的语言写一个能输出hello world的HTTP服务
  • 告诉docker你需要如何构建这个服务(Dockerfile) 因为Ruby程序员不多,我就不讲解ruby代码了,只需要知道一点.

在clone项目以后运行

bundle installrackup -o 0.0.0.0 -p 8080复制代码

这样就可以在本地直接运行起Ruby版本的hello world了.

3. Dockerfile

FROM ruby:2.3.1LABEL maintainer "zhoubjnb@163.com"WORKDIR /appADD . /appRUN bundle installEXPOSE 8080CMD ["rackup","-o","0.0.0.0","-p","8080"]复制代码

这个配置文件主要做了几件事

  1. 必须指定一个Base Image,我们用ruby:2.3.1这个镜像
  2. 本镜像的维护者信息
  3. 设定一个Docker镜像中的工作目录,作为接下来RUN和CMD指令的运行目录
  4. 把当前目录映射到容器中的/app
  5. 为Ruby工程安装依赖
  6. 暴露容器的8080端口出来
  7. 在容器中运行rackup命令开启服务

这样,无论我们的底层系统是什么,只要安装了Docker,就可以很方便的运行程序,无需关心各种依赖

参考

  • 《微服务架构与实践》 ThoughtWorks中的人写的一本书,很空泛,不推荐阅读...
  • Docker References(Dockerfile的各种指令意义) https://docs.docker.com/engine/reference/builder

转载地址:http://jrcpx.baihongyu.com/

你可能感兴趣的文章
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>