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

Posted 蜡笔小斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Docker构建你的第一个服务相关的知识,希望对你有一定的参考价值。

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,就可以很方便的运行程序,无需关心各种依赖

参考

以上是关于使用Docker构建你的第一个服务的主要内容,如果未能解决你的问题,请参考以下文章

G021-CON-CKA-DOC-01 急速入门,构建你的第一个 docker 学习环境

Jib构建你的第一个java镜像

Docker容器管理--Dockerfile

docker集群部署:第2部分:容器

docker中使用docker

docker集群部署:第1部分:定位和设置