From bf6870d37f9ed3a5a7e4f6d74e8f510772097523 Mon Sep 17 00:00:00 2001 From: Mike Dillon Date: Fri, 6 Feb 2015 00:25:18 -0800 Subject: [PATCH] Add Jetty documentation --- jetty/README-short.txt | 1 + jetty/README.md | 86 +++++++++++++++++++++++++++++++++++++++++ jetty/content.md | 43 +++++++++++++++++++++ jetty/license.md | 2 + jetty/logo.png | Bin 0 -> 13002 bytes 5 files changed, 132 insertions(+) create mode 100644 jetty/README-short.txt create mode 100644 jetty/README.md create mode 100644 jetty/content.md create mode 100644 jetty/license.md create mode 100644 jetty/logo.png diff --git a/jetty/README-short.txt b/jetty/README-short.txt new file mode 100644 index 000000000..d566c2022 --- /dev/null +++ b/jetty/README-short.txt @@ -0,0 +1 @@ +Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations. diff --git a/jetty/README.md b/jetty/README.md new file mode 100644 index 000000000..c406f9199 --- /dev/null +++ b/jetty/README.md @@ -0,0 +1,86 @@ +# Supported tags and respective `Dockerfile` links + + + +For more information about this image and its history, please see the [relevant +manifest file +(`library/jetty`)](https://github.com/docker-library/official-images/blob/master/library/jetty) +in the [`docker-library/official-images` GitHub +repo](https://github.com/docker-library/official-images). + +# What is Jetty? + +Jetty is a pure Java-based HTTP (Web) server and Java Servlet container. While +Web Servers are usually associated with serving documents to people, Jetty is +now often used for machine to machine communications, usually within larger +software frameworks. Jetty is developed as a free and open source project as +part of the Eclipse Foundation. The web server is used in products such as +Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache +Spark, Google App Engine, Eclipse, FUSE, Twitter's Streaming API and Zimbra. +Jetty is also the server in open source projects such as Lift, Eucalyptus, +Red5, Hadoop and I2P. Jetty supports the latest Java Servlet API (with JSP +support) as well as protocols SPDY and WebSocket. + +> [wikipedia.org/wiki/Jetty_(web_server)](https://en.wikipedia.org/wiki/Jetty_(web_server)) + +![logo](https://raw.githubusercontent.com/docker-library/docs/master/jetty/logo.png) +Logo © Eclipse Foundation + +# How to use this image. + +Run the default Jetty server (`CMD ["jetty.sh", "run"]`): + + docker run -d jetty:9 + +You can test it by visiting `http://container-ip:8080` in a browser or, if you +need access outside the host, on port 8888: + + docker run -d -p 8888:8080 jetty:9 + +You can then go to `http://localhost:8888` or `http://host-ip:8888` in a +browser. + +The default Jetty environment in the image is: + + JETTY_HOME = /usr/local/jetty + JETTY_CONF = /usr/local/jetty/etc/jetty.conf + JETTY_STATE = /usr/local/jetty/jetty.state + JETTY_ARGS = + JAVA_OPTIONS = + TMPDIR = /tmp + +Webapps can be [deployed](https://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications) +in `/usr/local/jetty/webapps`. + +# License + +View [license information](http://eclipse.org/jetty/licenses.php) for the +software contained in this image. + +# Supported Docker versions + +This image is officially supported on Docker version 1.4.1. + +Support for older versions (down to 1.0) is provided on a best-effort basis. + +# User Feedback + +## Issues + +If you have any problems with or questions about this image, please contact us + through a [GitHub issue](https://github.com/docker-library/jetty/issues). + +You can also reach many of the official image maintainers via the +`#docker-library` IRC channel on [Freenode](https://freenode.net). + +## Contributing + +You are invited to contribute new features, fixes, or updates, large or small; +we are always thrilled to receive pull requests, and do our best to process them +as fast as we can. + +Before you start to code, we recommend discussing your plans +through a [GitHub issue](https://github.com/docker-library/jetty/issues), especially for more ambitious +contributions. This gives other contributors a chance to point you in the right +direction, give you feedback on your design, and help you find out if someone +else is working on the same thing. diff --git a/jetty/content.md b/jetty/content.md new file mode 100644 index 000000000..1e02d694d --- /dev/null +++ b/jetty/content.md @@ -0,0 +1,43 @@ +# What is Jetty? + +Jetty is a pure Java-based HTTP (Web) server and Java Servlet container. While +Web Servers are usually associated with serving documents to people, Jetty is +now often used for machine to machine communications, usually within larger +software frameworks. Jetty is developed as a free and open source project as +part of the Eclipse Foundation. The web server is used in products such as +Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache +Spark, Google App Engine, Eclipse, FUSE, Twitter's Streaming API and Zimbra. +Jetty is also the server in open source projects such as Lift, Eucalyptus, +Red5, Hadoop and I2P. Jetty supports the latest Java Servlet API (with JSP +support) as well as protocols SPDY and WebSocket. + +> [wikipedia.org/wiki/Jetty_(web_server)](https://en.wikipedia.org/wiki/Jetty_(web_server)) + +%%LOGO%% +Logo © Eclipse Foundation + +# How to use this image. + +Run the default Jetty server (`CMD ["jetty.sh", "run"]`): + + docker run -d jetty:9 + +You can test it by visiting `http://container-ip:8080` in a browser or, if you +need access outside the host, on port 8888: + + docker run -d -p 8888:8080 jetty:9 + +You can then go to `http://localhost:8888` or `http://host-ip:8888` in a +browser. + +The default Jetty environment in the image is: + + JETTY_HOME = /usr/local/jetty + JETTY_CONF = /usr/local/jetty/etc/jetty.conf + JETTY_STATE = /usr/local/jetty/jetty.state + JETTY_ARGS = + JAVA_OPTIONS = + TMPDIR = /tmp + +Webapps can be [deployed](https://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications) +in `/usr/local/jetty/webapps`. diff --git a/jetty/license.md b/jetty/license.md new file mode 100644 index 000000000..6ad95f816 --- /dev/null +++ b/jetty/license.md @@ -0,0 +1,2 @@ +View [license information](http://eclipse.org/jetty/licenses.php) for the +software contained in this image. diff --git a/jetty/logo.png b/jetty/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1683ab4155572598499abb80c4e383f648d45c3a GIT binary patch literal 13002 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