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",--change to you database url
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
 
 
 
 

lapis docker 运行说明的更多相关文章

  1. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  2. Docker运行 Mono

    Docker运行 Mono Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个 ...

  3. 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目

    如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...

  4. Docker 运行Tensorboard 和 jupyter的正确方法

    Docker 运行Tensorboard 和 jupyter的正确方法 网上找了很多方法都是jupyter 运行正常但不知道如何打开Tensorboard.折腾了很久,实验很多中方法最终找到了一个正确 ...

  5. 在Linux(Centos7)上使用Docker运行.NetCore

    在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...

  6. 在Windows上使用Docker运行.NetCore

    今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 :1 ...

  7. ASP.NET Core 2.1 使用Docker运行

    重要提示,本文为 ASP.NET Core 2.1 如果你是 2.2 那么请将文中的镜像换为 microsoft/dotnet:2.2.0-aspnetcore-runtime 即可,其他操作一样 1 ...

  8. Docker学习笔记之搭建Docker运行环境

    0x00 概述 既然 Docker 是一款实用软件,我们就不得不先从它的安装说起,只有让 Docker 运行在我们的计算机上,才能更方便我们对 Docker 相关知识和使用方式的学习.得益于与商业性的 ...

  9. nuxt docker 运行

    nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app 是一个很不错的选择 备注: 项目很简单,使用docker && docker-c ...

随机推荐

  1. guava的事件发布订阅功能

    事件的重要性,不用说很重要,在很多时候我们做完一个操作的时候,需要告知另外一个对象让他执行相应操作,比如当用户注册成功的时候,需要抛出一个注册成功的事件,那么有监听器捕获到这个事件,完成后续用户信息初 ...

  2. [嵌入式培训笔记]----Linux命令简介

    Linux文件系统的结构类似一棵树,是从一个树根生长出来的.树根叫做/.从树根长出很多分叉,就这么一直生长下去.我们使用Linux操作系统的时候总是落在某个分叉上.ls命令可以帮助我们查看当前分叉上所 ...

  3. Spoj-COINS-记忆化dp

    COINS - Bytelandian gold coins #dynamic-programming In Byteland they have a very strange monetary sy ...

  4. 使用jQuery插件jRemoteValidate进行远程ajax验证,可以自定义返回的信息

    最近项目中有一个业务是收银员通过输入用户卡号,给用户充值或者消费,但是为了避免误操作(如卡号输错),于是编写了一个远程验证的jQuery插件, 当收银员输入卡号后,失去焦点,立即ajax请求服务器端, ...

  5. docker下rabbitMQ高可用集群部署

    第一步:docker 安装: mac 下安装命令: brew cask install docker 安装完之后查看版本 docker --version 第二步:开始集群搭建: 采用bijukunj ...

  6. RedHat/CentOS 7通过nmcli命令管理网络教程

    Red Hat Enterprise Linux 7 和CentOS 7 的网络管理实际上是对NetworkManager的管理,可通过nmcli命令进行控制,下面小编就给大家介绍下RedHat/Ce ...

  7. linux命令权限

    linux-命令权限 1)   新建用户natasha,uid为1000,gid为555,备注信息为“master” 2)   修改natasha用户的家目录为/Natasha 3)   查看用户信息 ...

  8. 在 Bash on Ubuntu 上安装Nginx

    前言 Win10 上的 Bash on Ubuntu 是个很好用的玩具,让windows开发环境下的人能无缝操练Linux,但是涉及到网络部分还是有很多要该进的地方,比如Nginx的安装就遇到了问题. ...

  9. JS之BOM和DOM(来源、方法、内容、应用)

    1.Javascript组成(此文为转载) JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方 ...

  10. Linux下利用Ret2Libc绕过DEP

    Linux下利用Ret2Libc绕过DEP ⑴.  原理分析: 系统库函数通常是不受DEP(关于DEP,可以查看我之前文章的详细介绍)保护的,所以通过将返回地址指向系统函数可以绕过DEP保护,所以可以 ...