Public | Automated Build

Last pushed: 2 months ago
SourceRef
Dockerfile Location
Docker Tag
Build Created
UTC
master
/
latest
2 years ago
2015-06-16T01:27:18.325Z
Build Code

bfa7grmvpxmvvm7pp3e29we

README

What is nginx?

nginx (pronounced "engine-x") is an open source reverse proxy server for HTTP, HTTPS, SMTP, POP3,
and IMAP protocols, as well as a load balancer, HTTP cache, and a web server (origin server).

TLDR

docker run --name nginx bitnami/nginx

Docker Compose

nginx:
  image: bitnami/nginx

Get this image

The recommended way to get the Bitnami nginx Docker Image is to pull the prebuilt image from the
Docker Hub Registry.

docker pull bitnami/nginx:1.8.0-0

To always get the latest version, pull the latest tag.

docker pull bitnami/nginx:latest

If you wish, you can also build the image yourself.

git clone https://github.com/Bitnami/bitnami-docker-nginx.git
cd docker-nginx
docker build -t bitnami/nginx

Hosting a static website

This nginx image exposes a volume at /app. Content mounted here is served by the default catch-all
virtual host. Mounting an empty directory here will copy the default content to your volume.

docker run -v /path/to/app:/app bitnami/nginx

or using Docker Compose:

nginx:
  image: bitnami/nginx
  volumes:
    - /path/to/app:/app

Accessing your server from the host

To access your web server from your host machine you can ask Docker to map a random port on your
host to ports 80 and 443 exposed in the container.

docker run --name nginx -P bitnami/nginx

Run docker port to determine the random ports Docker assigned.

$ docker port nginx
443/tcp -> 0.0.0.0:32768
80/tcp -> 0.0.0.0:32769

You can also manually specify the ports you want forwarded from your host to the container.

docker run -p 8080:80 8443:443 bitnami/nginx

Access your web server in the browser by navigating to
http://localhost:8080.

Configuration

Adding custom virtual hosts

