我正在尝试使我的应用程序停靠,因为我一直在关注官方的openresty dockerfile。我系统中的Os是Ubuntu 16.04 64位。
我已经使用此cmd拉出该图像。
docker pull openresty/openresty:1.11.2.3-xenial
现在我想使用这个图像并想要简单的hello world应用程序。为此,我创建了我的工作目录,创建一个自定义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 build -t user/openresty .
启动容器
docker run rahul/openresty
当我尝试启动容器时,它给出了一个类似nginx的错误:无效选项:“/ 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 -p 8888: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
答案 0 :(得分:0)
端口设置错误,请看:
博览会8080 != 听8888;