您的位置:首页 > 运维架构 > Docker

使用Docker构建你的第一个服务

2017-07-04 10:18 309 查看


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 install
rackup -o 0.0.0.0 -p 8080


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

3. Dockerfile

FROM ruby:2.3.1
LABEL maintainer "zhoubjnb@163.com"
WORKDIR /app
ADD . /app
RUN bundle install
EXPOSE 8080
CMD ["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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker 服务