The default nginx.conf includes virtual hosts placed in /bitnami/nginx/conf/vhosts/*.conf. You can
mount a directory at /bitnami/nginx/conf/vhosts from your host containing your custom virtual
hosts.

docker run -v /path/to/nginx/vhosts:/bitnami/nginx/conf/vhosts bitnami/nginx

or using Docker Compose:

nginx:
  image: bitnami/nginx
  volumes:
    - /path/to/nginx/vhosts:/bitnami/nginx/conf/vhosts

Full configuration

This container looks for configuration in /bitnami/nginx/conf. You can mount a directory there
with your own configuration, or the default configuration will be copied to your directory if it is
empty.

Step 1: Run the nginx image

Run the nginx image, mounting a directory from your host.

docker run --name nginx -v /path/to/nginx/conf:/bitnami/nginx/conf bitnami/nginx

or using Docker Compose:

nginx:
  image: bitnami/nginx
  volumes:
    - /path/to/nginx/conf:/bitnami/nginx/conf

Step 2: Edit the configuration

Edit the configuration on your host using your favorite editor.

vi /path/to/nginx/conf/nginx.conf

Step 4: Restart nginx

After changing the configuration, restart your nginx container for changes to take effect.

docker restart nginx

or using Docker Compose:

docker-compose restart nginx

Reverse proxy to other containers

nginx can be used to reverse proxy to other containers using Docker's linking system. This is
particularly useful if you want to serve dynamic content through an nginx frontend. Bitnami provides
example virtual hosts for all of our runtime containers in /bitnami/nginx/conf/vhosts/.

Further Reading:

Logging

The Bitnami nginx Docker Image supports two different logging modes: logging to stdout, and logging
to a file.

Logging to stdout

The default behavior is to log to stdout, as Docker expects. These will be collected by Docker,
converted to JSON and stored in the host, to be accessible via the docker logs command.

docker logs nginx

or using Docker Compose:

docker-compose logs nginx

This method of logging has the downside of not being easy to manage. Without an easy way to rotate
logs, they could grow exponentially and take up large amounts of disk space on your host.

Logging to file

Run the nginx image, mounting a directory from your host at /bitnami/nginx/logs. This will
instruct the container to send logs to your directory.

docker run --name nginx -v /path/to/nginx/logs:/bitnami/nginx/logs bitnami/nginx

or using Docker Compose:

nginx:
  image: bitnami/nginx
  volumes:
    - /path/to/nginx/logs:/bitnami/nginx/logs

To perform operations (e.g. logrotate) on the logs, mount the same directory in a container designed
to operate on log files, such as logstash.

Maintenance

Backing up your container

To backup your configuration and logs, follow these simple steps:

Step 1: Stop the currently running container

docker stop nginx

or using Docker Compose:

docker-compose stop nginx

Step 2: Run the backup command

We need to mount two volumes in a container we will use to create the backup: a directory on your
host to store the backup in, and the volumes from the container we just stopped so we can access the
data.

docker run --rm -v /path/to/backups:/backups --volumes-from nginx busybox \
  cp -a /bitnami/nginx /backups/latest

or using Docker Compose:

docker run --rm -v /path/to/backups:/backups --volumes-from `docker-compose ps -q nginx` busybox \
  cp -a /bitnami/nginx /backups/latest

Note!
If you only need to backup configuration, you can change the first argument to cp to
/bitnami/nginx/conf.

Restoring a backup

Restoring a backup is as simple as mounting the backup as volumes in the container.

docker run -v /path/to/backups/latest/conf:/bitnami/nginx/conf \
  -v /path/to/backups/latest/logs:/bitnami/nginx/logs \
  bitnami/nginx

or using Docker Compose:

nginx:
  image: bitnami/nginx
  volumes:
    - /path/to/backups/latest/conf:/bitnami/nginx/conf
    - /path/to/backups/latest/logs:/bitnami/nginx/logs

Upgrade this image

Bitnami provides up-to-date versions of nginx, including security patches, soon after they are made
upstream. We recommend that you follow these steps to upgrade your container.

Step 1: Get the updated image

docker pull bitnami/nginx:1.8.0-0

or if you're using Docker Compose, update the value of the image property to
bitnami/nginx:1.8.0-0.

Step 2: Stop and backup the currently running container

Before continuing, you should backup your container's data, configuration and logs, unless you are
mounting these volumes from your host.

Follow the steps on creating a backup.

Step 2: Remove the currently running container

docker rm -v nginx

or using Docker Compose:

docker-compose rm -v nginx

Step 3: Run the new image

Re-create your container from the new image, restoring your backup if
necessary.

docker run --name nginx bitnami/nginx:1.8.0-0

or using Docker Compose:

docker-compose start nginx

Contributing

We'd love for you to contribute to this container. You can request new features by creating an
issue, or submit a
pull request with your contribution.

Issues

If you encountered a problem running this container, you can file an
issue. For us to provide better support,
be sure to include the following information in your issue:

  • Host OS and version
  • Docker version (docker version)
  • Output of docker info
  • Version of this container (echo $BITNAMI_APP_VERSION inside the container)
  • The command you used to run the container, and any relevant output you saw (masking any sensitive
    information)

License

Dockerfile
FROM bitnami/base-ubuntu:14.04 MAINTAINER The Bitnami Team <containers@bitnami.com> ENV BITNAMI_APP_NAME nginx ENV BITNAMI_APP_DIR=$BITNAMI_PREFIX/$BITNAMI_APP_NAME ENV BITNAMI_APP_VERSION 1.8.0-1 ENV BITNAMI_APP_VOL_PREFIX=/bitnami/$BITNAMI_APP_NAME ENV BITNAMI_APP_USER daemon RUN sh $BITNAMI_PREFIX/install.sh COPY vhosts/* $BITNAMI_APP_DIR/conf.defaults/vhosts/ ENV PATH $BITNAMI_APP_DIR/sbin:$BITNAMI_PREFIX/common/bin:$PATH EXPOSE 80 443 VOLUME ["$BITNAMI_APP_VOL_PREFIX/conf", "$BITNAMI_APP_VOL_PREFIX/logs", "/app"] COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["nginx", "-g", "daemon off;"]
Logs

Client version: 1.6.1 Client API version: 1.18 Go version (client): go1.4.2 Git commit (client): 97cd073 OS/Arch (client): linux/amd64 Server version: 1.6.1-rc2 Server API version: 1.18 Go version (server): go1.4.2 Git commit (server): 781b397 OS/Arch (server): linux/amd64 Step 0 : FROM bitnami/base-ubuntu:14.04 8bc603e405e9 Layer already being pulled by another client. Waiting. a873f16e72f3 Verifying Checksum a873f16e72f3 Download complete 6cdb679c95db Verifying Checksum 6cdb679c95db Download complete e28a66ca633a Verifying Checksum e28a66ca633a Download complete 17ae7c253528 Verifying Checksum 17ae7c253528 Download complete 8bc603e405e9 Verifying Checksum 8bc603e405e9 Download complete 8bc603e405e9 Download complete e2d0238409e0 Verifying Checksum e2d0238409e0 Download complete a1ab4a019efb Verifying Checksum a1ab4a019efb Download complete 1a6a2872a6c4 Verifying Checksum 1a6a2872a6c4 Download complete a64ed781dd16 Verifying Checksum a64ed781dd16 Download complete 7b3999518085 Verifying Checksum 7b3999518085 Download complete 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Extracting 7b3999518085 Pull complete a873f16e72f3 Extracting a873f16e72f3 Extracting a873f16e72f3 Pull complete 6cdb679c95db Extracting 6cdb679c95db Extracting 6cdb679c95db Pull complete a1ab4a019efb Extracting a1ab4a019efb Extracting a1ab4a019efb Pull complete a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Extracting a64ed781dd16 Pull complete e28a66ca633a Extracting e28a66ca633a Extracting e28a66ca633a Pull complete 17ae7c253528 Extracting 17ae7c253528 Extracting 17ae7c253528 Pull complete e2d0238409e0 Extracting e2d0238409e0 Extracting e2d0238409e0 Pull complete 1a6a2872a6c4 Extracting 1a6a2872a6c4 Extracting 1a6a2872a6c4 Pull complete 8bc603e405e9 Extracting 8bc603e405e9 Extracting 8bc603e405e9 Pull complete 8bc603e405e9 Already exists Digest: sha256:5ea619bd24681ad317fd7c31dcf8187d86a8dab273a1a99d036df15baf902fe7 Status: Downloaded newer image for bitnami/base-ubuntu:14.04 # Executing 3 build triggers  Trigger 0, COPY help.txt $BITNAMI_PREFIX/help.txt Step 0 : COPY help.txt $BITNAMI_PREFIX/help.txt Trigger 1, COPY installer.run.sha256 /tmp/installer.run.sha256 Step 0 : COPY installer.run.sha256 /tmp/installer.run.sha256 Trigger 2, COPY post-install.sh /tmp/post-install.sh Step 0 : COPY post-install.sh /tmp/post-install.sh ---> 15d302e84582 Step 1 : MAINTAINER The Bitnami Team <containers@bitnami.com> ---> 2b939b3cebe4 Step 2 : ENV BITNAMI_APP_NAME nginx ---> ca99b945d147 Step 3 : ENV BITNAMI_APP_DIR $BITNAMI_PREFIX/$BITNAMI_APP_NAME ---> aba7d64c77ed Step 4 : ENV BITNAMI_APP_VERSION 1.8.0-1 ---> a167053a6e33 Step 5 : ENV BITNAMI_APP_VOL_PREFIX /bitnami/$BITNAMI_APP_NAME ---> 26dc6498f105 Step 6 : ENV BITNAMI_APP_USER daemon ---> d526918cc9e5 Step 7 : RUN sh $BITNAMI_PREFIX/install.sh ===> Downloading Bitnami nginx-1.8.0-1 installer https://downloads.bitnami.com/files/download/containers/nginx/bitnami-nginx-1.8.0-1-container-linux-x64-installer.run          0.0%            0.2 %              0.3%                    0 . 7%        1.2%  #   2.5%  ###       4.2%  ####     6.0%  ######     8.8 %  ######## #     13.5%   ############ #                 18.1%  ### ##############               2 4.6%  ####### ###############         31.0%  #### #######################           38. 4 %  ##### ###########################             44 .9%  ###### ###############################           52.2%  ##### ############### ######################         59.3%  # ########################### ###### ######## #####       66.7%  ### ########################## ######### ####### ##### ###         73. 8%   ######################## ################################ ##   80. 9%  ### ################################################### #########   87.9%  ######## ############################################### ### ##########     94.7%  ############## ########################################################## 10 0.0%   ===> Checking installer integrity ===> Running Bitnami nginx-1.8.0-1 installer sync: ignoring all arguments  ---> f188f7e2706a Step 8 : COPY vhosts/* $BITNAMI_APP_DIR/conf.defaults/vhosts/ ---> 0c522cceb821 Step 9 : ENV PATH $BITNAMI_APP_DIR/sbin:$BITNAMI_PREFIX/common/bin:$PATH ---> 5421c24f18df Step 10 : EXPOSE 80 443 ---> 2da28a7f2270 Step 11 : VOLUME $BITNAMI_APP_VOL_PREFIX/conf $BITNAMI_APP_VOL_PREFIX/logs /app ---> 09ab0b5c617b Step 12 : COPY entrypoint.sh /entrypoint.sh ---> c506520f5cc2 Step 13 : ENTRYPOINT /entrypoint.sh ---> 3fbb57216e8f Step 14 : CMD nginx -g daemon off; ---> 1beb630b6e6f Successfully built 1beb630b6e6f 1beb630b6e6f Image successfully pushed 3fbb57216e8f Image successfully pushed c506520f5cc2 Image successfully pushed 09ab0b5c617b Image successfully pushed 2da28a7f2270 Image successfully pushed 5421c24f18df Image successfully pushed 0c522cceb821 Image successfully pushed f188f7e2706a Image successfully pushed d526918cc9e5 Image successfully pushed 26dc6498f105 Image successfully pushed a167053a6e33 Image successfully pushed aba7d64c77ed Image successfully pushed ca99b945d147 Image successfully pushed 2b939b3cebe4 Image successfully pushed 15d302e84582 Image successfully pushed 56a24965e6ed Image successfully pushed a41489d0c46d Image successfully pushed 8bc603e405e9 Image successfully pushed 1a6a2872a6c4 Image successfully pushed e2d0238409e0 Image successfully pushed 17ae7c253528 Image successfully pushed e28a66ca633a Image successfully pushed a64ed781dd16 Image successfully pushed a1ab4a019efb Image successfully pushed 6cdb679c95db Image successfully pushed a873f16e72f3 Image successfully pushed 7b3999518085 Image successfully pushed