使用Docker构建你的第一个服务
2017-07-04 10:18
309 查看
1. 感受一下Docker的便捷
项目源码 https://github.com/MoonShining/dockernize-grape-helloworldclone下来以后运行,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学习笔记六 使用Docker构建服务
- 脉冲云[编译构建]服务----使用Dockerfile文件,在线构建Dcoker镜像
- 使用Spring Cloud和Docker构建微服务
- 构建自定义Docker镜像使用ApacheHttp服务的代理功能
- 使用docker scratch 空镜像构建golang docker 服务
- 使用Dockerfile构建支持ssh服务自启动的容器镜像
- 6-使用Docker构建服务
- 使用Spring Cloud和Docker构建微服务架构
- 使用Dockerfile构建支持SSH等服务的CentOS
- 使用docker构建JavaWeb服务
- Docker使用Dockerfile构建微服务发现镜像实例
- 使用Spring Cloud和Docker构建微服务架构
- 使用 Spring Cloud 和 Docker 构建微服务架构
- Docker与微服务-使用Maven插件构建Docker镜像
- 我教你使用Spring Cloud和Docker构建微服务
- 使用Spring Cloud和Docker构建微服务架构
- 使用docker构建简单的本地的mysql服务
- 使用Spring构建第一个RESTful服务
- 第一个SpringBoot web 应用使用maven构建Docker镜像并容器化运行
- 【转】使用Spring Cloud和Docker构建微服务