Public | Automated Build

Last pushed: 2 years ago
Short Description
This is very simple Dockerfile and related files for ngx_mruby.
Full Description

Simple Dockerfile for ngx_mruby

This is very simple Dockerfile and related files for ngx_mruby.

Connecting to

matsumotory/ngx-mruby image on Docker Hub

matsumotory/ngx-mruby image on Docker Hub is an official ngx_mruby docker image. This image supports ONBUILD for below commands.

ONBUILD ADD docker/hook /usr/local/nginx/hook
ONBUILD ADD docker/conf /usr/local/nginx/conf
ONBUILD ADD docker/conf/nginx.conf /usr/local/nginx/conf/nginx.conf

So, you can create docker/ directory which include the nginx config files (docker/conf/) and ngx_mruby hook scripts (docker/hook/) into the same directory as Dockerfile before building Dockerfile.

nginx version and modules on matsumotory/ngx-mruby image

We built nginx with ngx_mruby linked with commonly-used some nginx modules.

$ sudo docker run -p 80:80 matsumotory/ngx-mruby /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.7.10
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
TLS SNI support enabled
configure arguments: --add-module=/usr/local/src/ngx_mruby --add-module=/usr/local/src/ngx_mruby/dependence/ngx_devel_kit --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module

Simple Example

prepare nginx config and ngx_mruby hook files

  • current_dir/Dockerfile
    FROM matsumotory/ngx-mruby:latest
    MAINTAINER matsumotory
  • current_dir/docker/conf/nginx.conf
    user daemon;
    daemon off;
    master_process off;
    worker_processes 1;
    error_log stderr;

events {
worker_connections 1024;

http {
server {
listen 80;

    location /mruby-hello {
        mruby_content_handler_code 'Nginx.echo "server ip: #{}: hello ngx_mruby world."';

    location /mruby-test {
        mruby_content_handler /usr/local/nginx/hook/test.rb;

    location / {
        mruby_set_code $backend '["", ""][rand(2)]';
        proxy_pass http://$backend;


- `current_dir/docker/hook/test.rb`
Nginx.echo "This is test for ngx_mruby"

build and run

cd current_dir/
sudo docker build -t local/docker-ngx_mruby .
sudo docker run -p 80:80 -t local/docker-ngx_mruby

access to ngx_mruby

$ curl
server ip: hello ngx_mruby world.
$ curl
This is test for ngx_mruby



under the MIT License:

Docker Pull Command
Source Repository