openrestylapis

lapis docker 运行说明

2018-03-22  本文已影响9人  dalongrong

1. lapis docker 镜像制作

因为openresty新版本一个json库的问题,我们使用的是openresty:1.11.2.1基础镜像

FROM openresty/openresty:1.11.2.1-centos

RUN yum install -y openssl-devel

RUN /usr/local/openresty/luajit/bin/luarocks install luaossl && \

    /usr/local/openresty/luajit/bin/luarocks install lapis

ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin

2. 基本项目

备注:基础镜像可以使用上面构建的,同时可以使已经构建好的

docker pull dalongrong/openrestydemogithub:lapis

lapis项目结构

├── Dockerfile // 项目运行的镜像

├── Dockerfile-base // lapis 镜像基于openresty 官方镜像

├── README.md

└── appdemo    // 基本lapis 项目

    ├── app.lua

    ├── client_body_temp

    ├── config.lua

    ├── fastcgi_temp

    ├── mime.types

    ├── models.lua

    ├── nginx.conf

    ├── nginx.conf.compiled

    ├── proxy_temp

    ├── scgi_temp

    └── uwsgi_temp

3. 项目代码说明

主要是app.lua以及config.lua

app.lua

local lapis=require("lapis")

local db=require("lapis.db")

local app=lapis.Application()

local json=require("cjson");

app:get("/",function()

return "Welcome to Lapis "..require("lapis.version")

end)

app:get("/user",function()

--local res=db.query("SELECT * FROM userdemo")

--return json.encode(res)

local res = db.query("SELECT * FROM userdemo")

return { json = res }

end)

return app

config.lua// 配置数据库访问

local config=require("lapis.config")

config("development", {

mysql={

host="mydb",--changetoyoudatabaseurl

user="root",

password="dalongrong",

database="userapp"

  }

})

Dockerfile

FROM mylapis2:latest

WORKDIR /app

COPY appdemo/ /app

EXPOSE 8080

ENTRYPOINT ["lapis"]

CMD ["server", "development"]

4. 运行

docker build -t  mylapis.

docker run -d -p 8085:8080 mylapis

5. 参考资料

https://github.com/rongfengliang/openrestydemogithub

http://leafo.net/lapis/reference/actions.html#routes-and-url-patterns/route-precedence

https://github.com/rongfengliang/golangmysql-docker

上一篇下一篇

猜你喜欢

热点阅读