Nginx Openresty Hello world与docker

Nginx Openresty Hello world与docker,nginx,docker,lua,luajit,openresty,Nginx,Docker,Lua,Luajit,Openresty,我正在尝试将我的应用程序归档,因为我一直在关注官方的openresty。我系统中的操作系统是Ubuntu 16.04 64位 我已经用这个命令拉了那个图像 docker pull openresty/openresty:1.11.2.3-xenial 现在,我想使用这个图像,并希望使简单的HelloWorld应用程序。为此,我已经创建了我的工作目录,创建一个自定义dockerfile并用它构建我的自定义映像。最后我运行了这个图像。下面是我的dockerfile内容 FROM openresty

我正在尝试将我的应用程序归档,因为我一直在关注官方的openresty。我系统中的操作系统是Ubuntu 16.04 64位

我已经用这个命令拉了那个图像

docker pull openresty/openresty:1.11.2.3-xenial
现在,我想使用这个图像,并希望使简单的HelloWorld应用程序。为此,我已经创建了我的工作目录,创建一个自定义dockerfile并用它构建我的自定义映像。最后我运行了这个图像。下面是我的dockerfile内容

FROM openresty/openresty:1.11.2.3-xenial

EXPOSE 8080
CMD nginx -p `pwd` -c nginx.conf
nginx.conf

worker_processes  1;
error_log stderr notice;
events {
    worker_connections 1024;
}
http {
    include /usr/local/openresty/nginx/conf/mime.types;
    server {
        listen 8888;
        location / {
            default_type text/html;
            content_by_lua_file "app.lua";
        }
    }
}
app.lua

ngx.say('Hello World!')
ngx.exit(200)
建立形象

docker run -it -p 8888:80 -v /home/software/docker/openresty:/usr/local/openresty/nginx/html:ro openresty/openresty:1.11.2.3-xenial
docker build-t user/openresty.

启动容器

docker run rahul/openresty
当我尝试启动容器时,它会给我一个类似nginx:invalid选项的错误:“/bin/sh”

我不知道我的方向是对的还是错的

更新:

docker run -it -p 8888:80 -v /home/software/docker/openresty:/usr/local/openresty/nginx/html:ro openresty/openresty:1.11.2.3-xenial
我刚刚使用了这个CLI,它开始显示我创建的index.html。我再次尝试使用下面的CLI链接我的自定义nginx.conf,但它不起作用

docker run -it -p 8888:8888 -v /home/software/docker/openresty:/usr/local/openresty/nginx/html:ro -v /home/software/docker/openresty/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro openresty/openresty:1.11.2.3-xenial
docker run-it-p8888:8888-v$(pwd):/app openresty/openresty:1.11.2.3-xenial-p/app-c nginx.conf

使用下面的命令,它开始工作,但有人能解释一下吗

docker run -it -p 8888:8888 -v $(pwd):/app openresty/openresty:1.11.2.3-xenial -p /app -c nginx.conf

您的端口设置错误,请查看:

曝光8080 !=
听8888

您的nginx在8080端口上侦听,但您公开了80端口。第一个示例之所以有效,是因为默认配置侦听80端口。我更新了nginx.conf和第二个CLI。现在它正在工作,但现在它尝试在“/usr/local/openresty/nginx/app.lua”中查找app.lua文件。相反,它应该在/home/software/docker/openresty/app.lua中查找该文件