标签:docker dockerfile
# Dockerfile to build openresety Installed Containers FROM 192.168.1.67/library/centos7.4:v1 MAINTAINER xiayun <xiay@baomihua.com> #Install necessary tools RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel unzip python-devel #download tar.gz ADD https://openresty.org/download/openresty-1.11.2.5.tar.gz . ADD http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz . ADD https://github.com/loveshell/ngx_lua_waf/archive/master.zip . #unzip RUN tar zxvf ngx_cache_purge-2.3.tar.gz RUN tar -zxvf openresty-1.11.2.5.tar.gz RUN unzip master.zip #install openresety RUN cd openresty-1.11.2.5 && ./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit --add-module=../ngx_cache_purge-2.3/ && gmake && gmake install RUN mkdir /usr/local/openresty/nginx/conf/waf/ RUN cp -r /ngx_lua_waf-master/* /usr/local/openresty/nginx/conf/waf/ RUN mv /usr/local/openresty/nginx/conf/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf.bak COPY .nginx_conf /usr/local/openresty/nginx/conf/nginx.conf #add user nginx RUN useradd -s /sbin/nologin nginx #chown nginx RUN chown -R nginx.nginx /usr/local/openresty/ RUN chown -R nginx.nginx /ngx_cache_purge-2.3 #Expose ports for 80 EXPOSE 80 #start openresty CMD /usr/local/openresty/bin/openresty && tailf /usr/local/openresty/nginx/logs/nginx_error.log附:.nginx_conf 与Dockerfile在同一路径
user nginx nginx; worker_processes 2; error_log /usr/local/openresty/nginx/logs/nginx_error.log error; pid /usr/local/openresty/nginx/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { lua_package_path "/usr/local/openresty/nginx/conf/waf/?.lua"; lua_shared_dict limit 10m; init_by_lua_file /usr/local/openresty/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/openresty/nginx/conf/waf/waf.lua; include mime.types; default_type application/octet-stream; charset utf-8; server_tokens off; log_format main '$host $status [$time_local] $upstream_addr $remote_addr - $remote_user [$time_local] $request_uri ' '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" ' '$bytes_sent $request_time $sent_http_x_cache_hit "$upstream_cache_status"'; log_format log404 '$status [$time_local] $remote_addr $host$request_uri $sent_http_location'; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 300m; sendfile on; fastcgi_intercept_errors on; tcp_nopush on; keepalive_timeout 20; tcp_nodelay on; client_body_timeout 10; client_body_buffer_size 512k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; send_timeout 60; open_file_cache max=200000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; ssi on; ssi_silent_errors on; ssi_types text/shtml; server { listen 80; server_name localhost; index index.html index.htm index.shtml index.php; root /usr/local/openresty/nginx/html; if ($http_user_agent ~* "Baiduspider-render|qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; } } }
标签:docker dockerfile
原文地址:http://blog.51cto.com/linuxerxy/2047812