Run update.sh

This commit is contained in:
Docker Library Bot 2015-10-02 10:01:36 -07:00
parent f30dda2e2a
commit 3dd91c0ed4
2 changed files with 27 additions and 10 deletions

View File

@ -18,19 +18,21 @@ Jetty is a pure Java-based HTTP (Web) server and Java Servlet container. While W
# How to use this image.
Run the default Jetty server:
To run the default Jetty server in the background, use the following command:
```console
$ docker run -d jetty:9
$ docker run -d jetty
```
You can test it by visiting `http://container-ip:8080` in a browser or, if you need access outside the host, on port 8888:
You can test it by visiting `http://container-ip:8080` or `https://container-ip:8443/` in a browser. To expose your Jetty server to outside requests, use a port mapping as follows:
```console
$ docker run -d -p 8888:8080 jetty:9
$ docker run -d -p 80:8080 -p 443:8443 jetty
```
You can then go to `http://localhost:8888` or `http://host-ip:8888` in a browser.
This will map port 8080 inside the container as port 80 on the host and container port 8443 as host port 443. You can then go to `http://host-ip` or `https://host-ip` in a browser.
## Environment
The default Jetty environment in the image is:
@ -49,19 +51,19 @@ For older EOL'd images based on Jetty 7 or Jetty 8, please follow the [legacy in
The configuration of the Jetty server can be reported by running with the `--list-config` option:
```console
$ docker run -d jetty:9 --list-config
$ docker run -d jetty --list-config
```
Configuration such as parameters and additional modules may also be passed in via the command line. For example:
```console
$ docker run -d jetty:9 --modules=jmx jetty.threadPool.maxThreads=500
$ docker run -d jetty --modules=jmx jetty.threadPool.maxThreads=500
```
To update the server configuration in a derived Docker image, the `Dockerfile` may enable additional modules with `RUN` commands like:
```Dockerfile
FROM jetty:9
FROM jetty
RUN java -jar "$JETTY_HOME/start.jar" --add-to-startd=jmx,stats
```
@ -73,11 +75,25 @@ Modules may be configured in a `Dockerfile` by editing the properties in the cor
To run `jetty` as a read-only container, have Docker create the `/tmp/jetty` and `/run/jetty` directories as volumes:
```console
$ docker run -d --read-only -v /tmp/jetty -v /run/jetty jetty:9
$ docker run -d --read-only -v /tmp/jetty -v /run/jetty jetty
```
Since the container is read-only, you'll need to either mount in your webapps directory with `-v /path/to/my/webapps:/var/lib/jetty/webapps` or by populating `/var/lib/jetty/webapps` in a derived image.
## HTTP/2 Support
Starting with version 9.3, Jetty comes with built-in support for HTTP/2. However, due to potential license compatiblity issues with the ALPN library used to implement HTTP/2, the module is not enabled by default. In order to enable HTTP/2 support in a derived `Dockerfile` for private use, you can add a `RUN` command that enables the `http2` module and approve its license as follows:
```Dockerfile
FROM jetty
RUN java -jar \$JETTY_HOME/start.jar --add-to-startd=http2 --approve-all-licenses
```
This will add an `http2.ini` file to the `$JETTY_BASE/start.d` directory and download the required ALPN libraries into `$JETTY_BASE/lib/alpn`, allowing the use of HTTP/2. HTTP/2 connections should be made via the same port as normal HTTPS connections (container port 8443). If you would like to enable the `http2` module via `$JETTY_BASE/start.ini` instead, substitute `--add-to-start` in place of `--add-to-startd` in the `RUN` command above.
Once OpenJDK 9 becomes generally available with built-in support for ALPN, this image will be updated to enable HTTP/2 support by default.
# Security
By default, this image starts as user `root` and uses Jetty's `setuid` module to drop privileges to user `jetty` after initialization. The `JETTY_BASE` directory at `/var/lib/jetty` is owned by `jetty:jetty` (uid 999, gid 999).
@ -85,7 +101,7 @@ By default, this image starts as user `root` and uses Jetty's `setuid` module to
If you would like the image to start immediately as user `jetty` instead of starting as `root`, you can start the container with `-u jetty`:
```console
$ docker run -d -u jetty jetty:9
$ docker run -d -u jetty jetty
```
# License

View File

@ -2,6 +2,7 @@
- [`1.4.5-1-a2bacae`, `1.4.5-1`, `1.4.5`, `1.4` (*1.4/Dockerfile*)](https://github.com/docker-library/logstash/blob/29f240de10ac358dba1bed7e777ab35742029858/1.4/Dockerfile)
- [`1.5.4-1`, `1.5.4`, `1.5`, `1`, `latest` (*1.5/Dockerfile*)](https://github.com/docker-library/logstash/blob/722165120c05043a69c0482d7fecaff404428e51/1.5/Dockerfile)
- [`2.0.0-beta1-1`, `2.0.0-beta1`, `2.0.0`, `2.0` (*2.0/Dockerfile*)](https://github.com/docker-library/logstash/blob/62715f69df799b5feff3e42370bbc6d70f92c7d7/2.0/Dockerfile)
For more information about this image and its history, please see [the relevant manifest file (`library/logstash`)](https://github.com/docker-library/official-images/blob/master/library/logstash). This image is updated via pull requests to [the `docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).