Merge pull request #163 from infosiftr/markdownfmt

markdownfmt
This commit is contained in:
yosifkit 2015-02-13 09:29:15 -08:00
commit 68c90c068c
171 changed files with 2358 additions and 4885 deletions

15
.travis.yml Normal file
View File

@ -0,0 +1,15 @@
language: go
sudo: false
install:
- mkdir -p "${GOPATH%%:*}/src/github.com/shurcooL/markdownfmt"
- git clone https://github.com/tianon/markdownfmt.git "${GOPATH%%:*}/src/github.com/shurcooL/markdownfmt"
- go get -v github.com/shurcooL/markdownfmt
script:
- files="$(find -name '*.md' -print0 | xargs -0 markdownfmt -l)";
if [ "$files" ]; then
echo >&2 "$files";
exit 1;
fi

View File

@ -2,11 +2,7 @@
%%TAGS%%
For more information about this image and its history, please see the [relevant
manifest file
(`library/%%REPO%%`)](https://github.com/docker-library/official-images/blob/master/library/%%REPO%%)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/%%REPO%%`)](https://github.com/docker-library/official-images/blob/master/library/%%REPO%%) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
%%CONTENT%%%%LICENSE%%

107
README.md
View File

@ -1,59 +1,47 @@
# What is this?
This repository contains the docs for each of the Docker official images. See
[docker-library/official-images](https://github.com/docker-library/official-images)
for the configuration how the images are built. To see all of the official
images go to the
[hub](https://registry.hub.docker.com/repos/stackbrew/?&s=alphabetical).
This repository contains the docs for each of the Docker official images. See [docker-library/official-images](https://github.com/docker-library/official-images) for the configuration how the images are built. To see all of the official images go to the [hub](https://registry.hub.docker.com/repos/stackbrew/?&s=alphabetical).
All Markdown files here are run through [tianon's fork of `markdownfmt`](https://github.com/tianon/markdownfmt) (only forked to add some smaller-diff preference and minor DockerHub-compatibility changes), and verified as formatted correctly via Travis-CI.
# How do I add a new image's docs
- create a folder for my image: `mkdir myimage`
- create a `README-short.txt` (required, 100 char max)
- create a `content.md` (required, 80 col wrap)
- create a `license.md` (required, 80 col wrap)
- add a `logo.png` (recommended)
- edit `update.sh` as needed (see below)
- run `./update.sh myimage` to generate `myimage/README.md`
- create a folder for my image: `mkdir myimage`
- create a `README-short.txt` (required, 100 char max)
- create a `content.md` (required)
- create a `license.md` (required)
- add a `logo.png` (recommended)
- edit `update.sh` as needed (see below)
Optionally: (we run this periodically, especially before pushing updated descriptions)
- run `./update.sh myimage` to generate `myimage/README.md`
# What are all these files?
## `update.sh`
This is the main script used to generate the `README.md` files for each image.
The generated file is committed along with the files used to generate it (see
below on what customizations are available). When a new image is added that is
not under the `docker-library` namespace on GitHub, a new entry must be added to
the `otherRepos` array in this script. Accepted arguments are which image(s)
you want to update and no arguments to update all of them.
This is the main script used to generate the `README.md` files for each image. The generated file is committed along with the files used to generate it (see below on what customizations are available). When a new image is added that is not under the `docker-library` namespace on GitHub, a new entry must be added to the `otherRepos` array in this script. Accepted arguments are which image(s) you want to update and no arguments to update all of them.
## `push.pl`
This is used by us to push the actual content of the READMEs to the Docker Hub
as special access is required to modify the Hub description contents.
This is used by us to push the actual content of the READMEs to the Docker Hub as special access is required to modify the Hub description contents.
## `generate-dockerfile-links-partial.sh`
This script is used by `update.sh` to create the "Supported tags and respective
`Dockerfile` links" section of each generated `README.md` from the information
in the [official-images `library/`
manifests](https://github.com/docker-library/official-images/tree/master/library).
This script is used by `update.sh` to create the "Supported tags and respective `Dockerfile` links" section of each generated `README.md` from the information in the [official-images `library/` manifests](https://github.com/docker-library/official-images/tree/master/library).
## `generate-repo-stub-readme.sh`
This is used to generate a simple `README.md` to put in the image's repo.
Argument is the name of the image, like `golang` and it then outputs the readme
to standard out.
This is used to generate a simple `README.md` to put in the image's repo. Argument is the name of the image, like `golang` and it then outputs the readme to standard out.
## `README-template.md` and `user-feedback.md`
These files are the templates used in building the `<image name>/README.md`
file, in combination with the individual image's files.
These files are the templates used in building the `<image name>/README.md` file, in combination with the individual image's files.
## folder `<image name>`
This is where all the partial and generated files for a given image reside, (ex:
`golang/`).
This is where all the partial and generated files for a given image reside, (ex: `golang/`).
## `<image name>/README.md`
@ -61,64 +49,47 @@ This file is generated using `update.sh`.
## `<image name>/content.md`
This file contains the main content of your readme. The basic parts you should
have are a "What Is" section and a "How To" section. See the doc on [Official
Repos](https://docs.docker.com/docker-hub/official_repos/#a-long-description)
for more information on long description. The issues and contribution section
is generated by the script but can be overridden. The following is a basic
layout:
This file contains the main content of your image's long description. The basic parts you should have are a "What Is" section and a "How To" section. See the doc on [Official Repos](https://docs.docker.com/docker-hub/official_repos/#a-long-description) for more information on long description. The issues and contribution section is generated by the script but can be overridden. The following is a basic layout:
# What is XYZ?
// about what the contained software is
%%LOGO%%
# How to use this image
// descriptions and examples of common use cases for the image
// make use of subsections as necessary
# What is XYZ?
// about what the contained software is
%%LOGO%%
# How to use this image
// descriptions and examples of common use cases for the image
// make use of subsections as necessary
## `<image name>/README-short.txt`
This is the short description for the docker hub, limited to 100 characters in a
single line.
This is the short description for the docker hub, limited to 100 characters in a single line.
> Go (golang) is a general purpose, higher-level, imperative programming language.
## `<image name>/logo.png`
Logo for the contained software. Specifications can be found in the docs on
[Official Repos](https://docs.docker.com/docker-hub/official_repos/#a-logo)
Logo for the contained software. Specifications can be found in the docs on [Official Repos](https://docs.docker.com/docker-hub/official_repos/#a-logo)
## `<image name>/license.md`
This file should contain a link to the license for the main software in the
image, wrapped to 80 columns. Here is an example for golang:
This file should contain a link to the license for the main software in the image. Here is an example for `golang`:
View [license information](http://golang.org/LICENSE)
for the software contained in this image.
View [license information](http://golang.org/LICENSE) for the software contained in this image.
## `<image name>/user-feedback.md`
This file is an optional override of the default `user-feedback.md` for those
repositories with different issue and contributing policies.
This file is an optional override of the default `user-feedback.md` for those repositories with different issue and contributing policies.
## `<image name>/mailing-list.md`
This file is snippet that gets inserted into the user feedback section to
provide and extra way to get help, like a mailing list. Here is an example from
the Postgres image:
This file is snippet that gets inserted into the user feedback section to provide and extra way to get help, like a mailing list. Here is an example from the Postgres image:
on the [mailing list](http://www.postgresql.org/community/lists/subscribe/) or
on the [mailing list](http://www.postgresql.org/community/lists/subscribe/) or
# Issues and Contributing
If you would like to make a new Official Image, be sure to follow the
[guidelines](https://docs.docker.com/docker-hub/official_repos/) and talk to
partners@docker.com.
If you would like to make a new Official Image, be sure to follow the [guidelines](https://docs.docker.com/docker-hub/official_repos/) and talk to partners@docker.com.
Feel free to make a pull request for fixes and improvements to current
documentation. For questions or problems on this repo come talk to us via the
`#docker-library` IRC channel on [Freenode](https://freenode.net) or open up an
issue.
Feel free to make a pull request for fixes and improvements to current documentation. For questions or problems on this repo come talk to us via the `#docker-library` IRC channel on [Freenode](https://freenode.net) or open up an issue.

View File

@ -1,29 +1,20 @@
# Supported tags and respective `Dockerfile` links
- [`jessie-curl`, `curl` (*jessie/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/curl/Dockerfile)
- [`jessie-scm`, `scm` (*jessie/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/scm/Dockerfile)
- [`jessie`, `latest` (*jessie/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/Dockerfile)
- [`sid-curl` (*sid/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/curl/Dockerfile)
- [`sid-scm` (*sid/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/scm/Dockerfile)
- [`sid` (*sid/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/Dockerfile)
- [`wheezy-curl` (*wheezy/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/curl/Dockerfile)
- [`wheezy-scm` (*wheezy/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/scm/Dockerfile)
- [`wheezy` (*wheezy/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/Dockerfile)
- [`jessie-curl`, `curl` (*jessie/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/curl/Dockerfile)
- [`jessie-scm`, `scm` (*jessie/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/scm/Dockerfile)
- [`jessie`, `latest` (*jessie/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/jessie/Dockerfile)
- [`sid-curl` (*sid/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/curl/Dockerfile)
- [`sid-scm` (*sid/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/scm/Dockerfile)
- [`sid` (*sid/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/sid/Dockerfile)
- [`wheezy-curl` (*wheezy/curl/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/curl/Dockerfile)
- [`wheezy-scm` (*wheezy/scm/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/scm/Dockerfile)
- [`wheezy` (*wheezy/Dockerfile*)](https://github.com/docker-library/buildpack-deps/blob/a0a59c61102e8b079d568db69368fb89421f75f2/wheezy/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/buildpack-deps`)](https://github.com/docker-library/official-images/blob/master/library/buildpack-deps)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/buildpack-deps`)](https://github.com/docker-library/official-images/blob/master/library/buildpack-deps) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is `buildpack-deps`?
In spirit, `buildpack-deps` is similar to [Heroku's stack
images](https://github.com/heroku/stack-images/blob/master/bin/cedar.sh). It
includes a large number of "development header" packages needed by various
things like Ruby Gems, PyPI modules, etc. For example, `buildpack-deps` would
let you do a `bundle install` in an arbitrary application directory without
knowing beforehand that `ssl.h` is required to build a dependent module.
In spirit, `buildpack-deps` is similar to [Heroku's stack images](https://github.com/heroku/stack-images/blob/master/bin/cedar.sh). It includes a large number of "development header" packages needed by various things like Ruby Gems, PyPI modules, etc. For example, `buildpack-deps` would let you do a `bundle install` in an arbitrary application directory without knowing beforehand that `ssl.h` is required to build a dependent module.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/buildpack-deps/logo.png)
@ -33,33 +24,21 @@ This stack is designed to be the foundation of a language-stack image.
## What's included?
The main tags of this image are the full batteries-included approach. With
them, a majority of arbitrary `gem install` / `npm install` / `pip install`
should be successfull without additional header/development packages.
The main tags of this image are the full batteries-included approach. With them, a majority of arbitrary `gem install` / `npm install` / `pip install` should be successfull without additional header/development packages.
For some language stacks, that doesn't make sense, particularly if linking to
arbitrary external C libraries is much less common (as in Go and Java, for
example), which is where these other smaller variants can come in handy.
For some language stacks, that doesn't make sense, particularly if linking to arbitrary external C libraries is much less common (as in Go and Java, for example), which is where these other smaller variants can come in handy.
### `curl`
This variant includes just the `curl`, `wget`, and `ca-certificates` packages.
This is perfect for cases like the Java JRE, where downloading JARs is very
common and necessary, but checking out code isn't.
This variant includes just the `curl`, `wget`, and `ca-certificates` packages. This is perfect for cases like the Java JRE, where downloading JARs is very common and necessary, but checking out code isn't.
### `scm`
This variant is based on `curl`, but also adds various source control management
tools. As of this writing, the current list of included tools is `bzr`, `git`,
`hg`, and `svn`. Intentionally missing is `cvs` due to the dwindling relevance
it has (sorry CVS). This image is perfect for cases like the Java JDK, where
downloading JARs is very common (hence the `curl` base still), but checking out
code also becomes more common as well (compared to the JRE).
This variant is based on `curl`, but also adds various source control management tools. As of this writing, the current list of included tools is `bzr`, `git`, `hg`, and `svn`. Intentionally missing is `cvs` due to the dwindling relevance it has (sorry CVS). This image is perfect for cases like the Java JDK, where downloading JARs is very common (hence the `curl` base still), but checking out code also becomes more common as well (compared to the JRE).
# License
View [license information](https://www.debian.org/social_contract#guidelines)
for the software contained in this image.
View [license information](https://www.debian.org/social_contract#guidelines) for the software contained in this image.
# Supported Docker versions
@ -71,20 +50,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/buildpack-deps/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/buildpack-deps/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/buildpack-deps/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/buildpack-deps/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.

View File

@ -1,11 +1,6 @@
# What is `buildpack-deps`?
In spirit, `buildpack-deps` is similar to [Heroku's stack
images](https://github.com/heroku/stack-images/blob/master/bin/cedar.sh). It
includes a large number of "development header" packages needed by various
things like Ruby Gems, PyPI modules, etc. For example, `buildpack-deps` would
let you do a `bundle install` in an arbitrary application directory without
knowing beforehand that `ssl.h` is required to build a dependent module.
In spirit, `buildpack-deps` is similar to [Heroku's stack images](https://github.com/heroku/stack-images/blob/master/bin/cedar.sh). It includes a large number of "development header" packages needed by various things like Ruby Gems, PyPI modules, etc. For example, `buildpack-deps` would let you do a `bundle install` in an arbitrary application directory without knowing beforehand that `ssl.h` is required to build a dependent module.
%%LOGO%%
@ -15,25 +10,14 @@ This stack is designed to be the foundation of a language-stack image.
## What's included?
The main tags of this image are the full batteries-included approach. With
them, a majority of arbitrary `gem install` / `npm install` / `pip install`
should be successfull without additional header/development packages.
The main tags of this image are the full batteries-included approach. With them, a majority of arbitrary `gem install` / `npm install` / `pip install` should be successfull without additional header/development packages.
For some language stacks, that doesn't make sense, particularly if linking to
arbitrary external C libraries is much less common (as in Go and Java, for
example), which is where these other smaller variants can come in handy.
For some language stacks, that doesn't make sense, particularly if linking to arbitrary external C libraries is much less common (as in Go and Java, for example), which is where these other smaller variants can come in handy.
### `curl`
This variant includes just the `curl`, `wget`, and `ca-certificates` packages.
This is perfect for cases like the Java JRE, where downloading JARs is very
common and necessary, but checking out code isn't.
This variant includes just the `curl`, `wget`, and `ca-certificates` packages. This is perfect for cases like the Java JRE, where downloading JARs is very common and necessary, but checking out code isn't.
### `scm`
This variant is based on `curl`, but also adds various source control management
tools. As of this writing, the current list of included tools is `bzr`, `git`,
`hg`, and `svn`. Intentionally missing is `cvs` due to the dwindling relevance
it has (sorry CVS). This image is perfect for cases like the Java JDK, where
downloading JARs is very common (hence the `curl` base still), but checking out
code also becomes more common as well (compared to the JRE).
This variant is based on `curl`, but also adds various source control management tools. As of this writing, the current list of included tools is `bzr`, `git`, `hg`, and `svn`. Intentionally missing is `cvs` due to the dwindling relevance it has (sorry CVS). This image is perfect for cases like the Java JDK, where downloading JARs is very common (hence the `curl` base still), but checking out code also becomes more common as well (compared to the JRE).

View File

@ -1,2 +1 @@
View [license information](https://www.debian.org/social_contract#guidelines)
for the software contained in this image.
View [license information](https://www.debian.org/social_contract#guidelines) for the software contained in this image.

View File

@ -1,28 +1,17 @@
# Supported tags and respective `Dockerfile` links
- [`buildroot-2013.08.1` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/220a689ce359914af3e08a698d1d74ec7aa0a444/Dockerfile)
- [`buildroot-2014.02`, `latest` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/91641afe424df5e838bac254d43e09f051ab8c3e/Dockerfile)
- [`ubuntu-12.04` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/4f6cb64c3b3255c58021dc75100da0088796a108/Dockerfile)
- [`ubuntu-14.04` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/ca435164f45c40d761fad9ef9b5a76a6ba0d5f1a/Dockerfile)
- [`buildroot-2013.08.1` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/220a689ce359914af3e08a698d1d74ec7aa0a444/Dockerfile)
- [`buildroot-2014.02`, `latest` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/91641afe424df5e838bac254d43e09f051ab8c3e/Dockerfile)
- [`ubuntu-12.04` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/4f6cb64c3b3255c58021dc75100da0088796a108/Dockerfile)
- [`ubuntu-14.04` (*Dockerfile*)](https://github.com/jpetazzo/docker-busybox/blob/ca435164f45c40d761fad9ef9b5a76a6ba0d5f1a/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/busybox`)](https://github.com/docker-library/official-images/blob/master/library/busybox)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/busybox`)](https://github.com/docker-library/official-images/blob/master/library/busybox) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is BusyBox? The Swiss Army Knife of Embedded Linux
At about 2.5 Mb in size, [BusyBox](http://www.busybox.net/) is a very good
ingredient to craft space-efficient distributions.
At about 2.5 Mb in size, [BusyBox](http://www.busybox.net/) is a very good ingredient to craft space-efficient distributions.
BusyBox combines tiny versions of many common UNIX utilities into a single small
executable. It provides replacements for most of the utilities you usually find
in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer
options than their full-featured GNU cousins; however, the options that are
included provide the expected functionality and behave very much like their GNU
counterparts. BusyBox provides a fairly complete environment for any small or
embedded system.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
> [wikipedia.org/wiki/BusyBox](https://en.wikipedia.org/wiki/BusyBox)
@ -32,39 +21,27 @@ embedded system.
## Run BusyBox shell
docker run -it --rm busybox
docker run -it --rm busybox
This will drop you into an `sh` shell to allow you to do what you want inside a
BusyBox system.
This will drop you into an `sh` shell to allow you to do what you want inside a BusyBox system.
## Create a `Dockerfile` for a binary
FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]
FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]
This `Dockerfile` will allow you to create a minimal image for your statically
compiled binary. You will have to compile the binary in some other place like
another container.
This `Dockerfile` will allow you to create a minimal image for your statically compiled binary. You will have to compile the binary in some other place like another container.
## More about this image
The tags of this image are built using two different methods. The `ubuntu` tags
are using the `busybox-static` package from Ubuntu, adding a few support files
so that it works in Docker. It's super fast to build (a minute or even less).
The `buildroot` tags are going the long way: they use buildroot to craft a whole
filesystem, with busybox but also all required libraries and other support
files. It has a stronger guarantee of "this will work". It is also smaller
because it's using uclibc, however it takes hours to build.
The tags of this image are built using two different methods. The `ubuntu` tags are using the `busybox-static` package from Ubuntu, adding a few support files so that it works in Docker. It's super fast to build (a minute or even less). The `buildroot` tags are going the long way: they use buildroot to craft a whole filesystem, with busybox but also all required libraries and other support files. It has a stronger guarantee of "this will work". It is also smaller because it's using uclibc, however it takes hours to build.
Having two totally different builders means that if one of the goes belly up, we
can always fall-back on the other since this image is used in much of build
testing of `docker` itself.
Having two totally different builders means that if one of the goes belly up, we can always fall-back on the other since this image is used in much of build testing of `docker` itself.
# License
View [license information](http://www.busybox.net/license.html)
for the software contained in this image.
View [license information](http://www.busybox.net/license.html) for the software contained in this image.
# Supported Docker versions
@ -76,20 +53,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/jpetazzo/docker-busybox/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/jpetazzo/docker-busybox/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/jpetazzo/docker-busybox/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/jpetazzo/docker-busybox/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.

View File

@ -1,15 +1,8 @@
# What is BusyBox? The Swiss Army Knife of Embedded Linux
At about 2.5 Mb in size, [BusyBox](http://www.busybox.net/) is a very good
ingredient to craft space-efficient distributions.
At about 2.5 Mb in size, [BusyBox](http://www.busybox.net/) is a very good ingredient to craft space-efficient distributions.
BusyBox combines tiny versions of many common UNIX utilities into a single small
executable. It provides replacements for most of the utilities you usually find
in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer
options than their full-featured GNU cousins; however, the options that are
included provide the expected functionality and behave very much like their GNU
counterparts. BusyBox provides a fairly complete environment for any small or
embedded system.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
> [wikipedia.org/wiki/BusyBox](https://en.wikipedia.org/wiki/BusyBox)
@ -19,31 +12,20 @@ embedded system.
## Run BusyBox shell
docker run -it --rm busybox
docker run -it --rm busybox
This will drop you into an `sh` shell to allow you to do what you want inside a
BusyBox system.
This will drop you into an `sh` shell to allow you to do what you want inside a BusyBox system.
## Create a `Dockerfile` for a binary
FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]
FROM busybox
COPY ./my-static-binary /my-static-binary
CMD ["/my-static-binary"]
This `Dockerfile` will allow you to create a minimal image for your statically
compiled binary. You will have to compile the binary in some other place like
another container.
This `Dockerfile` will allow you to create a minimal image for your statically compiled binary. You will have to compile the binary in some other place like another container.
## More about this image
The tags of this image are built using two different methods. The `ubuntu` tags
are using the `busybox-static` package from Ubuntu, adding a few support files
so that it works in Docker. It's super fast to build (a minute or even less).
The `buildroot` tags are going the long way: they use buildroot to craft a whole
filesystem, with busybox but also all required libraries and other support
files. It has a stronger guarantee of "this will work". It is also smaller
because it's using uclibc, however it takes hours to build.
The tags of this image are built using two different methods. The `ubuntu` tags are using the `busybox-static` package from Ubuntu, adding a few support files so that it works in Docker. It's super fast to build (a minute or even less). The `buildroot` tags are going the long way: they use buildroot to craft a whole filesystem, with busybox but also all required libraries and other support files. It has a stronger guarantee of "this will work". It is also smaller because it's using uclibc, however it takes hours to build.
Having two totally different builders means that if one of the goes belly up, we
can always fall-back on the other since this image is used in much of build
testing of `docker` itself.
Having two totally different builders means that if one of the goes belly up, we can always fall-back on the other since this image is used in much of build testing of `docker` itself.

View File

@ -1,2 +1 @@
View [license information](http://www.busybox.net/license.html)
for the software contained in this image.
View [license information](http://www.busybox.net/license.html) for the software contained in this image.

View File

@ -1,33 +1,17 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `centos7`, `7` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/d2b1f36081f946ea48236d3e7069a10cc7216b46/docker/Dockerfile)
- [`centos6`, `6` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/01f3dc82f23069f0298c236e40e797b782b66f4f/docker/Dockerfile)
- [`centos5`, `5` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/b60ba9719c49307c019be6be6fc9de66ea17cdb7/docker/Dockerfile)
- [`centos7.0.1406`, `7.0.1406` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/78324d2ab4fa3a51af6f8684714897620c8187e2/docker/Dockerfile)
- [`centos6.6`, `6.6` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/093057200201be5b04f19ba68f5ec284d9e6629c/docker/Dockerfile)
- [`centos5.11`, `5.11` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/c22c7dcaa7a852a15f9b97865ba1d93b04b0d5fb/docker/Dockerfile)
- [`latest`, `centos7`, `7` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/d2b1f36081f946ea48236d3e7069a10cc7216b46/docker/Dockerfile)
- [`centos6`, `6` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/01f3dc82f23069f0298c236e40e797b782b66f4f/docker/Dockerfile)
- [`centos5`, `5` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/b60ba9719c49307c019be6be6fc9de66ea17cdb7/docker/Dockerfile)
- [`centos7.0.1406`, `7.0.1406` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/78324d2ab4fa3a51af6f8684714897620c8187e2/docker/Dockerfile)
- [`centos6.6`, `6.6` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/093057200201be5b04f19ba68f5ec284d9e6629c/docker/Dockerfile)
- [`centos5.11`, `5.11` (*docker/Dockerfile*)](https://github.com/CentOS/sig-cloud-instance-images/blob/c22c7dcaa7a852a15f9b97865ba1d93b04b0d5fb/docker/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/centos`)](https://github.com/docker-library/official-images/blob/master/library/centos)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/centos`)](https://github.com/docker-library/official-images/blob/master/library/centos) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# CentOS
CentOS Linux is a community-supported distribution derived from sources
freely provided to the public by [Red Hat](ftp://ftp.redhat.com/pub/redhat/linux/enterprise/)
for Red Hat Enterprise Linux (RHEL). As such, CentOS Linux aims to be
functionally compatible with RHEL. The CentOS Project mainly changes
packages to remove upstream vendor branding and artwork. CentOS Linux
is no-cost and free to redistribute. Each CentOS Linux version is maintained
for up to 10 years (by means of security updates -- the duration of the
support interval by Red Hat has varied over time with respect to Sources
released). A new CentOS Linux version is released approximately every 2 years
and each CentOS Linux version is periodically updated (roughly every 6 months)
to support newer hardware. This results in a secure, low-maintenance,
reliable, predictable, and reproducible Linux environment.
CentOS Linux is a community-supported distribution derived from sources freely provided to the public by [Red Hat](ftp://ftp.redhat.com/pub/redhat/linux/enterprise/) for Red Hat Enterprise Linux (RHEL). As such, CentOS Linux aims to be functionally compatible with RHEL. The CentOS Project mainly changes packages to remove upstream vendor branding and artwork. CentOS Linux is no-cost and free to redistribute. Each CentOS Linux version is maintained for up to 10 years (by means of security updates -- the duration of the support interval by Red Hat has varied over time with respect to Sources released). A new CentOS Linux version is released approximately every 2 years and each CentOS Linux version is periodically updated (roughly every 6 months) to support newer hardware. This results in a secure, low-maintenance, reliable, predictable, and reproducible Linux environment.
> [wiki.centos.org](https://wiki.centos.org/FrontPage)
@ -35,94 +19,69 @@ reliable, predictable, and reproducible Linux environment.
# CentOS image documentation
The `centos:latest` tag is always the most recent version currently
available.
The `centos:latest` tag is always the most recent version currently available.
## Rolling builds
The CentOS Project offers regularly updated images for all active releases.
These images will be updated monthly or as needed for emergency fixes. These
rolling updates are tagged with the major version number only.
For example: `docker pull centos:6` or `docker pull centos:7`
The CentOS Project offers regularly updated images for all active releases. These images will be updated monthly or as needed for emergency fixes. These rolling updates are tagged with the major version number only. For example: `docker pull centos:6` or `docker pull centos:7`
## Minor tags
Additionally, images with minor version tags that correspond to install media
are also offered. **These images DO NOT recieve updates** as they are intended
to match installation iso contents. If you choose to use these images it is
highly recommended that you include `RUN yum -y update && yum clean all`
in your Dockerfile, or otherwise address any potential security concerns.
To use these images, please specify the minor version tag:
Additionally, images with minor version tags that correspond to install media are also offered. **These images DO NOT recieve updates** as they are intended to match installation iso contents. If you choose to use these images it is highly recommended that you include `RUN yum -y update && yum clean all` in your Dockerfile, or otherwise address any potential security concerns. To use these images, please specify the minor version tag:
For example: `docker pull centos:5.11` or `docker pull centos:6.6`
# Package documentation
By default, the CentOS containers are built using yum's `nodocs` option, which
helps reduce the size of the image. If you install a package and discover
files missing, please comment out the line `tsflags=nodocs` in `/etc/yum.conf`
and reinstall your package.
By default, the CentOS containers are built using yum's `nodocs` option, which helps reduce the size of the image. If you install a package and discover files missing, please comment out the line `tsflags=nodocs` in `/etc/yum.conf` and reinstall your package.
# Systemd integration
Currently, systemd in CentOS 7 has been removed and replaced with a
`fakesystemd` package for dependency resolution. This is due to systemd
requiring the `CAP_SYS_ADMIN` capability, as well as being able to read
the host's cgroups. If you wish to replace the fakesystemd package and
use systemd normally, please follow the steps below.
Currently, systemd in CentOS 7 has been removed and replaced with a `fakesystemd` package for dependency resolution. This is due to systemd requiring the `CAP_SYS_ADMIN` capability, as well as being able to read the host's cgroups. If you wish to replace the fakesystemd package and use systemd normally, please follow the steps below.
## Dockerfile for systemd base image
FROM centos:7
MAINTAINER "you" <your@email.here>
ENV container docker
RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
RUN yum -y update; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i ==
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
FROM centos:7
MAINTAINER "you" <your@email.here>
ENV container docker
RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
RUN yum -y update; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i ==
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
This Dockerfile swaps out fakesystemd for the real package, but deletes a
number of unit files which might cause issues. From here, you are ready
to build your base image.
This Dockerfile swaps out fakesystemd for the real package, but deletes a number of unit files which might cause issues. From here, you are ready to build your base image.
docker build --rm -t local/c7-systemd .
docker build --rm -t local/c7-systemd .
## Example systemd enabled app container
In order to use the systemd enabled base container created above, you will
need to create your `Dockerfile` similar to the one below.
In order to use the systemd enabled base container created above, you will need to create your `Dockerfile` similar to the one below.
FROM local/c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]
FROM local/c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]
Build this image:
docker build --rm -t local/c7-systemd-httpd
docker build --rm -t local/c7-systemd-httpd
## Running a systemd enabled app container
In order to run a container with systemd, you will need to use the
`--privileged` option mentioned earlier, as well as mounting the cgroups
volumes from the host. Below is an example command that will run the
systemd enabled httpd container created earlier.
In order to run a container with systemd, you will need to use the `--privileged` option mentioned earlier, as well as mounting the cgroups volumes from the host. Below is an example command that will run the systemd enabled httpd container created earlier.
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd
This container is running with systemd in a limited context, but it must
always be run as a privileged container with the cgroups filesystem mounted.
This container is running with systemd in a limited context, but it must always be run as a privileged container with the cgroups filesystem mounted.
# Supported Docker versions
@ -134,20 +93,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
by submitting a ticket at [https://bugs.centos.org](https://bugs.centos.org) or through a [GitHub issue](https://github.com/CentOS/sig-cloud-instance-images/issues).
If you have any problems with or questions about this image, please contact us by submitting a ticket at [https://bugs.centos.org](https://bugs.centos.org) or through a [GitHub issue](https://github.com/CentOS/sig-cloud-instance-images/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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 by submitting a ticket at [https://bugs.centos.org](https://bugs.centos.org) or
through a [GitHub issue](https://github.com/CentOS/sig-cloud-instance-images/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.
Before you start to code, we recommend discussing your plans by submitting a ticket at [https://bugs.centos.org](https://bugs.centos.org) or through a [GitHub issue](https://github.com/CentOS/sig-cloud-instance-images/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.

View File

@ -1,18 +1,6 @@
# CentOS
CentOS Linux is a community-supported distribution derived from sources
freely provided to the public by [Red Hat](ftp://ftp.redhat.com/pub/redhat/linux/enterprise/)
for Red Hat Enterprise Linux (RHEL). As such, CentOS Linux aims to be
functionally compatible with RHEL. The CentOS Project mainly changes
packages to remove upstream vendor branding and artwork. CentOS Linux
is no-cost and free to redistribute. Each CentOS Linux version is maintained
for up to 10 years (by means of security updates -- the duration of the
support interval by Red Hat has varied over time with respect to Sources
released). A new CentOS Linux version is released approximately every 2 years
and each CentOS Linux version is periodically updated (roughly every 6 months)
to support newer hardware. This results in a secure, low-maintenance,
reliable, predictable, and reproducible Linux environment.
CentOS Linux is a community-supported distribution derived from sources freely provided to the public by [Red Hat](ftp://ftp.redhat.com/pub/redhat/linux/enterprise/) for Red Hat Enterprise Linux (RHEL). As such, CentOS Linux aims to be functionally compatible with RHEL. The CentOS Project mainly changes packages to remove upstream vendor branding and artwork. CentOS Linux is no-cost and free to redistribute. Each CentOS Linux version is maintained for up to 10 years (by means of security updates -- the duration of the support interval by Red Hat has varied over time with respect to Sources released). A new CentOS Linux version is released approximately every 2 years and each CentOS Linux version is periodically updated (roughly every 6 months) to support newer hardware. This results in a secure, low-maintenance, reliable, predictable, and reproducible Linux environment.
> [wiki.centos.org](https://wiki.centos.org/FrontPage)
@ -20,91 +8,66 @@ reliable, predictable, and reproducible Linux environment.
# CentOS image documentation
The `centos:latest` tag is always the most recent version currently
available.
The `centos:latest` tag is always the most recent version currently available.
## Rolling builds
The CentOS Project offers regularly updated images for all active releases.
These images will be updated monthly or as needed for emergency fixes. These
rolling updates are tagged with the major version number only.
For example: `docker pull centos:6` or `docker pull centos:7`
The CentOS Project offers regularly updated images for all active releases. These images will be updated monthly or as needed for emergency fixes. These rolling updates are tagged with the major version number only. For example: `docker pull centos:6` or `docker pull centos:7`
## Minor tags
Additionally, images with minor version tags that correspond to install media
are also offered. **These images DO NOT recieve updates** as they are intended
to match installation iso contents. If you choose to use these images it is
highly recommended that you include `RUN yum -y update && yum clean all`
in your Dockerfile, or otherwise address any potential security concerns.
To use these images, please specify the minor version tag:
Additionally, images with minor version tags that correspond to install media are also offered. **These images DO NOT recieve updates** as they are intended to match installation iso contents. If you choose to use these images it is highly recommended that you include `RUN yum -y update && yum clean all` in your Dockerfile, or otherwise address any potential security concerns. To use these images, please specify the minor version tag:
For example: `docker pull centos:5.11` or `docker pull centos:6.6`
# Package documentation
By default, the CentOS containers are built using yum's `nodocs` option, which
helps reduce the size of the image. If you install a package and discover
files missing, please comment out the line `tsflags=nodocs` in `/etc/yum.conf`
and reinstall your package.
By default, the CentOS containers are built using yum's `nodocs` option, which helps reduce the size of the image. If you install a package and discover files missing, please comment out the line `tsflags=nodocs` in `/etc/yum.conf` and reinstall your package.
# Systemd integration
Currently, systemd in CentOS 7 has been removed and replaced with a
`fakesystemd` package for dependency resolution. This is due to systemd
requiring the `CAP_SYS_ADMIN` capability, as well as being able to read
the host's cgroups. If you wish to replace the fakesystemd package and
use systemd normally, please follow the steps below.
Currently, systemd in CentOS 7 has been removed and replaced with a `fakesystemd` package for dependency resolution. This is due to systemd requiring the `CAP_SYS_ADMIN` capability, as well as being able to read the host's cgroups. If you wish to replace the fakesystemd package and use systemd normally, please follow the steps below.
## Dockerfile for systemd base image
FROM centos:7
MAINTAINER "you" <your@email.here>
ENV container docker
RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
RUN yum -y update; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i ==
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
FROM centos:7
MAINTAINER "you" <your@email.here>
ENV container docker
RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
RUN yum -y update; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i ==
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
This Dockerfile swaps out fakesystemd for the real package, but deletes a
number of unit files which might cause issues. From here, you are ready
to build your base image.
This Dockerfile swaps out fakesystemd for the real package, but deletes a number of unit files which might cause issues. From here, you are ready to build your base image.
docker build --rm -t local/c7-systemd .
docker build --rm -t local/c7-systemd .
## Example systemd enabled app container
In order to use the systemd enabled base container created above, you will
need to create your `Dockerfile` similar to the one below.
In order to use the systemd enabled base container created above, you will need to create your `Dockerfile` similar to the one below.
FROM local/c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]
FROM local/c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]
Build this image:
docker build --rm -t local/c7-systemd-httpd
docker build --rm -t local/c7-systemd-httpd
## Running a systemd enabled app container
In order to run a container with systemd, you will need to use the
`--privileged` option mentioned earlier, as well as mounting the cgroups
volumes from the host. Below is an example command that will run the
systemd enabled httpd container created earlier.
In order to run a container with systemd, you will need to use the `--privileged` option mentioned earlier, as well as mounting the cgroups volumes from the host. Below is an example command that will run the systemd enabled httpd container created earlier.
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd
docker run --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd
This container is running with systemd in a limited context, but it must
always be run as a privileged container with the cgroups filesystem mounted.
This container is running with systemd in a limited context, but it must always be run as a privileged container with the cgroups filesystem mounted.

View File

@ -1,12 +1,8 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `0.3.3` (*Dockerfile*)](https://github.com/ewindisch/docker-cirros/blob/5ef3f5024b0aa80553cc34be9eff6685cb31b458/Dockerfile)
- [`latest`, `0.3.3` (*Dockerfile*)](https://github.com/ewindisch/docker-cirros/blob/5ef3f5024b0aa80553cc34be9eff6685cb31b458/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/cirros`)](https://github.com/docker-library/official-images/blob/master/library/cirros)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/cirros`)](https://github.com/docker-library/official-images/blob/master/library/cirros) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is CirrOS?
@ -26,20 +22,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/ewindisch/docker-cirros/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/ewindisch/docker-cirros/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/ewindisch/docker-cirros/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/ewindisch/docker-cirros/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.

View File

@ -1,20 +1,13 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `lein-2.5.1` (*Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/5c988033c6510c7d91a5f6c7a91b4f63f8f90768/Dockerfile)
- [`lein-2.4.3` (*Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/30ed1b891ea059a33ca56f04ecf6f467bbbd2362/Dockerfile)
- [`latest`, `lein-2.5.1` (*Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/5c988033c6510c7d91a5f6c7a91b4f63f8f90768/Dockerfile)
- [`lein-2.4.3` (*Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/30ed1b891ea059a33ca56f04ecf6f467bbbd2362/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/clojure`)](https://github.com/docker-library/official-images/blob/master/library/clojure)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/clojure`)](https://github.com/docker-library/official-images/blob/master/library/clojure) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Clojure?
Clojure is a dialect of the Lisp programming language. It is a general-purpose
programming language with an emphasis on functional programming. It runs on the
Java Virtual Machine, Common Langauge Runtime, and JavaScript engines. Like
other Lisps, Clojure treats code as data and has a macro system.
Clojure is a dialect of the Lisp programming language. It is a general-purpose programming language with an emphasis on functional programming. It runs on the Java Virtual Machine, Common Langauge Runtime, and JavaScript engines. Like other Lisps, Clojure treats code as data and has a macro system.
> [wikipedia.org/wiki/Clojure](http://en.wikipedia.org/wiki/Clojure)
@ -24,58 +17,44 @@ other Lisps, Clojure treats code as data and has a macro system.
## Start a Lein/Clojure instance in your app
Since the most common way to use Clojure is in conjunction with [Leiningen
(`lein`)](http://leiningen.org/), this image assumes that's how you'll be
working. The most straightforward way to use this image is to add a `Dockerfile`
to an existing Leiningen/Clojure project:
Since the most common way to use Clojure is in conjunction with [Leiningen (`lein`)](http://leiningen.org/), this image assumes that's how you'll be working. The most straightforward way to use this image is to add a `Dockerfile` to an existing Leiningen/Clojure project:
FROM clojure
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD ["lein", "run"]
FROM clojure
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD ["lein", "run"]
Then, run these commands to build and run the image:
docker build -t my-clojure-app .
docker run -it --rm --name my-running-app my-clojure-app
docker build -t my-clojure-app .
docker run -it --rm --name my-running-app my-clojure-app
While the above is the most straightforward example of a `Dockerfile`, it does
have some drawbacks. The `lein run` command will download your dependencies,
compile the project, and then run it. That's a lot of work, all of which you may
not want done every time you run the image. To get around this, you can download
the dependencies and compile the project ahead of time. This will significantly
reduce startup time when you run your image.
While the above is the most straightforward example of a `Dockerfile`, it does have some drawbacks. The `lein run` command will download your dependencies, compile the project, and then run it. That's a lot of work, all of which you may not want done every time you run the image. To get around this, you can download the dependencies and compile the project ahead of time. This will significantly reduce startup time when you run your image.
FROM clojure
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY project.clj /usr/src/app/
RUN lein deps
COPY . /usr/src/app
RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar
CMD ["java", "-jar", "app-standalone.jar"]
FROM clojure
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY project.clj /usr/src/app/
RUN lein deps
COPY . /usr/src/app
RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar
CMD ["java", "-jar", "app-standalone.jar"]
Writing the `Dockerfile` this way will download the dependencies (and cache
them, so they are only re-downloaded when the dependencies change) and then
compile them into a standalone jar ahead of time rather than each time the image
is run.
Writing the `Dockerfile` this way will download the dependencies (and cache them, so they are only re-downloaded when the dependencies change) and then compile them into a standalone jar ahead of time rather than each time the image is run.
You can then build and run the image as above.
## Compile your Lein/Clojure project into a jar from within the container
If you have an existing Lein/Clojure project, it's fairly straightforward to
compile your project into a jar from a container:
If you have an existing Lein/Clojure project, it's fairly straightforward to compile your project into a jar from a container:
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app clojure lein uberjar
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app clojure lein uberjar
This will build your project into a jar file located in your project's
`target/uberjar` directory.
This will build your project into a jar file located in your project's `target/uberjar` directory.
# License
View [license information](http://clojure.org/license)
for the software contained in this image.
View [license information](http://clojure.org/license) for the software contained in this image.
# Supported Docker versions
@ -87,20 +66,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/Quantisan/docker-clojure/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/Quantisan/docker-clojure/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/Quantisan/docker-clojure/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/Quantisan/docker-clojure/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.

View File

@ -1,9 +1,6 @@
# What is Clojure?
Clojure is a dialect of the Lisp programming language. It is a general-purpose
programming language with an emphasis on functional programming. It runs on the
Java Virtual Machine, Common Langauge Runtime, and JavaScript engines. Like
other Lisps, Clojure treats code as data and has a macro system.
Clojure is a dialect of the Lisp programming language. It is a general-purpose programming language with an emphasis on functional programming. It runs on the Java Virtual Machine, Common Langauge Runtime, and JavaScript engines. Like other Lisps, Clojure treats code as data and has a macro system.
> [wikipedia.org/wiki/Clojure](http://en.wikipedia.org/wiki/Clojure)
@ -13,50 +10,37 @@ other Lisps, Clojure treats code as data and has a macro system.
## Start a Lein/Clojure instance in your app
Since the most common way to use Clojure is in conjunction with [Leiningen
(`lein`)](http://leiningen.org/), this image assumes that's how you'll be
working. The most straightforward way to use this image is to add a `Dockerfile`
to an existing Leiningen/Clojure project:
Since the most common way to use Clojure is in conjunction with [Leiningen (`lein`)](http://leiningen.org/), this image assumes that's how you'll be working. The most straightforward way to use this image is to add a `Dockerfile` to an existing Leiningen/Clojure project:
FROM clojure
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD ["lein", "run"]
FROM clojure
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD ["lein", "run"]
Then, run these commands to build and run the image:
docker build -t my-clojure-app .
docker run -it --rm --name my-running-app my-clojure-app
docker build -t my-clojure-app .
docker run -it --rm --name my-running-app my-clojure-app
While the above is the most straightforward example of a `Dockerfile`, it does
have some drawbacks. The `lein run` command will download your dependencies,
compile the project, and then run it. That's a lot of work, all of which you may
not want done every time you run the image. To get around this, you can download
the dependencies and compile the project ahead of time. This will significantly
reduce startup time when you run your image.
While the above is the most straightforward example of a `Dockerfile`, it does have some drawbacks. The `lein run` command will download your dependencies, compile the project, and then run it. That's a lot of work, all of which you may not want done every time you run the image. To get around this, you can download the dependencies and compile the project ahead of time. This will significantly reduce startup time when you run your image.
FROM clojure
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY project.clj /usr/src/app/
RUN lein deps
COPY . /usr/src/app
RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar
CMD ["java", "-jar", "app-standalone.jar"]
FROM clojure
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY project.clj /usr/src/app/
RUN lein deps
COPY . /usr/src/app
RUN mv "$(lein uberjar | sed -n 's/^Created \(.*standalone\.jar\)/\1/p')" app-standalone.jar
CMD ["java", "-jar", "app-standalone.jar"]
Writing the `Dockerfile` this way will download the dependencies (and cache
them, so they are only re-downloaded when the dependencies change) and then
compile them into a standalone jar ahead of time rather than each time the image
is run.
Writing the `Dockerfile` this way will download the dependencies (and cache them, so they are only re-downloaded when the dependencies change) and then compile them into a standalone jar ahead of time rather than each time the image is run.
You can then build and run the image as above.
## Compile your Lein/Clojure project into a jar from within the container
If you have an existing Lein/Clojure project, it's fairly straightforward to
compile your project into a jar from a container:
If you have an existing Lein/Clojure project, it's fairly straightforward to compile your project into a jar from a container:
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app clojure lein uberjar
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app clojure lein uberjar
This will build your project into a jar file located in your project's
`target/uberjar` directory.
This will build your project into a jar file located in your project's `target/uberjar` directory.

View File

@ -1,2 +1 @@
View [license information](http://clojure.org/license)
for the software contained in this image.
View [license information](http://clojure.org/license) for the software contained in this image.

View File

@ -1,19 +1,13 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `0.46`, `0.46.5` (*Dockerfile*)](https://github.com/crate/docker-crate/blob/0.46.5/Dockerfile)
- [`0.45`, `0.45.9` (*Dockerfile*)](https://github.com/crate/docker-crate/blob/0.45.9/Dockerfile)
- [`latest`, `0.46`, `0.46.5` (*Dockerfile*)](https://github.com/crate/docker-crate/blob/0.46.5/Dockerfile)
- [`0.45`, `0.45.9` (*Dockerfile*)](https://github.com/crate/docker-crate/blob/0.45.9/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/crate`)](https://github.com/docker-library/official-images/blob/master/library/crate)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/crate`)](https://github.com/docker-library/official-images/blob/master/library/crate) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Crate?
Crate is an Elastic SQL Data Store. Distributed by design, Crate makes
centralized database servers obsolete. Realtime non-blocking SQL engine with
full blown search. Highly available, massively scalable yet simple to use.
Crate is an Elastic SQL Data Store. Distributed by design, Crate makes centralized database servers obsolete. Realtime non-blocking SQL engine with full blown search. Highly available, massively scalable yet simple to use.
[Crate](https:/crate.io/)
@ -21,82 +15,66 @@ full blown search. Highly available, massively scalable yet simple to use.
## How to use this image
docker run -d -p 4200:4200 -p 4300:4300 crate:latest
docker run -d -p 4200:4200 -p 4300:4300 crate:latest
### Attach persistent data directory
docker run -d -p 4200:4200 -p 4300:4300 -v <data-dir>:/data crate
docker run -d -p 4200:4200 -p 4300:4300 -v <data-dir>:/data crate
### Use custom Crate configuration
docker run -d -p 4200:4200 -p 4300:4300 crate -Des.config=/path/to/crate.yml
docker run -d -p 4200:4200 -p 4300:4300 crate -Des.config=/path/to/crate.yml
Any configuration settings may be specified upon startup using the `-D` option
prefix. For example, configuring the cluster name by using system properties
will work this way:
Any configuration settings may be specified upon startup using the `-D` option prefix. For example, configuring the cluster name by using system properties will work this way:
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.cluster.name=cluster
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.cluster.name=cluster
For further configuration options please refer to the
[Configuration](https://crate.io/docs/stable/configuration.html) section of the
online documentation.
For further configuration options please refer to the [Configuration](https://crate.io/docs/stable/configuration.html) section of the online documentation.
### Environment
To set environment variables for Crate Data you need to use the `--env` option
when starting the docker image.
To set environment variables for Crate Data you need to use the `--env` option when starting the docker image.
For example, setting the heap size:
docker run -d -p 4200:4200 -p 4300:4300 --env CRATE_HEAP_SIZE=32g crate
docker run -d -p 4200:4200 -p 4300:4300 --env CRATE_HEAP_SIZE=32g crate
## Multicast
Crate uses multicast for node discovery by default. However, Docker does only
support multicast on the same host. This means that nodes that are started on
the same host will discover each other automatically, but nodes that are started
on different hosts need unicast enabled.
Crate uses multicast for node discovery by default. However, Docker does only support multicast on the same host. This means that nodes that are started on the same host will discover each other automatically, but nodes that are started on different hosts need unicast enabled.
You can enable unicast in your custom `crate.yml`.
See also: [Crate Multi Node
Setup](https://crate.io/docs/en/latest/best_practice/multi_node_setup.html).
You can enable unicast in your custom `crate.yml`. See also: [Crate Multi Node Setup](https://crate.io/docs/en/latest/best_practice/multi_node_setup.html).
Due to its architecture, Crate publishes the host it runs on for discovery
within the cluster. Since the address of the host inside the docker container
differs from the actual host the docker image is running on, you need to tell
Crate to publish the address of the docker host for discovery.
Due to its architecture, Crate publishes the host it runs on for discovery within the cluster. Since the address of the host inside the docker container differs from the actual host the docker image is running on, you need to tell Crate to publish the address of the docker host for discovery.
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.network.publish_host=host1.example.com:
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.network.publish_host=host1.example.com:
If you change the transport port from the default `4300` to something else,
you also need to pass the publish port to Crate.
If you change the transport port from the default `4300` to something else, you also need to pass the publish port to Crate.
docker run -d -p 4200:4200 -p 4321:4300 crate crate -Des.transport.publish_port=4321
docker run -d -p 4200:4200 -p 4321:4300 crate crate -Des.transport.publish_port=4321
### Example Usage in a Multinode Setup
HOSTS='crate1.example.com:4300,crate2.example.com:4300,crate3.example.com:4300'
HOST=crate1.example.com
docker run -d \
-p 4200:4200 \
-p 4300:4300 \
--name node1 \
--volume /mnt/data:/data \
--env CRATE_HEAP_SIZE=8g \
crate:latest \
crate -Des.cluster.name=cratecluster \
-Des.node.name=crate1 \
-Des.transport.publish_port=4300 \
-Des.network.publish_host=$HOST \
-Des.multicast.enabled=false \
-Des.discovery.zen.ping.unicast.hosts=$HOSTS \
-Des.discovery.zen.minimum_master_nodes=2
HOSTS='crate1.example.com:4300,crate2.example.com:4300,crate3.example.com:4300'
HOST=crate1.example.com
docker run -d \
-p 4200:4200 \
-p 4300:4300 \
--name node1 \
--volume /mnt/data:/data \
--env CRATE_HEAP_SIZE=8g \
crate:latest \
crate -Des.cluster.name=cratecluster \
-Des.node.name=crate1 \
-Des.transport.publish_port=4300 \
-Des.network.publish_host=$HOST \
-Des.multicast.enabled=false \
-Des.discovery.zen.ping.unicast.hosts=$HOSTS \
-Des.discovery.zen.minimum_master_nodes=2
# License
View [license
information](https://github.com/crate/crate/blob/master/LICENSE.txt) for the
software contained in this image.
View [license information](https://github.com/crate/crate/blob/master/LICENSE.txt) for the software contained in this image.
# Supported Docker versions
@ -108,20 +86,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with, or questions about this image, please contact us
through a [GitHub issue](https://github.com/crate/docker-crate/issues).
If you have any problems with, or questions about this image, please contact us through a [GitHub issue](https://github.com/crate/docker-crate/issues).
If you have any questions or suggestions we would be very happy to help you. So,
feel free to swing by our IRC channel `#crate` on
[Freenode](http://freenode.net).
If you have any questions or suggestions we would be very happy to help you. So, feel free to swing by our IRC channel `#crate` on [Freenode](http://freenode.net).
For further information and official contact please visit
[https://crate.io](https://crate.io).
For further information and official contact please visit [https://crate.io](https://crate.io).
## Contributing
You are very welcome to contribute features or fixes! Before we can accept any
pull requests to Crate Data we need you to agree to our
[CLA](https://crate.io/community/contribute/). For further information please
refer to
[CONTRIBUTING.rst](https://github.com/crate/crate/blob/master/CONTRIBUTING.rst).
You are very welcome to contribute features or fixes! Before we can accept any pull requests to Crate Data we need you to agree to our [CLA](https://crate.io/community/contribute/). For further information please refer to [CONTRIBUTING.rst](https://github.com/crate/crate/blob/master/CONTRIBUTING.rst).

View File

@ -1,8 +1,6 @@
# What is Crate?
Crate is an Elastic SQL Data Store. Distributed by design, Crate makes
centralized database servers obsolete. Realtime non-blocking SQL engine with
full blown search. Highly available, massively scalable yet simple to use.
Crate is an Elastic SQL Data Store. Distributed by design, Crate makes centralized database servers obsolete. Realtime non-blocking SQL engine with full blown search. Highly available, massively scalable yet simple to use.
[Crate](https:/crate.io/)
@ -10,73 +8,59 @@ full blown search. Highly available, massively scalable yet simple to use.
## How to use this image
docker run -d -p 4200:4200 -p 4300:4300 crate:latest
docker run -d -p 4200:4200 -p 4300:4300 crate:latest
### Attach persistent data directory
docker run -d -p 4200:4200 -p 4300:4300 -v <data-dir>:/data crate
docker run -d -p 4200:4200 -p 4300:4300 -v <data-dir>:/data crate
### Use custom Crate configuration
docker run -d -p 4200:4200 -p 4300:4300 crate -Des.config=/path/to/crate.yml
docker run -d -p 4200:4200 -p 4300:4300 crate -Des.config=/path/to/crate.yml
Any configuration settings may be specified upon startup using the `-D` option
prefix. For example, configuring the cluster name by using system properties
will work this way:
Any configuration settings may be specified upon startup using the `-D` option prefix. For example, configuring the cluster name by using system properties will work this way:
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.cluster.name=cluster
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.cluster.name=cluster
For further configuration options please refer to the
[Configuration](https://crate.io/docs/stable/configuration.html) section of the
online documentation.
For further configuration options please refer to the [Configuration](https://crate.io/docs/stable/configuration.html) section of the online documentation.
### Environment
To set environment variables for Crate Data you need to use the `--env` option
when starting the docker image.
To set environment variables for Crate Data you need to use the `--env` option when starting the docker image.
For example, setting the heap size:
docker run -d -p 4200:4200 -p 4300:4300 --env CRATE_HEAP_SIZE=32g crate
docker run -d -p 4200:4200 -p 4300:4300 --env CRATE_HEAP_SIZE=32g crate
## Multicast
Crate uses multicast for node discovery by default. However, Docker does only
support multicast on the same host. This means that nodes that are started on
the same host will discover each other automatically, but nodes that are started
on different hosts need unicast enabled.
Crate uses multicast for node discovery by default. However, Docker does only support multicast on the same host. This means that nodes that are started on the same host will discover each other automatically, but nodes that are started on different hosts need unicast enabled.
You can enable unicast in your custom `crate.yml`.
See also: [Crate Multi Node
Setup](https://crate.io/docs/en/latest/best_practice/multi_node_setup.html).
You can enable unicast in your custom `crate.yml`. See also: [Crate Multi Node Setup](https://crate.io/docs/en/latest/best_practice/multi_node_setup.html).
Due to its architecture, Crate publishes the host it runs on for discovery
within the cluster. Since the address of the host inside the docker container
differs from the actual host the docker image is running on, you need to tell
Crate to publish the address of the docker host for discovery.
Due to its architecture, Crate publishes the host it runs on for discovery within the cluster. Since the address of the host inside the docker container differs from the actual host the docker image is running on, you need to tell Crate to publish the address of the docker host for discovery.
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.network.publish_host=host1.example.com:
docker run -d -p 4200:4200 -p 4300:4300 crate crate -Des.network.publish_host=host1.example.com:
If you change the transport port from the default `4300` to something else,
you also need to pass the publish port to Crate.
If you change the transport port from the default `4300` to something else, you also need to pass the publish port to Crate.
docker run -d -p 4200:4200 -p 4321:4300 crate crate -Des.transport.publish_port=4321
docker run -d -p 4200:4200 -p 4321:4300 crate crate -Des.transport.publish_port=4321
### Example Usage in a Multinode Setup
HOSTS='crate1.example.com:4300,crate2.example.com:4300,crate3.example.com:4300'
HOST=crate1.example.com
docker run -d \
-p 4200:4200 \
-p 4300:4300 \
--name node1 \
--volume /mnt/data:/data \
--env CRATE_HEAP_SIZE=8g \
crate:latest \
crate -Des.cluster.name=cratecluster \
-Des.node.name=crate1 \
-Des.transport.publish_port=4300 \
-Des.network.publish_host=$HOST \
-Des.multicast.enabled=false \
-Des.discovery.zen.ping.unicast.hosts=$HOSTS \
-Des.discovery.zen.minimum_master_nodes=2
HOSTS='crate1.example.com:4300,crate2.example.com:4300,crate3.example.com:4300'
HOST=crate1.example.com
docker run -d \
-p 4200:4200 \
-p 4300:4300 \
--name node1 \
--volume /mnt/data:/data \
--env CRATE_HEAP_SIZE=8g \
crate:latest \
crate -Des.cluster.name=cratecluster \
-Des.node.name=crate1 \
-Des.transport.publish_port=4300 \
-Des.network.publish_host=$HOST \
-Des.multicast.enabled=false \
-Des.discovery.zen.ping.unicast.hosts=$HOSTS \
-Des.discovery.zen.minimum_master_nodes=2

View File

@ -1,3 +1 @@
View [license
information](https://github.com/crate/crate/blob/master/LICENSE.txt) for the
software contained in this image.
View [license information](https://github.com/crate/crate/blob/master/LICENSE.txt) for the software contained in this image.

View File

@ -1,19 +1,11 @@
## Issues
If you have any problems with, or questions about this image, please contact us
through a [GitHub issue](https://github.com/crate/docker-crate/issues).
If you have any problems with, or questions about this image, please contact us through a [GitHub issue](https://github.com/crate/docker-crate/issues).
If you have any questions or suggestions we would be very happy to help you. So,
feel free to swing by our IRC channel `#crate` on
[Freenode](http://freenode.net).
If you have any questions or suggestions we would be very happy to help you. So, feel free to swing by our IRC channel `#crate` on [Freenode](http://freenode.net).
For further information and official contact please visit
[https://crate.io](https://crate.io).
For further information and official contact please visit [https://crate.io](https://crate.io).
## Contributing
You are very welcome to contribute features or fixes! Before we can accept any
pull requests to Crate Data we need you to agree to our
[CLA](https://crate.io/community/contribute/). For further information please
refer to
[CONTRIBUTING.rst](https://github.com/crate/crate/blob/master/CONTRIBUTING.rst).
You are very welcome to contribute features or fixes! Before we can accept any pull requests to Crate Data we need you to agree to our [CLA](https://crate.io/community/contribute/). For further information please refer to [CONTRIBUTING.rst](https://github.com/crate/crate/blob/master/CONTRIBUTING.rst).

View File

@ -1,49 +1,24 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `3.1` (*Dockerfile*)](https://github.com/therealprologic/docker-crux/blob/46c53a82b42907e3954c792adb2f47e436b537ba/Dockerfile)
- [`latest`, `3.1` (*Dockerfile*)](https://github.com/therealprologic/docker-crux/blob/46c53a82b42907e3954c792adb2f47e436b537ba/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/crux`)](https://github.com/docker-library/official-images/blob/master/library/crux)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/crux`)](https://github.com/docker-library/official-images/blob/master/library/crux) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is CRUX?
CRUX is a lightweight Linux distribution for the x86-64 architecture targeted at
experienced Linux users. The primary focus of this distribution is "keep it
simple", which it reflects in a simple tar.gz-based package system, BSD-style
initscripts, and a relatively small collection of trimmed packages. The
secondary focus is utilization of new Linux features and recent tools and
libraries. CRUX also has a ports system which makes it easy to install and
upgrade applications.
CRUX is a lightweight Linux distribution for the x86-64 architecture targeted at experienced Linux users. The primary focus of this distribution is "keep it simple", which it reflects in a simple tar.gz-based package system, BSD-style initscripts, and a relatively small collection of trimmed packages. The secondary focus is utilization of new Linux features and recent tools and libraries. CRUX also has a ports system which makes it easy to install and upgrade applications.
# Why use CRUX?
There are many Linux distributions out there these days, so what makes CRUX any
better than the others? The choice of distribution is a matter of taste, really.
Here are a few hints about the tastes and goals of the people behind CRUX. CRUX
is made with simplicity in mind from beginning to end.
There are many Linux distributions out there these days, so what makes CRUX any better than the others? The choice of distribution is a matter of taste, really. Here are a few hints about the tastes and goals of the people behind CRUX. CRUX is made with simplicity in mind from beginning to end.
Making it easy to create new and update old packages is essential; updating a
package in CRUX is often just a matter of typing `pkgmk -d -u`. The usage of
ports helps keep your packages up-to-date; not the latest bleeding-edge-alpha
version, but the latest stable version. Other features include creating packages
optimized for your processor, eg. by compiling with `-march=x86-64`, and
avoiding cluttering the filesystem with files you'll never use, eg.
`/usr/doc/*`, etc. If you need more information about a specific program, other
than information found in the man-page, Google usually knows all about it.
Making it easy to create new and update old packages is essential; updating a package in CRUX is often just a matter of typing `pkgmk -d -u`. The usage of ports helps keep your packages up-to-date; not the latest bleeding-edge-alpha version, but the latest stable version. Other features include creating packages optimized for your processor, eg. by compiling with `-march=x86-64`, and avoiding cluttering the filesystem with files you'll never use, eg. `/usr/doc/*`, etc. If you need more information about a specific program, other than information found in the man-page, Google usually knows all about it.
Finally, it strives to use new features as they become available, as long as
they are consistent with the rest of the goals. In short, CRUX might suit you
very well if you are:
Finally, it strives to use new features as they become available, as long as they are consistent with the rest of the goals. In short, CRUX might suit you very well if you are:
* A somewhat experienced Linux user who wants a clean and solid Linux
distribution as the foundation of your installation.
* A person who prefers editing configuration files with an editor to using a
GUI.
* Someone who does not hesitate to download and compile programs from the
source.
- A somewhat experienced Linux user who wants a clean and solid Linux distribution as the foundation of your installation.
- A person who prefers editing configuration files with an editor to using a GUI.
- Someone who does not hesitate to download and compile programs from the source.
# Supported Docker versions
@ -55,20 +30,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/therealprologic/docker-crux/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/therealprologic/docker-crux/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/therealprologic/docker-crux/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/therealprologic/docker-crux/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.

View File

@ -1,36 +1,15 @@
# What is CRUX?
CRUX is a lightweight Linux distribution for the x86-64 architecture targeted at
experienced Linux users. The primary focus of this distribution is "keep it
simple", which it reflects in a simple tar.gz-based package system, BSD-style
initscripts, and a relatively small collection of trimmed packages. The
secondary focus is utilization of new Linux features and recent tools and
libraries. CRUX also has a ports system which makes it easy to install and
upgrade applications.
CRUX is a lightweight Linux distribution for the x86-64 architecture targeted at experienced Linux users. The primary focus of this distribution is "keep it simple", which it reflects in a simple tar.gz-based package system, BSD-style initscripts, and a relatively small collection of trimmed packages. The secondary focus is utilization of new Linux features and recent tools and libraries. CRUX also has a ports system which makes it easy to install and upgrade applications.
# Why use CRUX?
There are many Linux distributions out there these days, so what makes CRUX any
better than the others? The choice of distribution is a matter of taste, really.
Here are a few hints about the tastes and goals of the people behind CRUX. CRUX
is made with simplicity in mind from beginning to end.
There are many Linux distributions out there these days, so what makes CRUX any better than the others? The choice of distribution is a matter of taste, really. Here are a few hints about the tastes and goals of the people behind CRUX. CRUX is made with simplicity in mind from beginning to end.
Making it easy to create new and update old packages is essential; updating a
package in CRUX is often just a matter of typing `pkgmk -d -u`. The usage of
ports helps keep your packages up-to-date; not the latest bleeding-edge-alpha
version, but the latest stable version. Other features include creating packages
optimized for your processor, eg. by compiling with `-march=x86-64`, and
avoiding cluttering the filesystem with files you'll never use, eg.
`/usr/doc/*`, etc. If you need more information about a specific program, other
than information found in the man-page, Google usually knows all about it.
Making it easy to create new and update old packages is essential; updating a package in CRUX is often just a matter of typing `pkgmk -d -u`. The usage of ports helps keep your packages up-to-date; not the latest bleeding-edge-alpha version, but the latest stable version. Other features include creating packages optimized for your processor, eg. by compiling with `-march=x86-64`, and avoiding cluttering the filesystem with files you'll never use, eg. `/usr/doc/*`, etc. If you need more information about a specific program, other than information found in the man-page, Google usually knows all about it.
Finally, it strives to use new features as they become available, as long as
they are consistent with the rest of the goals. In short, CRUX might suit you
very well if you are:
Finally, it strives to use new features as they become available, as long as they are consistent with the rest of the goals. In short, CRUX might suit you very well if you are:
* A somewhat experienced Linux user who wants a clean and solid Linux
distribution as the foundation of your installation.
* A person who prefers editing configuration files with an editor to using a
GUI.
* Someone who does not hesitate to download and compile programs from the
source.
- A somewhat experienced Linux user who wants a clean and solid Linux distribution as the foundation of your installation.
- A person who prefers editing configuration files with an editor to using a GUI.
- Someone who does not hesitate to download and compile programs from the source.

68
debian/README.md vendored
View File

@ -1,29 +1,21 @@
# Supported tags and respective `Dockerfile` links
- [`8.0`, `8`, `jessie` (*jessie/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/jessie/Dockerfile)
- [`oldstable` (*oldstable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/1d9a53a1df978176649f87b064a006cfda1480f1/oldstable/Dockerfile)
- [`sid` (*sid/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/sid/Dockerfile)
- [`6.0.10`, `6.0`, `6`, `squeeze` (*squeeze/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/1d9a53a1df978176649f87b064a006cfda1480f1/squeeze/Dockerfile)
- [`stable` (*stable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/stable/Dockerfile)
- [`testing` (*testing/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/testing/Dockerfile)
- [`unstable` (*unstable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/unstable/Dockerfile)
- [`7.8`, `7`, `wheezy`, `latest` (*wheezy/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/wheezy/Dockerfile)
- [`rc-buggy` (*debian/rc-buggy/Dockerfile*)](https://github.com/tianon/dockerfiles/blob/90d86ad63c4a06b7d04d14ad830381b876183b3c/debian/rc-buggy/Dockerfile)
- [`experimental` (*debian/experimental/Dockerfile*)](https://github.com/tianon/dockerfiles/blob/90d86ad63c4a06b7d04d14ad830381b876183b3c/debian/experimental/Dockerfile)
- [`8.0`, `8`, `jessie` (*jessie/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/jessie/Dockerfile)
- [`oldstable` (*oldstable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/1d9a53a1df978176649f87b064a006cfda1480f1/oldstable/Dockerfile)
- [`sid` (*sid/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/sid/Dockerfile)
- [`6.0.10`, `6.0`, `6`, `squeeze` (*squeeze/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/1d9a53a1df978176649f87b064a006cfda1480f1/squeeze/Dockerfile)
- [`stable` (*stable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/stable/Dockerfile)
- [`testing` (*testing/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/testing/Dockerfile)
- [`unstable` (*unstable/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/unstable/Dockerfile)
- [`7.8`, `7`, `wheezy`, `latest` (*wheezy/Dockerfile*)](https://github.com/tianon/docker-brew-debian/blob/b6b91ab925802aff7b832127c278aba23d88d3d1/wheezy/Dockerfile)
- [`rc-buggy` (*debian/rc-buggy/Dockerfile*)](https://github.com/tianon/dockerfiles/blob/90d86ad63c4a06b7d04d14ad830381b876183b3c/debian/rc-buggy/Dockerfile)
- [`experimental` (*debian/experimental/Dockerfile*)](https://github.com/tianon/dockerfiles/blob/90d86ad63c4a06b7d04d14ad830381b876183b3c/debian/experimental/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/debian`)](https://github.com/docker-library/official-images/blob/master/library/debian)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/debian`)](https://github.com/docker-library/official-images/blob/master/library/debian) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Debian?
Debian is an operating system which is composed primarily of free and
open-source software, most of which is under the GNU General Public License, and
developed by a group of individuals known as the Debian project. Debian is one
of the most popular Linux distributions for personal computers and network
servers, and has been used as a base for several other Linux distributions.
Debian is an operating system which is composed primarily of free and open-source software, most of which is under the GNU General Public License, and developed by a group of individuals known as the Debian project. Debian is one of the most popular Linux distributions for personal computers and network servers, and has been used as a base for several other Linux distributions.
> [wikipedia.org/wiki/Debian](https://en.wikipedia.org/wiki/Debian)
@ -31,25 +23,19 @@ servers, and has been used as a base for several other Linux distributions.
# About this image
The `debian:latest` tag will always point the latest stable release (which is,
at the time of this writing, `debian:wheezy`). Stable releases are also tagged
with their version (ie, `debian:wheezy` is currently also the same as
`debian:7.4`).
The `debian:latest` tag will always point the latest stable release (which is, at the time of this writing, `debian:wheezy`). Stable releases are also tagged with their version (ie, `debian:wheezy` is currently also the same as `debian:7.4`).
The rolling tags (`debian:stable`, `debian:testing`, etc) use the rolling suite
names in their `/etc/apt/sources.list` file (ie, `deb
The rolling tags (`debian:stable`, `debian:testing`, etc) use the rolling suite names in their `/etc/apt/sources.list` file (ie, `deb
http://http.debian.net/debian testing main`).
## sources.list
The mirror of choice for these images is
[http.debian.net](http://http.debian.net) so that it's as close to optimal for
everyone as possible, regardless of location.
The mirror of choice for these images is [http.debian.net](http://http.debian.net) so that it's as close to optimal for everyone as possible, regardless of location.
$ docker run debian:wheezy cat /etc/apt/sources.list
deb http://http.debian.net/debian wheezy main
deb http://http.debian.net/debian wheezy-updates main
deb http://security.debian.org/ wheezy/updates main
$ docker run debian:wheezy cat /etc/apt/sources.list
deb http://http.debian.net/debian wheezy main
deb http://http.debian.net/debian wheezy-updates main
deb http://security.debian.org/ wheezy/updates main
# Supported Docker versions
@ -61,20 +47,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/tianon/docker-brew-debian/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/tianon/docker-brew-debian/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/tianon/docker-brew-debian/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/tianon/docker-brew-debian/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.

26
debian/content.md vendored
View File

@ -1,10 +1,6 @@
# What is Debian?
Debian is an operating system which is composed primarily of free and
open-source software, most of which is under the GNU General Public License, and
developed by a group of individuals known as the Debian project. Debian is one
of the most popular Linux distributions for personal computers and network
servers, and has been used as a base for several other Linux distributions.
Debian is an operating system which is composed primarily of free and open-source software, most of which is under the GNU General Public License, and developed by a group of individuals known as the Debian project. Debian is one of the most popular Linux distributions for personal computers and network servers, and has been used as a base for several other Linux distributions.
> [wikipedia.org/wiki/Debian](https://en.wikipedia.org/wiki/Debian)
@ -12,22 +8,16 @@ servers, and has been used as a base for several other Linux distributions.
# About this image
The `debian:latest` tag will always point the latest stable release (which is,
at the time of this writing, `debian:wheezy`). Stable releases are also tagged
with their version (ie, `debian:wheezy` is currently also the same as
`debian:7.4`).
The `debian:latest` tag will always point the latest stable release (which is, at the time of this writing, `debian:wheezy`). Stable releases are also tagged with their version (ie, `debian:wheezy` is currently also the same as `debian:7.4`).
The rolling tags (`debian:stable`, `debian:testing`, etc) use the rolling suite
names in their `/etc/apt/sources.list` file (ie, `deb
The rolling tags (`debian:stable`, `debian:testing`, etc) use the rolling suite names in their `/etc/apt/sources.list` file (ie, `deb
http://http.debian.net/debian testing main`).
## sources.list
The mirror of choice for these images is
[http.debian.net](http://http.debian.net) so that it's as close to optimal for
everyone as possible, regardless of location.
The mirror of choice for these images is [http.debian.net](http://http.debian.net) so that it's as close to optimal for everyone as possible, regardless of location.
$ docker run debian:wheezy cat /etc/apt/sources.list
deb http://http.debian.net/debian wheezy main
deb http://http.debian.net/debian wheezy-updates main
deb http://security.debian.org/ wheezy/updates main
$ docker run debian:wheezy cat /etc/apt/sources.list
deb http://http.debian.net/debian wheezy main
deb http://http.debian.net/debian wheezy-updates main
deb http://security.debian.org/ wheezy/updates main

View File

@ -1,22 +1,15 @@
# Supported tags and respective `Dockerfile` links
- [`1.7.4-python2`, `1.7-python2`, `1-python2`, `python2` (*2.7/Dockerfile*)](https://github.com/docker-library/django/blob/982093f2ab178efc3a7ba9da051a8a7b6a142904/2.7/Dockerfile)
- [`python2-onbuild` (*2.7/onbuild/Dockerfile*)](https://github.com/docker-library/django/blob/e9721656ef7a246e6edb95b401d324dd2c6e310a/2.7/onbuild/Dockerfile)
- [`1.7.4-python3`, `1.7.4`, `1.7-python3`, `1.7`, `1-python3`, `1`, `python3`, `latest` (*3.4/Dockerfile*)](https://github.com/docker-library/django/blob/982093f2ab178efc3a7ba9da051a8a7b6a142904/3.4/Dockerfile)
- [`python3-onbuild`, `onbuild` (*3.4/onbuild/Dockerfile*)](https://github.com/docker-library/django/blob/e9721656ef7a246e6edb95b401d324dd2c6e310a/3.4/onbuild/Dockerfile)
- [`1.7.4-python2`, `1.7-python2`, `1-python2`, `python2` (*2.7/Dockerfile*)](https://github.com/docker-library/django/blob/982093f2ab178efc3a7ba9da051a8a7b6a142904/2.7/Dockerfile)
- [`python2-onbuild` (*2.7/onbuild/Dockerfile*)](https://github.com/docker-library/django/blob/e9721656ef7a246e6edb95b401d324dd2c6e310a/2.7/onbuild/Dockerfile)
- [`1.7.4-python3`, `1.7.4`, `1.7-python3`, `1.7`, `1-python3`, `1`, `python3`, `latest` (*3.4/Dockerfile*)](https://github.com/docker-library/django/blob/982093f2ab178efc3a7ba9da051a8a7b6a142904/3.4/Dockerfile)
- [`python3-onbuild`, `onbuild` (*3.4/onbuild/Dockerfile*)](https://github.com/docker-library/django/blob/e9721656ef7a246e6edb95b401d324dd2c6e310a/3.4/onbuild/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/django`)](https://github.com/docker-library/official-images/blob/master/library/django)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/django`)](https://github.com/docker-library/official-images/blob/master/library/django) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Django?
Django is a free and open source web application framework, written in Python,
which follows the model-view-controller architectural pattern. Django's primary
goal is to ease the creation of complex, database-driven websites with an
emphasis on reusability and "pluggability" of components.
Django is a free and open source web application framework, written in Python, which follows the model-view-controller architectural pattern. Django's primary goal is to ease the creation of complex, database-driven websites with an emphasis on reusability and "pluggability" of components.
> [wikipedia.org/wiki/Django_(web_framework)](https://en.wikipedia.org/wiki/Django_%28web_framework%29)
@ -26,45 +19,38 @@ emphasis on reusability and "pluggability" of components.
## Create a `Dockerfile` in your Django app project
FROM django:onbuild
FROM django:onbuild
Put this file in the root of your app, next to the `requirements.txt`.
This image includes multiple `ONBUILD` triggers which should cover most
applications. The build will `COPY . /usr/src/app`, `RUN pip install`,
`EXPOSE 8000`, and set the default command to `python manage.py runserver`.
This image includes multiple `ONBUILD` triggers which should cover most applications. The build will `COPY . /usr/src/app`, `RUN pip install`, `EXPOSE 8000`, and set the default command to `python manage.py runserver`.
You can then build and run the Docker image:
docker build -t my-django-app .
docker run --name some-django-app -d my-django-app
docker build -t my-django-app .
docker run --name some-django-app -d my-django-app
You can test it by visiting `http://container-ip:8000` in a browser or, if you
need access outside the host, on `http://localhost:8000` with the following command:
You can test it by visiting `http://container-ip:8000` in a browser or, if you need access outside the host, on `http://localhost:8000` with the following command:
docker run --name some-django-app -p 8000:8000 -d my-django-app
docker run --name some-django-app -p 8000:8000 -d my-django-app
## Without a `Dockerfile`
Of course, if you don't want to take advantage of magical and convenient
`ONBUILD` triggers, you can always just use `docker run` directly to avoid
having to add a `Dockerfile` to your project.
Of course, if you don't want to take advantage of magical and convenient `ONBUILD` triggers, you can always just use `docker run` directly to avoid having to add a `Dockerfile` to your project.
docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000 -d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000 -d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
## Bootstrap a new Django Application
If you want to generate the scaffolding for a new Django project, you can do the
following:
If you want to generate the scaffolding for a new Django project, you can do the following:
docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite
docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite
This will create a sub-directory named `mysite` inside your current directory.
# License
View [license information](https://github.com/django/django/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/django/django/blob/master/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -76,20 +62,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/django/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/django/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/django/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/django/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.

View File

@ -1,9 +1,6 @@
# What is Django?
Django is a free and open source web application framework, written in Python,
which follows the model-view-controller architectural pattern. Django's primary
goal is to ease the creation of complex, database-driven websites with an
emphasis on reusability and "pluggability" of components.
Django is a free and open source web application framework, written in Python, which follows the model-view-controller architectural pattern. Django's primary goal is to ease the creation of complex, database-driven websites with an emphasis on reusability and "pluggability" of components.
> [wikipedia.org/wiki/Django_(web_framework)](https://en.wikipedia.org/wiki/Django_%28web_framework%29)
@ -13,37 +10,31 @@ emphasis on reusability and "pluggability" of components.
## Create a `Dockerfile` in your Django app project
FROM django:onbuild
FROM django:onbuild
Put this file in the root of your app, next to the `requirements.txt`.
This image includes multiple `ONBUILD` triggers which should cover most
applications. The build will `COPY . /usr/src/app`, `RUN pip install`,
`EXPOSE 8000`, and set the default command to `python manage.py runserver`.
This image includes multiple `ONBUILD` triggers which should cover most applications. The build will `COPY . /usr/src/app`, `RUN pip install`, `EXPOSE 8000`, and set the default command to `python manage.py runserver`.
You can then build and run the Docker image:
docker build -t my-django-app .
docker run --name some-django-app -d my-django-app
docker build -t my-django-app .
docker run --name some-django-app -d my-django-app
You can test it by visiting `http://container-ip:8000` in a browser or, if you
need access outside the host, on `http://localhost:8000` with the following command:
You can test it by visiting `http://container-ip:8000` in a browser or, if you need access outside the host, on `http://localhost:8000` with the following command:
docker run --name some-django-app -p 8000:8000 -d my-django-app
docker run --name some-django-app -p 8000:8000 -d my-django-app
## Without a `Dockerfile`
Of course, if you don't want to take advantage of magical and convenient
`ONBUILD` triggers, you can always just use `docker run` directly to avoid
having to add a `Dockerfile` to your project.
Of course, if you don't want to take advantage of magical and convenient `ONBUILD` triggers, you can always just use `docker run` directly to avoid having to add a `Dockerfile` to your project.
docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000 -d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
docker run --name some-django-app -v "$PWD":/usr/src/app -w /usr/src/app -p 8000:8000 -d django bash -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
## Bootstrap a new Django Application
If you want to generate the scaffolding for a new Django project, you can do the
following:
If you want to generate the scaffolding for a new Django project, you can do the following:
docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite
docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite
This will create a sub-directory named `mysite` inside your current directory.

View File

@ -1,2 +1 @@
View [license information](https://github.com/django/django/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/django/django/blob/master/LICENSE) for the software contained in this image.

View File

@ -1,30 +1,20 @@
# Supported tags and respective `Dockerfile` links
- [`1.5.0`, `1.5`, `1`, `latest` (*Dockerfile*)](https://github.com/docker/docker/blob/v1.5.0/Dockerfile)
- [`1.5.0`, `1.5`, `1`, `latest` (*Dockerfile*)](https://github.com/docker/docker/blob/v1.5.0/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/docker-dev`)](https://github.com/docker-library/official-images/blob/master/library/docker-dev)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/docker-dev`)](https://github.com/docker-library/official-images/blob/master/library/docker-dev) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Docker?
Docker is an open-source project that automates the deployment of applications
inside software containers, by providing an additional layer of abstraction and
automation of operating systemlevel virtualization on Linux. Docker uses
resource isolation features of the Linux kernel such as cgroups and kernel
namespaces to allow independent "containers" to run within a single Linux
instance, avoiding the overhead of starting virtual machines.
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating systemlevel virtualization on Linux. Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting virtual machines.
> [wikipedia.org/wiki/Docker_(software)](https://en.wikipedia.org/wiki/Docker_(software))
> [wikipedia.org/wiki/Docker_(software)](https://en.wikipedia.org/wiki/Docker_%28software%29)
![logo](https://raw.githubusercontent.com/docker-library/docs/master/docker-dev/logo.png)
# About this image
This image contains the building and testing environment of the Docker project
itself, from which the official releases are made.
This image contains the building and testing environment of the Docker project itself, from which the official releases are made.
# Supported Docker versions
@ -36,20 +26,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker/docker/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker/docker/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/docker/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker/docker/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.

View File

@ -1,17 +1,11 @@
# What is Docker?
Docker is an open-source project that automates the deployment of applications
inside software containers, by providing an additional layer of abstraction and
automation of operating systemlevel virtualization on Linux. Docker uses
resource isolation features of the Linux kernel such as cgroups and kernel
namespaces to allow independent "containers" to run within a single Linux
instance, avoiding the overhead of starting virtual machines.
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating systemlevel virtualization on Linux. Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting virtual machines.
> [wikipedia.org/wiki/Docker_(software)](https://en.wikipedia.org/wiki/Docker_(software))
> [wikipedia.org/wiki/Docker_(software)](https://en.wikipedia.org/wiki/Docker_%28software%29)
%%LOGO%%
# About this image
This image contains the building and testing environment of the Docker project
itself, from which the official releases are made.
This image contains the building and testing environment of the Docker project itself, from which the official releases are made.

View File

@ -1,19 +1,13 @@
# Supported tags and respective `Dockerfile` links
- [`1.3.8`, `1.3` (*1.3/Dockerfile*)](https://github.com/docker-library/elasticsearch/blob/ed6fc6c6f26b38941199e135772c464f96dfd438/1.3/Dockerfile)
- [`1.4.3`, `1.4`, `1`, `latest` (*1.4/Dockerfile*)](https://github.com/docker-library/elasticsearch/blob/ed6fc6c6f26b38941199e135772c464f96dfd438/1.4/Dockerfile)
- [`1.3.8`, `1.3` (*1.3/Dockerfile*)](https://github.com/docker-library/elasticsearch/blob/ed6fc6c6f26b38941199e135772c464f96dfd438/1.3/Dockerfile)
- [`1.4.3`, `1.4`, `1`, `latest` (*1.4/Dockerfile*)](https://github.com/docker-library/elasticsearch/blob/ed6fc6c6f26b38941199e135772c464f96dfd438/1.4/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/elasticsearch`)](https://github.com/docker-library/official-images/blob/master/library/elasticsearch)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/elasticsearch`)](https://github.com/docker-library/official-images/blob/master/library/elasticsearch) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Elasticsearch?
Elasticsearch is a search server based on Lucene. It provides a distributed,
multitenant-capable full-text search engine with a RESTful web interface and
schema-free JSON documents.
Elasticsearch is a search server based on Lucene. It provides a distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents.
Elasticsearch is a registered trademark of Elasticsearch BV.
@ -25,23 +19,19 @@ Elasticsearch is a registered trademark of Elasticsearch BV.
You can run the default `elasticsearch` command simply:
docker run -d elasticsearch
docker run -d elasticsearch
You can also pass in additional flags to `elasticsearch`:
docker run -d elasticsearch elasticsearch -Des.node.name="TestNode"
docker run -d elasticsearch elasticsearch -Des.node.name="TestNode"
This image comes with a default set of configuration files for `elasticsearch`,
but if you want to provide your own set of configuration files, you can do so
via a volume mounted at `/usr/share/elasticsearch/config`:
This image comes with a default set of configuration files for `elasticsearch`, but if you want to provide your own set of configuration files, you can do so via a volume mounted at `/usr/share/elasticsearch/config`:
docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch
docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch
This image is configured with a volume at `/usr/share/elasticsearch/data` to
hold the persisted index data. Use that path if you would like to keep the data
in a mounted volume:
This image is configured with a volume at `/usr/share/elasticsearch/data` to hold the persisted index data. Use that path if you would like to keep the data in a mounted volume:
docker run -d -v "$PWD/esdata":/usr/share/elasticsearch/data elasticsearch
docker run -d -v "$PWD/esdata":/usr/share/elasticsearch/data elasticsearch
# License
@ -57,20 +47,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/elasticsearch/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/elasticsearch/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/elasticsearch/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/elasticsearch/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.

View File

@ -1,8 +1,6 @@
# What is Elasticsearch?
Elasticsearch is a search server based on Lucene. It provides a distributed,
multitenant-capable full-text search engine with a RESTful web interface and
schema-free JSON documents.
Elasticsearch is a search server based on Lucene. It provides a distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents.
Elasticsearch is a registered trademark of Elasticsearch BV.
@ -14,20 +12,16 @@ Elasticsearch is a registered trademark of Elasticsearch BV.
You can run the default `elasticsearch` command simply:
docker run -d elasticsearch
docker run -d elasticsearch
You can also pass in additional flags to `elasticsearch`:
docker run -d elasticsearch elasticsearch -Des.node.name="TestNode"
docker run -d elasticsearch elasticsearch -Des.node.name="TestNode"
This image comes with a default set of configuration files for `elasticsearch`,
but if you want to provide your own set of configuration files, you can do so
via a volume mounted at `/usr/share/elasticsearch/config`:
This image comes with a default set of configuration files for `elasticsearch`, but if you want to provide your own set of configuration files, you can do so via a volume mounted at `/usr/share/elasticsearch/config`:
docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch
docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch
This image is configured with a volume at `/usr/share/elasticsearch/data` to
hold the persisted index data. Use that path if you would like to keep the data
in a mounted volume:
This image is configured with a volume at `/usr/share/elasticsearch/data` to hold the persisted index data. Use that path if you would like to keep the data in a mounted volume:
docker run -d -v "$PWD/esdata":/usr/share/elasticsearch/data elasticsearch
docker run -d -v "$PWD/esdata":/usr/share/elasticsearch/data elasticsearch

View File

@ -1,37 +1,27 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `21` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/b252b53a976a0e908805d59fb7250e8d5072f4e8/Dockerfile)
- [`rawhide` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/8b025821f5bc795f9af6023be0e96b5b227a756a/Dockerfile)
- [`20`, `heisenbug` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/58a9aeac899b94e6ea1b1cbe6853b9b134c7ebc5/Dockerfile)
- [`latest`, `21` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/b252b53a976a0e908805d59fb7250e8d5072f4e8/Dockerfile)
- [`rawhide` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/8b025821f5bc795f9af6023be0e96b5b227a756a/Dockerfile)
- [`20`, `heisenbug` (*Dockerfile*)](https://github.com/fedora-cloud/docker-brew-fedora/blob/58a9aeac899b94e6ea1b1cbe6853b9b134c7ebc5/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/fedora`)](https://github.com/docker-library/official-images/blob/master/library/fedora)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/fedora`)](https://github.com/docker-library/official-images/blob/master/library/fedora) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# Fedora
This image serves as the `official Fedora image` for `Fedora 21` and as a
semi-official image for Fedora 20 (heisenbug) and rawhide.
This image serves as the `official Fedora image` for `Fedora 21` and as a semi-official image for Fedora 20 (heisenbug) and rawhide.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/fedora/logo.png)
The `fedora:latest` tag will always point to the latest stable
release, currently [Fedora 21](https://getfedora.org/). `fedora:latest` is
now the same as `fedora:21`.
The `fedora:latest` tag will always point to the latest stable release, currently [Fedora 21](https://getfedora.org/). `fedora:latest` is now the same as `fedora:21`.
Fedora rawhide is available via `fedora:rawhide` and Fedora 20 via
`fedora:20` and `fedora:heisenbug`.
Fedora rawhide is available via `fedora:rawhide` and Fedora 20 via `fedora:20` and `fedora:heisenbug`.
The metalink `http://mirrors.fedoraproject.org` is used to automatically select
a mirror site (both for building the image as well as for the yum repos in the
container image).
The metalink `http://mirrors.fedoraproject.org` is used to automatically select a mirror site (both for building the image as well as for the yum repos in the container image).
$ docker run fedora cat /etc/yum.repos.d/fedora.repo | grep metalink
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
$ docker run fedora cat /etc/yum.repos.d/fedora.repo | grep metalink
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
# Supported Docker versions
@ -43,20 +33,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
by filing a bug on [Fedora's bugzilla page](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) (choose `docker-io` as component and include details about image problems in the description) or through a [GitHub issue](https://github.com/lsm5/docker-brew-fedora/issues).
If you have any problems with or questions about this image, please contact us by filing a bug on [Fedora's bugzilla page](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) (choose `docker-io` as component and include details about image problems in the description) or through a [GitHub issue](https://github.com/lsm5/docker-brew-fedora/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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 by filing a bug on [Fedora's bugzilla page](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) (choose `docker-io` as component and include details about image problems in the description) or
through a [GitHub issue](https://github.com/lsm5/docker-brew-fedora/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.
Before you start to code, we recommend discussing your plans by filing a bug on [Fedora's bugzilla page](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora) (choose `docker-io` as component and include details about image problems in the description) or through a [GitHub issue](https://github.com/lsm5/docker-brew-fedora/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.

View File

@ -1,22 +1,16 @@
# Fedora
This image serves as the `official Fedora image` for `Fedora 21` and as a
semi-official image for Fedora 20 (heisenbug) and rawhide.
This image serves as the `official Fedora image` for `Fedora 21` and as a semi-official image for Fedora 20 (heisenbug) and rawhide.
%%LOGO%%
The `fedora:latest` tag will always point to the latest stable
release, currently [Fedora 21](https://getfedora.org/). `fedora:latest` is
now the same as `fedora:21`.
The `fedora:latest` tag will always point to the latest stable release, currently [Fedora 21](https://getfedora.org/). `fedora:latest` is now the same as `fedora:21`.
Fedora rawhide is available via `fedora:rawhide` and Fedora 20 via
`fedora:20` and `fedora:heisenbug`.
Fedora rawhide is available via `fedora:rawhide` and Fedora 20 via `fedora:20` and `fedora:heisenbug`.
The metalink `http://mirrors.fedoraproject.org` is used to automatically select
a mirror site (both for building the image as well as for the yum repos in the
container image).
The metalink `http://mirrors.fedoraproject.org` is used to automatically select a mirror site (both for building the image as well as for the yum repos in the container image).
$ docker run fedora cat /etc/yum.repos.d/fedora.repo | grep metalink
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
$ docker run fedora cat /etc/yum.repos.d/fedora.repo | grep metalink
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch

View File

@ -1,23 +1,15 @@
# Supported tags and respective `Dockerfile` links
- [`4.6.4`, `4.6` (*4.6/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.6/Dockerfile)
- [`4.7.4`, `4.7` (*4.7/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.7/Dockerfile)
- [`4.8.4`, `4.8` (*4.8/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.8/Dockerfile)
- [`4.9.2`, `4.9`, `latest` (*4.9/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.9/Dockerfile)
- [`4.6.4`, `4.6` (*4.6/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.6/Dockerfile)
- [`4.7.4`, `4.7` (*4.7/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.7/Dockerfile)
- [`4.8.4`, `4.8` (*4.8/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.8/Dockerfile)
- [`4.9.2`, `4.9`, `latest` (*4.9/Dockerfile*)](https://github.com/docker-library/gcc/blob/0d76d76561f3e8581576f9ccc71079e3455a0bea/4.9/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/gcc`)](https://github.com/docker-library/official-images/blob/master/library/gcc)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/gcc`)](https://github.com/docker-library/official-images/blob/master/library/gcc) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is GCC?
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU
Project that supports various programming languages. GCC is a key component of
the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the
GNU General Public License (GNU GPL). GCC has played an important role in the
growth of free software, as both a tool and an example.
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project that supports various programming languages. GCC is a key component of the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example.
> [wikipedia.org/wiki/GNU_Compiler_Collection](https://en.wikipedia.org/wiki/GNU_Compiler_Collection)
@ -27,41 +19,32 @@ growth of free software, as both a tool and an example.
## Start a GCC instance running your app
The most straightforward way to use this image is to use a gcc container as both
the build and runtime environment. In your `Dockerfile`, writing something along
the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a gcc container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM gcc:4.9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]
FROM gcc:4.9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]
Then, build and run the Docker image:
docker build -t my-gcc-app .
docker run -it --rm --name my-running-app my-gcc-app
docker build -t my-gcc-app .
docker run -it --rm --name my-running-app my-gcc-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c
This will add your current directory, as a volume, to the container, set the
working directory to the volume, and run the command `gcc -o myapp myapp.c.`
This tells gcc to compile the code in `myapp.c` and output the executable to
myapp. Alternatively, if you have a `Makefile`, you can instead run the `make`
command inside your container:
This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command `gcc -o myapp myapp.c.` This tells gcc to compile the code in `myapp.c` and output the executable to myapp. Alternatively, if you have a `Makefile`, you can instead run the `make` command inside your container:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 make
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 make
# License
View [license information](https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/COPYING3?view=markup)
for the software contained in this image.
View [license information](https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/COPYING3?view=markup) for the software contained in this image.
# Supported Docker versions
@ -73,20 +56,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/gcc/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/gcc/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/gcc/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/gcc/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.

View File

@ -1,10 +1,6 @@
# What is GCC?
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU
Project that supports various programming languages. GCC is a key component of
the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the
GNU General Public License (GNU GPL). GCC has played an important role in the
growth of free software, as both a tool and an example.
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project that supports various programming languages. GCC is a key component of the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example.
> [wikipedia.org/wiki/GNU_Compiler_Collection](https://en.wikipedia.org/wiki/GNU_Compiler_Collection)
@ -14,33 +10,25 @@ growth of free software, as both a tool and an example.
## Start a GCC instance running your app
The most straightforward way to use this image is to use a gcc container as both
the build and runtime environment. In your `Dockerfile`, writing something along
the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a gcc container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM gcc:4.9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]
FROM gcc:4.9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN gcc -o myapp main.c
CMD ["./myapp"]
Then, build and run the Docker image:
docker build -t my-gcc-app .
docker run -it --rm --name my-running-app my-gcc-app
docker build -t my-gcc-app .
docker run -it --rm --name my-running-app my-gcc-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c
This will add your current directory, as a volume, to the container, set the
working directory to the volume, and run the command `gcc -o myapp myapp.c.`
This tells gcc to compile the code in `myapp.c` and output the executable to
myapp. Alternatively, if you have a `Makefile`, you can instead run the `make`
command inside your container:
This will add your current directory, as a volume, to the container, set the working directory to the volume, and run the command `gcc -o myapp myapp.c.` This tells gcc to compile the code in `myapp.c` and output the executable to myapp. Alternatively, if you have a `Makefile`, you can instead run the `make` command inside your container:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 make
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 make

View File

@ -1,2 +1 @@
View [license information](https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/COPYING3?view=markup)
for the software contained in this image.
View [license information](https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/COPYING3?view=markup) for the software contained in this image.

View File

@ -51,7 +51,7 @@ for repoDir in "${repoDirs[@]}"; do
url="https://$gitUrl/blob/$commit/${dir}Dockerfile"
echo '- ['"${repoDirTags["$repoDir"]}"' (*'"${dir}Dockerfile"'*)]('"$url"')'
echo $'-\t['"${repoDirTags["$repoDir"]}"' (*'"${dir}Dockerfile"'*)]('"$url"')'
done
echo

View File

@ -1,29 +1,21 @@
# Supported tags and respective `Dockerfile` links
- [`1.3.3`, `1.3` (*1.3/Dockerfile*)](https://github.com/docker-library/golang/blob/2668a6b1db728588dec26cf74e7e7afa146fe5e6/1.3/Dockerfile)
- [`1.3.3-onbuild`, `1.3-onbuild` (*1.3/onbuild/Dockerfile*)](https://github.com/docker-library/golang/blob/4d4b14164e50c089a09b9364697749dc7f764824/1.3/onbuild/Dockerfile)
- [`1.3.3-cross`, `1.3-cross` (*1.3/cross/Dockerfile*)](https://github.com/docker-library/golang/blob/acc4ed5ba8dfad17bd484ac858950bc6a6f9acde/1.3/cross/Dockerfile)
- [`1.3.3-wheezy`, `1.3-wheezy` (*1.3/wheezy/Dockerfile*)](https://github.com/docker-library/golang/blob/2668a6b1db728588dec26cf74e7e7afa146fe5e6/1.3/wheezy/Dockerfile)
- [`1.4.1`, `1.4`, `1`, `latest` (*1.4/Dockerfile*)](https://github.com/docker-library/golang/blob/304244cfe374d3477e746c057a5ec4dcf7a47657/1.4/Dockerfile)
- [`1.4.1-onbuild`, `1.4-onbuild`, `1-onbuild`, `onbuild` (*1.4/onbuild/Dockerfile*)](https://github.com/docker-library/golang/blob/c1baf037d71331eb0b8d4c70cff4c29cf124c5e0/1.4/onbuild/Dockerfile)
- [`1.4.1-cross`, `1.4-cross`, `1-cross`, `cross` (*1.4/cross/Dockerfile*)](https://github.com/docker-library/golang/blob/90b57a935ad9275997fda8741a5a7864eb1d51b5/1.4/cross/Dockerfile)
- [`1.4.1-wheezy`, `1.4-wheezy`, `1-wheezy`, `wheezy` (*1.4/wheezy/Dockerfile*)](https://github.com/docker-library/golang/blob/304244cfe374d3477e746c057a5ec4dcf7a47657/1.4/wheezy/Dockerfile)
- [`1.3.3`, `1.3` (*1.3/Dockerfile*)](https://github.com/docker-library/golang/blob/2668a6b1db728588dec26cf74e7e7afa146fe5e6/1.3/Dockerfile)
- [`1.3.3-onbuild`, `1.3-onbuild` (*1.3/onbuild/Dockerfile*)](https://github.com/docker-library/golang/blob/4d4b14164e50c089a09b9364697749dc7f764824/1.3/onbuild/Dockerfile)
- [`1.3.3-cross`, `1.3-cross` (*1.3/cross/Dockerfile*)](https://github.com/docker-library/golang/blob/acc4ed5ba8dfad17bd484ac858950bc6a6f9acde/1.3/cross/Dockerfile)
- [`1.3.3-wheezy`, `1.3-wheezy` (*1.3/wheezy/Dockerfile*)](https://github.com/docker-library/golang/blob/2668a6b1db728588dec26cf74e7e7afa146fe5e6/1.3/wheezy/Dockerfile)
- [`1.4.1`, `1.4`, `1`, `latest` (*1.4/Dockerfile*)](https://github.com/docker-library/golang/blob/304244cfe374d3477e746c057a5ec4dcf7a47657/1.4/Dockerfile)
- [`1.4.1-onbuild`, `1.4-onbuild`, `1-onbuild`, `onbuild` (*1.4/onbuild/Dockerfile*)](https://github.com/docker-library/golang/blob/c1baf037d71331eb0b8d4c70cff4c29cf124c5e0/1.4/onbuild/Dockerfile)
- [`1.4.1-cross`, `1.4-cross`, `1-cross`, `cross` (*1.4/cross/Dockerfile*)](https://github.com/docker-library/golang/blob/90b57a935ad9275997fda8741a5a7864eb1d51b5/1.4/cross/Dockerfile)
- [`1.4.1-wheezy`, `1.4-wheezy`, `1-wheezy`, `wheezy` (*1.4/wheezy/Dockerfile*)](https://github.com/docker-library/golang/blob/304244cfe374d3477e746c057a5ec4dcf7a47657/1.4/wheezy/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/golang`)](https://github.com/docker-library/official-images/blob/master/library/golang)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/golang`)](https://github.com/docker-library/official-images/blob/master/library/golang) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Go?
Go (a.k.a., Golang) is a programming language first developed at Google. It is a
statically-typed language with syntax loosely derived from C, but with
additional features such as garbage collection, type safety, some dynamic-typing
capabilities, additional built-in types (e.g., variable-length arrays and
key-value maps), and a large standard library.
Go (a.k.a., Golang) is a programming language first developed at Google. It is a statically-typed language with syntax loosely derived from C, but with additional features such as garbage collection, type safety, some dynamic-typing capabilities, additional built-in types (e.g., variable-length arrays and key-value maps), and a large standard library.
> [wikipedia.org/wiki/Go_(programming_language)](http://en.wikipedia.org/wiki/Go_(programming_language))
> [wikipedia.org/wiki/Go_(programming_language)](http://en.wikipedia.org/wiki/Go_%28programming_language%29)
![logo](https://raw.githubusercontent.com/docker-library/docs/master/golang/logo.png)
@ -31,61 +23,48 @@ key-value maps), and a large standard library.
## Start a Go instance in your app
The most straightforward way to use this image is to use a Go container as both
the build and runtime environment. In your `Dockerfile`, writing something along
the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a Go container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM golang:1.3-onbuild
FROM golang:1.3-onbuild
This image includes multiple `ONBUILD` triggers which should cover most
applications. The build will `COPY . /usr/src/app`, `RUN go get -d -v`, and `RUN
This image includes multiple `ONBUILD` triggers which should cover most applications. The build will `COPY . /usr/src/app`, `RUN go get -d -v`, and `RUN
go install -v`.
This image also includes the `CMD ["app"]` instruction which is the default command
when running the image without arguments.
This image also includes the `CMD ["app"]` instruction which is the default command when running the image without arguments.
You can then build and run the Docker image:
docker build -t my-golang-app .
docker run -it --rm --name my-running-app my-golang-app
docker build -t my-golang-app .
docker run -it --rm --name my-running-app my-golang-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 go build -v
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 go build -v
This will add your current directory as a volume to the container, set the
working directory to the volume, and run the command `go build` which will tell
go to compile the project in the working directory and output the executable to
`myapp`. Alternatively, if you have a `Makefile`, you can run the `make` command
inside your container.
This will add your current directory as a volume to the container, set the working directory to the volume, and run the command `go build` which will tell go to compile the project in the working directory and output the executable to `myapp`. Alternatively, if you have a `Makefile`, you can run the `make` command inside your container.
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 make
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 make
## Cross-compile your app inside the Docker container
If you need to compile your application for a platform other than `linux/amd64`
(such as `windows/386`), this can be easily accomplished with the provided
`cross` tags:
If you need to compile your application for a platform other than `linux/amd64` (such as `windows/386`), this can be easily accomplished with the provided `cross` tags:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.3-cross go build -v
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.3-cross go build -v
Alternatively, you can build for multiple platforms at once:
docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3-cross bash
$ for GOOS in darwin linux; do
> for GOARCH in 386 amd64; do
> go build -v -o myapp-$GOOS-$GOARCH
> done
> done
docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3-cross bash
$ for GOOS in darwin linux; do
> for GOARCH in 386 amd64; do
> go build -v -o myapp-$GOOS-$GOARCH
> done
> done
# License
View [license information](http://golang.org/LICENSE)
for the software contained in this image.
View [license information](http://golang.org/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -97,20 +76,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/golang/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/golang/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/golang/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/golang/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.

View File

@ -1,12 +1,8 @@
# What is Go?
Go (a.k.a., Golang) is a programming language first developed at Google. It is a
statically-typed language with syntax loosely derived from C, but with
additional features such as garbage collection, type safety, some dynamic-typing
capabilities, additional built-in types (e.g., variable-length arrays and
key-value maps), and a large standard library.
Go (a.k.a., Golang) is a programming language first developed at Google. It is a statically-typed language with syntax loosely derived from C, but with additional features such as garbage collection, type safety, some dynamic-typing capabilities, additional built-in types (e.g., variable-length arrays and key-value maps), and a large standard library.
> [wikipedia.org/wiki/Go_(programming_language)](http://en.wikipedia.org/wiki/Go_(programming_language))
> [wikipedia.org/wiki/Go_(programming_language)](http://en.wikipedia.org/wiki/Go_%28programming_language%29)
%%LOGO%%
@ -14,53 +10,41 @@ key-value maps), and a large standard library.
## Start a Go instance in your app
The most straightforward way to use this image is to use a Go container as both
the build and runtime environment. In your `Dockerfile`, writing something along
the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a Go container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM golang:1.3-onbuild
FROM golang:1.3-onbuild
This image includes multiple `ONBUILD` triggers which should cover most
applications. The build will `COPY . /usr/src/app`, `RUN go get -d -v`, and `RUN
This image includes multiple `ONBUILD` triggers which should cover most applications. The build will `COPY . /usr/src/app`, `RUN go get -d -v`, and `RUN
go install -v`.
This image also includes the `CMD ["app"]` instruction which is the default command
when running the image without arguments.
This image also includes the `CMD ["app"]` instruction which is the default command when running the image without arguments.
You can then build and run the Docker image:
docker build -t my-golang-app .
docker run -it --rm --name my-running-app my-golang-app
docker build -t my-golang-app .
docker run -it --rm --name my-running-app my-golang-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 go build -v
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 go build -v
This will add your current directory as a volume to the container, set the
working directory to the volume, and run the command `go build` which will tell
go to compile the project in the working directory and output the executable to
`myapp`. Alternatively, if you have a `Makefile`, you can run the `make` command
inside your container.
This will add your current directory as a volume to the container, set the working directory to the volume, and run the command `go build` which will tell go to compile the project in the working directory and output the executable to `myapp`. Alternatively, if you have a `Makefile`, you can run the `make` command inside your container.
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 make
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3 make
## Cross-compile your app inside the Docker container
If you need to compile your application for a platform other than `linux/amd64`
(such as `windows/386`), this can be easily accomplished with the provided
`cross` tags:
If you need to compile your application for a platform other than `linux/amd64` (such as `windows/386`), this can be easily accomplished with the provided `cross` tags:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.3-cross go build -v
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.3-cross go build -v
Alternatively, you can build for multiple platforms at once:
docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3-cross bash
$ for GOOS in darwin linux; do
> for GOARCH in 386 amd64; do
> go build -v -o myapp-$GOOS-$GOARCH
> done
> done
docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.3-cross bash
$ for GOOS in darwin linux; do
> for GOARCH in 386 amd64; do
> go build -v -o myapp-$GOOS-$GOARCH
> done
> done

View File

@ -1,2 +1 @@
View [license information](http://golang.org/LICENSE)
for the software contained in this image.
View [license information](http://golang.org/LICENSE) for the software contained in this image.

View File

@ -1,20 +1,13 @@
# Supported tags and respective `Dockerfile` links
- [`1.4.26`, `1.4` (*1.4/Dockerfile*)](https://github.com/docker-library/haproxy/blob/0cd4f607087468b5b321acbbe27c69465b202ada/1.4/Dockerfile)
- [`1.5.11`, `1.5`, `1`, `latest` (*1.5/Dockerfile*)](https://github.com/docker-library/haproxy/blob/0cd4f607087468b5b321acbbe27c69465b202ada/1.5/Dockerfile)
- [`1.4.26`, `1.4` (*1.4/Dockerfile*)](https://github.com/docker-library/haproxy/blob/0cd4f607087468b5b321acbbe27c69465b202ada/1.4/Dockerfile)
- [`1.5.11`, `1.5`, `1`, `latest` (*1.5/Dockerfile*)](https://github.com/docker-library/haproxy/blob/0cd4f607087468b5b321acbbe27c69465b202ada/1.5/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/haproxy`)](https://github.com/docker-library/official-images/blob/master/library/haproxy)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/haproxy`)](https://github.com/docker-library/official-images/blob/master/library/haproxy) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is HAProxy?
HAProxy is a free, open source high availability solution, providing load
balancing and proxying for TCP and HTTP-based applications by spreading requests
across multiple servers. It is written in C and has a reputation for being fast
and efficient (in terms of processor and memory usage).
HAProxy is a free, open source high availability solution, providing load balancing and proxying for TCP and HTTP-based applications by spreading requests across multiple servers. It is written in C and has a reputation for being fast and efficient (in terms of processor and memory usage).
> [wikipedia.org/wiki/HAProxy](https://en.wikipedia.org/wiki/HAProxy)
@ -22,34 +15,29 @@ and efficient (in terms of processor and memory usage).
# How to use this image
Since no two users of HAProxy are likely to configure it exactly alike, this
image does not come with any default configuration.
Since no two users of HAProxy are likely to configure it exactly alike, this image does not come with any default configuration.
Please refer to [upstream's excellent (and comprehensive)
documentation](https://cbonte.github.io/haproxy-dconv/) on the subject of
configuring HAProxy for your needs.
Please refer to [upstream's excellent (and comprehensive) documentation](https://cbonte.github.io/haproxy-dconv/) on the subject of configuring HAProxy for your needs.
It is also worth checking out the [`examples/` directory from
upstream](http://www.haproxy.org/git?p=haproxy-1.5.git;a=tree;f=examples).
It is also worth checking out the [`examples/` directory from upstream](http://www.haproxy.org/git?p=haproxy-1.5.git;a=tree;f=examples).
## Create a `Dockerfile`
FROM haproxy:1.5
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
FROM haproxy:1.5
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
Build and run:
docker build -t my-haproxy .
docker run -d --name my-running-haproxy my-haproxy
docker build -t my-haproxy .
docker run -d --name my-running-haproxy my-haproxy
## Directly via bind mount
docker run -d --name my-running-haproxy -v /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:1.5
docker run -d --name my-running-haproxy -v /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:1.5
# License
View [license information](http://www.haproxy.org/download/1.5/doc/LICENSE) for
the software contained in this image.
View [license information](http://www.haproxy.org/download/1.5/doc/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -61,20 +49,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/haproxy/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/haproxy/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/haproxy/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/haproxy/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.

View File

@ -1,9 +1,6 @@
# What is HAProxy?
HAProxy is a free, open source high availability solution, providing load
balancing and proxying for TCP and HTTP-based applications by spreading requests
across multiple servers. It is written in C and has a reputation for being fast
and efficient (in terms of processor and memory usage).
HAProxy is a free, open source high availability solution, providing load balancing and proxying for TCP and HTTP-based applications by spreading requests across multiple servers. It is written in C and has a reputation for being fast and efficient (in terms of processor and memory usage).
> [wikipedia.org/wiki/HAProxy](https://en.wikipedia.org/wiki/HAProxy)
@ -11,26 +8,22 @@ and efficient (in terms of processor and memory usage).
# How to use this image
Since no two users of HAProxy are likely to configure it exactly alike, this
image does not come with any default configuration.
Since no two users of HAProxy are likely to configure it exactly alike, this image does not come with any default configuration.
Please refer to [upstream's excellent (and comprehensive)
documentation](https://cbonte.github.io/haproxy-dconv/) on the subject of
configuring HAProxy for your needs.
Please refer to [upstream's excellent (and comprehensive) documentation](https://cbonte.github.io/haproxy-dconv/) on the subject of configuring HAProxy for your needs.
It is also worth checking out the [`examples/` directory from
upstream](http://www.haproxy.org/git?p=haproxy-1.5.git;a=tree;f=examples).
It is also worth checking out the [`examples/` directory from upstream](http://www.haproxy.org/git?p=haproxy-1.5.git;a=tree;f=examples).
## Create a `Dockerfile`
FROM haproxy:1.5
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
FROM haproxy:1.5
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
Build and run:
docker build -t my-haproxy .
docker run -d --name my-running-haproxy my-haproxy
docker build -t my-haproxy .
docker run -d --name my-running-haproxy my-haproxy
## Directly via bind mount
docker run -d --name my-running-haproxy -v /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:1.5
docker run -d --name my-running-haproxy -v /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:1.5

View File

@ -1,2 +1 @@
View [license information](http://www.haproxy.org/download/1.5/doc/LICENSE) for
the software contained in this image.
View [license information](http://www.haproxy.org/download/1.5/doc/LICENSE) for the software contained in this image.

View File

@ -1,48 +1,16 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `7.8` (*7.8/Dockerfile*)](https://github.com/darinmorrison/docker-haskell/blob/399ec9abffb3c86d6747d7ab5dc40556d6de9e4b/7.8/Dockerfile)
- [`latest`, `7.8` (*7.8/Dockerfile*)](https://github.com/darinmorrison/docker-haskell/blob/399ec9abffb3c86d6747d7ab5dc40556d6de9e4b/7.8/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/haskell`)](https://github.com/docker-library/official-images/blob/master/library/haskell)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/haskell`)](https://github.com/docker-library/official-images/blob/master/library/haskell) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Haskell?
[Haskell](http://www.haskell.org) is a
[lazy](http://en.wikibooks.org/wiki/Haskell/Laziness), functional,
statically-typed programming language with advanced type system features such as
higher-rank, higher-kinded parametric
[polymorphism](http://en.wikibooks.org/wiki/Haskell/Polymorphism), monadic
[effects](http://en.wikibooks.org/wiki/Haskell/Understanding_monads/IO),
generalized algebraic data types
([GADT](http://en.wikibooks.org/wiki/Haskell/GADT)s), flexible [type
classes](http://en.wikibooks.org/wiki/Haskell/Advanced_type_classes), associated
[type families](http://en.wikipedia.org/wiki/Type_family), and more.
[Haskell](http://www.haskell.org) is a [lazy](http://en.wikibooks.org/wiki/Haskell/Laziness), functional, statically-typed programming language with advanced type system features such as higher-rank, higher-kinded parametric [polymorphism](http://en.wikibooks.org/wiki/Haskell/Polymorphism), monadic [effects](http://en.wikibooks.org/wiki/Haskell/Understanding_monads/IO), generalized algebraic data types ([GADT](http://en.wikibooks.org/wiki/Haskell/GADT)s), flexible [type classes](http://en.wikibooks.org/wiki/Haskell/Advanced_type_classes), associated [type families](http://en.wikipedia.org/wiki/Type_family), and more.
Haskell's [`ghc`](http://www.haskell.org/ghc) is a
[portable](https://ghc.haskell.org/trac/ghc/wiki/Platforms),
[optimizing](http://benchmarksgame.alioth.debian.org/u64q/haskell.php) compiler
with a foreign-function interface
([FFI](http://en.wikibooks.org/wiki/Haskell/FFI)), an [LLVM
backend](https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/code-generators.html),
and sophisticated runtime support for
[concurrency](http://en.wikibooks.org/wiki/Haskell/Concurrency),
explicit/implicit [parallelism](http://community.haskell.org/~simonmar/pcph/),
runtime [profiling](http://www.haskell.org/haskellwiki/ThreadScope), etc. Other
Haskell tools like
[`criterion`](http://www.serpentine.com/criterion/tutorial.html),
[`quickcheck`](https://www.fpcomplete.com/user/pbv/an-introduction-to-quickcheck-testing),
[`hpc`](http://www.haskell.org/haskellwiki/Haskell_program_coverage#Examples),
and [`haddock`](http://en.wikipedia.org/wiki/Haddock_(software)) provide
advanced benchmarking, property-based testing, code coverage, and documentation
generation.
Haskell's [`ghc`](http://www.haskell.org/ghc) is a [portable](https://ghc.haskell.org/trac/ghc/wiki/Platforms), [optimizing](http://benchmarksgame.alioth.debian.org/u64q/haskell.php) compiler with a foreign-function interface ([FFI](http://en.wikibooks.org/wiki/Haskell/FFI)), an [LLVM backend](https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/code-generators.html), and sophisticated runtime support for [concurrency](http://en.wikibooks.org/wiki/Haskell/Concurrency), explicit/implicit [parallelism](http://community.haskell.org/~simonmar/pcph/), runtime [profiling](http://www.haskell.org/haskellwiki/ThreadScope), etc. Other Haskell tools like [`criterion`](http://www.serpentine.com/criterion/tutorial.html), [`quickcheck`](https://www.fpcomplete.com/user/pbv/an-introduction-to-quickcheck-testing), [`hpc`](http://www.haskell.org/haskellwiki/Haskell_program_coverage#Examples), and [`haddock`](http://en.wikipedia.org/wiki/Haddock_%28software%29) provide advanced benchmarking, property-based testing, code coverage, and documentation generation.
A large number of production-quality Haskell libraries are available from
[Hackage](https://hackage.haskell.org). The
[`cabal`](https://www.fpcomplete.com/user/simonmichael/how-to-cabal-install)
tool fetches packages and builds projects using the Hackage ecosystem.
A large number of production-quality Haskell libraries are available from [Hackage](https://hackage.haskell.org). The [`cabal`](https://www.fpcomplete.com/user/simonmichael/how-to-cabal-install) tool fetches packages and builds projects using the Hackage ecosystem.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/haskell/logo.png)
@ -50,67 +18,60 @@ tool fetches packages and builds projects using the Hackage ecosystem.
This image ships a minimal Haskell toolchain with the following packages:
* `ghc`
* `alex`
* `cabal-install`
* `happy`
- `ghc`
- `alex`
- `cabal-install`
- `happy`
## How to use this image
Start an interactive interpreter session with `ghci`:
$ docker run -it --rm haskell:7.8
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude>
$ docker run -it --rm haskell:7.8
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude>
Dockerize a [Hackage](http://hackage.haskell.org) app with a Dockerfile
inheriting from the base image:
Dockerize a [Hackage](http://hackage.haskell.org) app with a Dockerfile inheriting from the base image:
FROM haskell:7.8
RUN cabal update && cabal install MazesOfMonad
VOLUME /root/.MazesOfMonad
ENTRYPOINT ["/root/.cabal/bin/mazesofmonad"]
FROM haskell:7.8
RUN cabal update && cabal install MazesOfMonad
VOLUME /root/.MazesOfMonad
ENTRYPOINT ["/root/.cabal/bin/mazesofmonad"]
Iteratively develop then ship a Haskell app with a Dockerfile utilizing the
build cache:
Iteratively develop then ship a Haskell app with a Dockerfile utilizing the build cache:
FROM haskell:7.8
RUN cabal update
# Add .cabal file
ADD ./server/snap-example.cabal /opt/server/snap-example.cabal
# Docker will cache this command as a layer, freeing us up to
# modify source code without re-installing dependencies
RUN cd /opt/server && cabal install --only-dependencies -j4
# Add and Install Application Code
ADD ./server /opt/server
RUN cd /opt/server && cabal install
# Add installed cabal executables to PATH
ENV PATH /root/.cabal/bin:$PATH
# Default Command for Container
WORKDIR /opt/server
CMD ["snap-example"]
FROM haskell:7.8
RUN cabal update
# Add .cabal file
ADD ./server/snap-example.cabal /opt/server/snap-example.cabal
# Docker will cache this command as a layer, freeing us up to
# modify source code without re-installing dependencies
RUN cd /opt/server && cabal install --only-dependencies -j4
# Add and Install Application Code
ADD ./server /opt/server
RUN cd /opt/server && cabal install
# Add installed cabal executables to PATH
ENV PATH /root/.cabal/bin:$PATH
# Default Command for Container
WORKDIR /opt/server
CMD ["snap-example"]
### Examples
See the application snippet above in more detail in the [example snap
application](https://github.com/darinmorrison/docker-haskell/tree/master/examples/7.8.3/snap).
See the application snippet above in more detail in the [example snap application](https://github.com/darinmorrison/docker-haskell/tree/master/examples/7.8.3/snap).
# License
This image is licensed under the MIT License (see
[LICENSE](https://github.com/darinmorrison/docker-haskell/blob/master/LICENSE)),
and includes software licensed under the
[Glasgow Haskell Compiler License](https://www.haskell.org/ghc/license)
(BSD-style).
This image is licensed under the MIT License (see [LICENSE](https://github.com/darinmorrison/docker-haskell/blob/master/LICENSE)), and includes software licensed under the [Glasgow Haskell Compiler License](https://www.haskell.org/ghc/license) (BSD-style).
# Supported Docker versions
@ -122,20 +83,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/darinmorrison/docker-haskell/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/darinmorrison/docker-haskell/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/darinmorrison/docker-haskell/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/darinmorrison/docker-haskell/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.

View File

@ -1,38 +1,10 @@
# What is Haskell?
[Haskell](http://www.haskell.org) is a
[lazy](http://en.wikibooks.org/wiki/Haskell/Laziness), functional,
statically-typed programming language with advanced type system features such as
higher-rank, higher-kinded parametric
[polymorphism](http://en.wikibooks.org/wiki/Haskell/Polymorphism), monadic
[effects](http://en.wikibooks.org/wiki/Haskell/Understanding_monads/IO),
generalized algebraic data types
([GADT](http://en.wikibooks.org/wiki/Haskell/GADT)s), flexible [type
classes](http://en.wikibooks.org/wiki/Haskell/Advanced_type_classes), associated
[type families](http://en.wikipedia.org/wiki/Type_family), and more.
[Haskell](http://www.haskell.org) is a [lazy](http://en.wikibooks.org/wiki/Haskell/Laziness), functional, statically-typed programming language with advanced type system features such as higher-rank, higher-kinded parametric [polymorphism](http://en.wikibooks.org/wiki/Haskell/Polymorphism), monadic [effects](http://en.wikibooks.org/wiki/Haskell/Understanding_monads/IO), generalized algebraic data types ([GADT](http://en.wikibooks.org/wiki/Haskell/GADT)s), flexible [type classes](http://en.wikibooks.org/wiki/Haskell/Advanced_type_classes), associated [type families](http://en.wikipedia.org/wiki/Type_family), and more.
Haskell's [`ghc`](http://www.haskell.org/ghc) is a
[portable](https://ghc.haskell.org/trac/ghc/wiki/Platforms),
[optimizing](http://benchmarksgame.alioth.debian.org/u64q/haskell.php) compiler
with a foreign-function interface
([FFI](http://en.wikibooks.org/wiki/Haskell/FFI)), an [LLVM
backend](https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/code-generators.html),
and sophisticated runtime support for
[concurrency](http://en.wikibooks.org/wiki/Haskell/Concurrency),
explicit/implicit [parallelism](http://community.haskell.org/~simonmar/pcph/),
runtime [profiling](http://www.haskell.org/haskellwiki/ThreadScope), etc. Other
Haskell tools like
[`criterion`](http://www.serpentine.com/criterion/tutorial.html),
[`quickcheck`](https://www.fpcomplete.com/user/pbv/an-introduction-to-quickcheck-testing),
[`hpc`](http://www.haskell.org/haskellwiki/Haskell_program_coverage#Examples),
and [`haddock`](http://en.wikipedia.org/wiki/Haddock_(software)) provide
advanced benchmarking, property-based testing, code coverage, and documentation
generation.
Haskell's [`ghc`](http://www.haskell.org/ghc) is a [portable](https://ghc.haskell.org/trac/ghc/wiki/Platforms), [optimizing](http://benchmarksgame.alioth.debian.org/u64q/haskell.php) compiler with a foreign-function interface ([FFI](http://en.wikibooks.org/wiki/Haskell/FFI)), an [LLVM backend](https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/code-generators.html), and sophisticated runtime support for [concurrency](http://en.wikibooks.org/wiki/Haskell/Concurrency), explicit/implicit [parallelism](http://community.haskell.org/~simonmar/pcph/), runtime [profiling](http://www.haskell.org/haskellwiki/ThreadScope), etc. Other Haskell tools like [`criterion`](http://www.serpentine.com/criterion/tutorial.html), [`quickcheck`](https://www.fpcomplete.com/user/pbv/an-introduction-to-quickcheck-testing), [`hpc`](http://www.haskell.org/haskellwiki/Haskell_program_coverage#Examples), and [`haddock`](http://en.wikipedia.org/wiki/Haddock_%28software%29) provide advanced benchmarking, property-based testing, code coverage, and documentation generation.
A large number of production-quality Haskell libraries are available from
[Hackage](https://hackage.haskell.org). The
[`cabal`](https://www.fpcomplete.com/user/simonmichael/how-to-cabal-install)
tool fetches packages and builds projects using the Hackage ecosystem.
A large number of production-quality Haskell libraries are available from [Hackage](https://hackage.haskell.org). The [`cabal`](https://www.fpcomplete.com/user/simonmichael/how-to-cabal-install) tool fetches packages and builds projects using the Hackage ecosystem.
%%LOGO%%
@ -40,56 +12,53 @@ tool fetches packages and builds projects using the Hackage ecosystem.
This image ships a minimal Haskell toolchain with the following packages:
* `ghc`
* `alex`
* `cabal-install`
* `happy`
- `ghc`
- `alex`
- `cabal-install`
- `happy`
## How to use this image
Start an interactive interpreter session with `ghci`:
$ docker run -it --rm haskell:7.8
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude>
$ docker run -it --rm haskell:7.8
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude>
Dockerize a [Hackage](http://hackage.haskell.org) app with a Dockerfile
inheriting from the base image:
Dockerize a [Hackage](http://hackage.haskell.org) app with a Dockerfile inheriting from the base image:
FROM haskell:7.8
RUN cabal update && cabal install MazesOfMonad
VOLUME /root/.MazesOfMonad
ENTRYPOINT ["/root/.cabal/bin/mazesofmonad"]
FROM haskell:7.8
RUN cabal update && cabal install MazesOfMonad
VOLUME /root/.MazesOfMonad
ENTRYPOINT ["/root/.cabal/bin/mazesofmonad"]
Iteratively develop then ship a Haskell app with a Dockerfile utilizing the
build cache:
Iteratively develop then ship a Haskell app with a Dockerfile utilizing the build cache:
FROM haskell:7.8
RUN cabal update
# Add .cabal file
ADD ./server/snap-example.cabal /opt/server/snap-example.cabal
# Docker will cache this command as a layer, freeing us up to
# modify source code without re-installing dependencies
RUN cd /opt/server && cabal install --only-dependencies -j4
# Add and Install Application Code
ADD ./server /opt/server
RUN cd /opt/server && cabal install
# Add installed cabal executables to PATH
ENV PATH /root/.cabal/bin:$PATH
# Default Command for Container
WORKDIR /opt/server
CMD ["snap-example"]
FROM haskell:7.8
RUN cabal update
# Add .cabal file
ADD ./server/snap-example.cabal /opt/server/snap-example.cabal
# Docker will cache this command as a layer, freeing us up to
# modify source code without re-installing dependencies
RUN cd /opt/server && cabal install --only-dependencies -j4
# Add and Install Application Code
ADD ./server /opt/server
RUN cd /opt/server && cabal install
# Add installed cabal executables to PATH
ENV PATH /root/.cabal/bin:$PATH
# Default Command for Container
WORKDIR /opt/server
CMD ["snap-example"]
### Examples
See the application snippet above in more detail in the [example snap
application](https://github.com/darinmorrison/docker-haskell/tree/master/examples/7.8.3/snap).
See the application snippet above in more detail in the [example snap application](https://github.com/darinmorrison/docker-haskell/tree/master/examples/7.8.3/snap).

View File

@ -1,5 +1 @@
This image is licensed under the MIT License (see
[LICENSE](https://github.com/darinmorrison/docker-haskell/blob/master/LICENSE)),
and includes software licensed under the
[Glasgow Haskell Compiler License](https://www.haskell.org/ghc/license)
(BSD-style).
This image is licensed under the MIT License (see [LICENSE](https://github.com/darinmorrison/docker-haskell/blob/master/LICENSE)), and includes software licensed under the [Glasgow Haskell Compiler License](https://www.haskell.org/ghc/license) (BSD-style).

View File

@ -1,37 +1,33 @@
# Supported tags and respective `Dockerfile` links
- [`latest` (*Dockerfile*)](https://github.com/docker-library/hello-world/blob/b7a78b7ccca62cc478919b101f3ab1334899df2b/Dockerfile)
- [`latest` (*Dockerfile*)](https://github.com/docker-library/hello-world/blob/b7a78b7ccca62cc478919b101f3ab1334899df2b/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/hello-world`)](https://github.com/docker-library/official-images/blob/master/library/hello-world)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/hello-world`)](https://github.com/docker-library/official-images/blob/master/library/hello-world) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# Example output
$ docker run hello-world
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
$ docker images hello-world
REPOSITORY TAG IMAGE ID VIRTUAL SIZE
hello-world latest e45a5af57b00 910 B
$ docker run hello-world
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
$ docker images hello-world
REPOSITORY TAG IMAGE ID VIRTUAL SIZE
hello-world latest e45a5af57b00 910 B
![logo](https://raw.githubusercontent.com/docker-library/docs/master/hello-world/logo.png)
@ -45,20 +41,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/hello-world/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/hello-world/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/hello-world/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/hello-world/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.

View File

@ -1,26 +1,26 @@
# Example output
$ docker run hello-world
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
$ docker images hello-world
REPOSITORY TAG IMAGE ID VIRTUAL SIZE
hello-world latest e45a5af57b00 910 B
$ docker run hello-world
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
$ docker images hello-world
REPOSITORY TAG IMAGE ID VIRTUAL SIZE
hello-world latest e45a5af57b00 910 B
%%LOGO%%

View File

@ -14,7 +14,7 @@ echo
echo
echo '$ docker images hello-world'
docker images hello-world | awk -F' +' '{ print $1"\t"$2"\t"$3"\t"$5 }' | column -t -s$'\t'
} | sed 's/^/ /'
} | sed 's/^/\t/'
echo
echo '%%LOGO%%'

View File

@ -1,27 +1,14 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `0.3.1` (*Dockerfile*)](https://github.com/dotcloud/hipache/blob/0.3.1/Dockerfile)
- [`latest`, `0.3.1` (*Dockerfile*)](https://github.com/dotcloud/hipache/blob/0.3.1/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/hipache`)](https://github.com/docker-library/official-images/blob/master/library/hipache)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/hipache`)](https://github.com/docker-library/official-images/blob/master/library/hipache) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Hipache?
**Hipache** (pronounced `hɪ'pætʃɪ`) is a distributed proxy designed to route
high volumes of http and websocket traffic to unusually large numbers of virtual
hosts, in a highly dynamic topology where backends are added and removed several
times per second. It is particularly well-suited for PaaS
(platform-as-a-service) and other environments that are both business-critical
and multi-tenant.
**Hipache** (pronounced `hɪ'pætʃɪ`) is a distributed proxy designed to route high volumes of http and websocket traffic to unusually large numbers of virtual hosts, in a highly dynamic topology where backends are added and removed several times per second. It is particularly well-suited for PaaS (platform-as-a-service) and other environments that are both business-critical and multi-tenant.
Hipache was originally developed at [dotCloud](http://www.dotcloud.com), a
popular platform-as-a-service, to replace its first-generation routing layer
based on a heavily instrumented nginx deployment. It currently serves production
traffic for tens of thousands of applications hosted on dotCloud. Hipache is
based on the node-http-proxy library.
Hipache was originally developed at [dotCloud](http://www.dotcloud.com), a popular platform-as-a-service, to replace its first-generation routing layer based on a heavily instrumented nginx deployment. It currently serves production traffic for tens of thousands of applications hosted on dotCloud. Hipache is based on the node-http-proxy library.
# Supported Docker versions
@ -33,20 +20,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/dotcloud/hipache/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/dotcloud/hipache/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/dotcloud/hipache/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/dotcloud/hipache/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.

View File

@ -1,14 +1,5 @@
# What is Hipache?
**Hipache** (pronounced `hɪ'pætʃɪ`) is a distributed proxy designed to route
high volumes of http and websocket traffic to unusually large numbers of virtual
hosts, in a highly dynamic topology where backends are added and removed several
times per second. It is particularly well-suited for PaaS
(platform-as-a-service) and other environments that are both business-critical
and multi-tenant.
**Hipache** (pronounced `hɪ'pætʃɪ`) is a distributed proxy designed to route high volumes of http and websocket traffic to unusually large numbers of virtual hosts, in a highly dynamic topology where backends are added and removed several times per second. It is particularly well-suited for PaaS (platform-as-a-service) and other environments that are both business-critical and multi-tenant.
Hipache was originally developed at [dotCloud](http://www.dotcloud.com), a
popular platform-as-a-service, to replace its first-generation routing layer
based on a heavily instrumented nginx deployment. It currently serves production
traffic for tens of thousands of applications hosted on dotCloud. Hipache is
based on the node-http-proxy library.
Hipache was originally developed at [dotCloud](http://www.dotcloud.com), a popular platform-as-a-service, to replace its first-generation routing layer based on a heavily instrumented nginx deployment. It currently serves production traffic for tens of thousands of applications hosted on dotCloud. Hipache is based on the node-http-proxy library.

View File

@ -1,22 +1,13 @@
# Supported tags and respective `Dockerfile` links
- [`2.2.29`, `2.2` (*2.2/Dockerfile*)](https://github.com/docker-library/httpd/blob/047048112cb4f8997b1a51f4295f44584b436a83/2.2/Dockerfile)
- [`2.4.12`, `2.4`, `2`, `latest` (*2.4/Dockerfile*)](https://github.com/docker-library/httpd/blob/9c77579dcf981f060732bf41845edea8e39a130b/2.4/Dockerfile)
- [`2.2.29`, `2.2` (*2.2/Dockerfile*)](https://github.com/docker-library/httpd/blob/047048112cb4f8997b1a51f4295f44584b436a83/2.2/Dockerfile)
- [`2.4.12`, `2.4`, `2`, `latest` (*2.4/Dockerfile*)](https://github.com/docker-library/httpd/blob/9c77579dcf981f060732bf41845edea8e39a130b/2.4/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/httpd`)](https://github.com/docker-library/official-images/blob/master/library/httpd)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/httpd`)](https://github.com/docker-library/official-images/blob/master/library/httpd) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is httpd?
The Apache HTTP Server, colloquially called Apache, is a Web server application
notable for playing a key role in the initial growth of the World Wide Web.
Originally based on the NCSA HTTPd server, development of Apache began in early
1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as
the dominant HTTP server, and has remained the most popular HTTP server in use
since April 1996.
The Apache HTTP Server, colloquially called Apache, is a Web server application notable for playing a key role in the initial growth of the World Wide Web. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server in use since April 1996.
> [wikipedia.org/wiki/Apache_HTTP_Server](http://en.wikipedia.org/wiki/Apache_HTTP_Server)
@ -24,57 +15,40 @@ since April 1996.
# How to use this image.
This image only contains Apache httpd with the defaults from upstream. There is
no PHP installed, but it should not be hard to extend. On the other hand, of you
just want PHP with Apache httpd see the [PHP
image](https://registry.hub.docker.com/_/php/) and look at the `-apache` tags.
If you want to run a simple HTML server, add a simple Dockerfile to your project
where `public-html/` is the directory containing all your HTML.
This image only contains Apache httpd with the defaults from upstream. There is no PHP installed, but it should not be hard to extend. On the other hand, of you just want PHP with Apache httpd see the [PHP image](https://registry.hub.docker.com/_/php/) and look at the `-apache` tags. If you want to run a simple HTML server, add a simple Dockerfile to your project where `public-html/` is the directory containing all your HTML.
### Create a `Dockerfile` in your project
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
Then, run the commands to build and run the Docker image:
docker build -t my-apache2 .
docker run -it --rm --name my-running-app my-apache2
docker build -t my-apache2 .
docker run -it --rm --name my-running-app my-apache2
### Without a `Dockerfile`
If you don't want to include a `Dockerfile` in your project, it is sufficient to
do the following:
If you don't want to include a `Dockerfile` in your project, it is sufficient to do the following:
docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
### Configuration
To customize the configuration of the httpd server, just `COPY` your custom
configuration in as `/usr/local/apache2/conf/httpd.conf`.
To customize the configuration of the httpd server, just `COPY` your custom configuration in as `/usr/local/apache2/conf/httpd.conf`.
FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
#### SSL/HTTPS
If you want to run your web traffic over SSL, the simplest setup is to `COPY` or
mount (`-v`) your `server.crt` and `server.key` into `/usr/local/apache2/conf/`
and then customize the `/usr/local/apache2/conf/httpd.conf` by removing the
comment from the line with `#Include conf/extra/httpd-ssl.conf`. This config
file will use the certificate files previously added and tell the daemon to also
listen on port 443. Be sure to also add something like `-p 443:443` to your
`docker run` to forward the https port.
If you want to run your web traffic over SSL, the simplest setup is to `COPY` or mount (`-v`) your `server.crt` and `server.key` into `/usr/local/apache2/conf/` and then customize the `/usr/local/apache2/conf/httpd.conf` by removing the comment from the line with `#Include conf/extra/httpd-ssl.conf`. This config file will use the certificate files previously added and tell the daemon to also listen on port 443. Be sure to also add something like `-p 443:443` to your `docker run` to forward the https port.
The previous steps should work well for development, but we recommend
customizing your conf files for production, see
[httpd.apache.org](https://httpd.apache.org/docs/2.2/ssl/ssl_faq.html) for more
information about SSL setup.
The previous steps should work well for development, but we recommend customizing your conf files for production, see [httpd.apache.org](https://httpd.apache.org/docs/2.2/ssl/ssl_faq.html) for more information about SSL setup.
# License
View [license information](https://www.apache.org/licenses/) for the software
contained in this image.
View [license information](https://www.apache.org/licenses/) for the software contained in this image.
# Supported Docker versions
@ -86,20 +60,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/httpd/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/httpd/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/httpd/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/httpd/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.

View File

@ -1,11 +1,6 @@
# What is httpd?
The Apache HTTP Server, colloquially called Apache, is a Web server application
notable for playing a key role in the initial growth of the World Wide Web.
Originally based on the NCSA HTTPd server, development of Apache began in early
1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as
the dominant HTTP server, and has remained the most popular HTTP server in use
since April 1996.
The Apache HTTP Server, colloquially called Apache, is a Web server application notable for playing a key role in the initial growth of the World Wide Web. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server in use since April 1996.
> [wikipedia.org/wiki/Apache_HTTP_Server](http://en.wikipedia.org/wiki/Apache_HTTP_Server)
@ -13,49 +8,33 @@ since April 1996.
# How to use this image.
This image only contains Apache httpd with the defaults from upstream. There is
no PHP installed, but it should not be hard to extend. On the other hand, of you
just want PHP with Apache httpd see the [PHP
image](https://registry.hub.docker.com/_/php/) and look at the `-apache` tags.
If you want to run a simple HTML server, add a simple Dockerfile to your project
where `public-html/` is the directory containing all your HTML.
This image only contains Apache httpd with the defaults from upstream. There is no PHP installed, but it should not be hard to extend. On the other hand, of you just want PHP with Apache httpd see the [PHP image](https://registry.hub.docker.com/_/php/) and look at the `-apache` tags. If you want to run a simple HTML server, add a simple Dockerfile to your project where `public-html/` is the directory containing all your HTML.
### Create a `Dockerfile` in your project
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
Then, run the commands to build and run the Docker image:
docker build -t my-apache2 .
docker run -it --rm --name my-running-app my-apache2
docker build -t my-apache2 .
docker run -it --rm --name my-running-app my-apache2
### Without a `Dockerfile`
If you don't want to include a `Dockerfile` in your project, it is sufficient to
do the following:
If you don't want to include a `Dockerfile` in your project, it is sufficient to do the following:
docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
### Configuration
To customize the configuration of the httpd server, just `COPY` your custom
configuration in as `/usr/local/apache2/conf/httpd.conf`.
To customize the configuration of the httpd server, just `COPY` your custom configuration in as `/usr/local/apache2/conf/httpd.conf`.
FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
FROM httpd:2.4
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
#### SSL/HTTPS
If you want to run your web traffic over SSL, the simplest setup is to `COPY` or
mount (`-v`) your `server.crt` and `server.key` into `/usr/local/apache2/conf/`
and then customize the `/usr/local/apache2/conf/httpd.conf` by removing the
comment from the line with `#Include conf/extra/httpd-ssl.conf`. This config
file will use the certificate files previously added and tell the daemon to also
listen on port 443. Be sure to also add something like `-p 443:443` to your
`docker run` to forward the https port.
If you want to run your web traffic over SSL, the simplest setup is to `COPY` or mount (`-v`) your `server.crt` and `server.key` into `/usr/local/apache2/conf/` and then customize the `/usr/local/apache2/conf/httpd.conf` by removing the comment from the line with `#Include conf/extra/httpd-ssl.conf`. This config file will use the certificate files previously added and tell the daemon to also listen on port 443. Be sure to also add something like `-p 443:443` to your `docker run` to forward the https port.
The previous steps should work well for development, but we recommend
customizing your conf files for production, see
[httpd.apache.org](https://httpd.apache.org/docs/2.2/ssl/ssl_faq.html) for more
information about SSL setup.
The previous steps should work well for development, but we recommend customizing your conf files for production, see [httpd.apache.org](https://httpd.apache.org/docs/2.2/ssl/ssl_faq.html) for more information about SSL setup.

View File

@ -1,2 +1 @@
View [license information](https://www.apache.org/licenses/) for the software
contained in this image.
View [license information](https://www.apache.org/licenses/) for the software contained in this image.

View File

@ -1,22 +1,12 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `0`, `0.10`, `0.10.1` (*Dockerfile*)](https://github.com/hylang/hy/blob/0.10.1/Dockerfile)
- [`latest`, `0`, `0.10`, `0.10.1` (*Dockerfile*)](https://github.com/hylang/hy/blob/0.10.1/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/hylang`)](https://github.com/docker-library/official-images/blob/master/library/hylang)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/hylang`)](https://github.com/docker-library/official-images/blob/master/library/hylang) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Hy?
Hy (a.k.a., Hylang) is a dialect of the Lisp programming language designed to
interoperate with Python by translating expressions into Python's abstract
syntax tree (AST). Similar to Clojure's mapping of s-expressions onto the JVM,
Hy is meant to operate as a transparent Lisp front end to Python's abstract
syntax. Hy also allows for Python libraries (including the standard library) to
be imported and accessed alongside Hy code with a compilation step, converting
the data structure of both into Python's AST.
Hy (a.k.a., Hylang) is a dialect of the Lisp programming language designed to interoperate with Python by translating expressions into Python's abstract syntax tree (AST). Similar to Clojure's mapping of s-expressions onto the JVM, Hy is meant to operate as a transparent Lisp front end to Python's abstract syntax. Hy also allows for Python libraries (including the standard library) to be imported and accessed alongside Hy code with a compilation step, converting the data structure of both into Python's AST.
> [wikipedia.org/wiki/Hy](https://en.wikipedia.org/wiki/Hy)
@ -26,28 +16,25 @@ the data structure of both into Python's AST.
## Create a `Dockerfile` in your Hy project
FROM hylang:0.10
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "hy", "./your-daemon-or-script.hy" ]
FROM hylang:0.10
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "hy", "./your-daemon-or-script.hy" ]
You can then build and run the Docker image:
docker build -t my-hylang-app
docker run -it --rm --name my-running-app my-hylang-app
docker build -t my-hylang-app
docker run -it --rm --name my-running-app my-hylang-app
## Run a single Hy script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Hy script by using the Hy
Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Hy script by using the Hy Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp hylang:0.10 hy your-daemon-or-script.hy
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp hylang:0.10 hy your-daemon-or-script.hy
# License
View [license information](https://github.com/hylang/hy/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/hylang/hy/blob/master/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -59,20 +46,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/hylang/hy/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/hylang/hy/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/hylang/hy/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/hylang/hy/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.

View File

@ -1,12 +1,6 @@
# What is Hy?
Hy (a.k.a., Hylang) is a dialect of the Lisp programming language designed to
interoperate with Python by translating expressions into Python's abstract
syntax tree (AST). Similar to Clojure's mapping of s-expressions onto the JVM,
Hy is meant to operate as a transparent Lisp front end to Python's abstract
syntax. Hy also allows for Python libraries (including the standard library) to
be imported and accessed alongside Hy code with a compilation step, converting
the data structure of both into Python's AST.
Hy (a.k.a., Hylang) is a dialect of the Lisp programming language designed to interoperate with Python by translating expressions into Python's abstract syntax tree (AST). Similar to Clojure's mapping of s-expressions onto the JVM, Hy is meant to operate as a transparent Lisp front end to Python's abstract syntax. Hy also allows for Python libraries (including the standard library) to be imported and accessed alongside Hy code with a compilation step, converting the data structure of both into Python's AST.
> [wikipedia.org/wiki/Hy](https://en.wikipedia.org/wiki/Hy)
@ -16,20 +10,18 @@ the data structure of both into Python's AST.
## Create a `Dockerfile` in your Hy project
FROM hylang:0.10
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "hy", "./your-daemon-or-script.hy" ]
FROM hylang:0.10
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
CMD [ "hy", "./your-daemon-or-script.hy" ]
You can then build and run the Docker image:
docker build -t my-hylang-app
docker run -it --rm --name my-running-app my-hylang-app
docker build -t my-hylang-app
docker run -it --rm --name my-running-app my-hylang-app
## Run a single Hy script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Hy script by using the Hy
Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Hy script by using the Hy Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp hylang:0.10 hy your-daemon-or-script.hy
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp hylang:0.10 hy your-daemon-or-script.hy

View File

@ -1,2 +1 @@
View [license information](https://github.com/hylang/hy/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/hylang/hy/blob/master/LICENSE) for the software contained in this image.

View File

@ -1,14 +1,10 @@
# Supported tags and respective `Dockerfile` links
- [`1.2.0`, `1.2`, `1`, `latest` (*1.2/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/Dockerfile)
- [`1.2.0-onbuild`, `1.2-onbuild`, `1-onbuild`, `onbuild` (*1.2/onbuild/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/onbuild/Dockerfile)
- [`1.2.0-slim`, `1.2-slim`, `1-slim`, `slim` (*1.2/slim/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/slim/Dockerfile)
- [`1.2.0`, `1.2`, `1`, `latest` (*1.2/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/Dockerfile)
- [`1.2.0-onbuild`, `1.2-onbuild`, `1-onbuild`, `onbuild` (*1.2/onbuild/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/onbuild/Dockerfile)
- [`1.2.0-slim`, `1.2-slim`, `1-slim`, `slim` (*1.2/slim/Dockerfile*)](https://github.com/iojs/docker-iojs/blob/d8d0b8bf6cd41da8ad4bfc63e9a7b2b098868eae/1.2/slim/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/iojs`)](https://github.com/docker-library/official-images/blob/master/library/iojs)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/iojs`)](https://github.com/docker-library/official-images/blob/master/library/iojs) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
## What is io.js?
@ -26,31 +22,24 @@ This project aims to continue development of io.js under an "open governance mod
If you want to distribute your application on the docker registry, create a `Dockerfile` in the root of application directory:
```
FROM iojs:onbuild
# Expose the ports that your app uses. For example:
EXPOSE 8080
```
FROM iojs:onbuild
# Expose the ports that your app uses. For example:
EXPOSE 8080
Then simply run:
```
$ docker build -t iojs-app
...
$ docker run --rm -it iojs-app
```
$ docker build -t iojs-app
...
$ docker run --rm -it iojs-app
To run a single script, you can mount it in a volume under `/usr/src/app`. From the root of your application directory (assuming your script is named `index.js`):
```
$ docker run -v ${PWD}:/usr/src/app -w /usr/src/app --it --rm iojs iojs index.js
```
$ docker run -v ${PWD}:/usr/src/app -w /usr/src/app --it --rm iojs iojs index.js
# License
View [license information](https://github.com/iojs/io.js/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/iojs/io.js/blob/master/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -62,20 +51,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/iojs/docker-iojs/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/iojs/docker-iojs/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/iojs/docker-iojs/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/iojs/docker-iojs/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.

View File

@ -14,23 +14,17 @@ This project aims to continue development of io.js under an "open governance mod
If you want to distribute your application on the docker registry, create a `Dockerfile` in the root of application directory:
```
FROM iojs:onbuild
# Expose the ports that your app uses. For example:
EXPOSE 8080
```
FROM iojs:onbuild
# Expose the ports that your app uses. For example:
EXPOSE 8080
Then simply run:
```
$ docker build -t iojs-app
...
$ docker run --rm -it iojs-app
```
$ docker build -t iojs-app
...
$ docker run --rm -it iojs-app
To run a single script, you can mount it in a volume under `/usr/src/app`. From the root of your application directory (assuming your script is named `index.js`):
```
$ docker run -v ${PWD}:/usr/src/app -w /usr/src/app --it --rm iojs iojs index.js
```
$ docker run -v ${PWD}:/usr/src/app -w /usr/src/app --it --rm iojs iojs index.js

View File

@ -1,2 +1 @@
View [license information](https://github.com/iojs/io.js/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/iojs/io.js/blob/master/LICENSE) for the software contained in this image.

View File

@ -1,18 +1,12 @@
# Supported tags and respective `Dockerfile` links
- [`0.8.17`, `0.8`, `0`, `latest` (*Dockerfile*)](https://github.com/jfrazelle/irssi/blob/dfefff246e4a04dee588feafc1d720b5247a112e/Dockerfile)
- [`0.8.17`, `0.8`, `0`, `latest` (*Dockerfile*)](https://github.com/jfrazelle/irssi/blob/dfefff246e4a04dee588feafc1d720b5247a112e/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/irssi`)](https://github.com/docker-library/official-images/blob/master/library/irssi)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/irssi`)](https://github.com/docker-library/official-images/blob/master/library/irssi) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is irssi?
Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and
ICB protocols via plugins. Some people refer to it as 'the client of the
future'.
Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and ICB protocols via plugins. Some people refer to it as 'the client of the future'.
> [irssi.org](http://irssi.org)
@ -20,46 +14,37 @@ future'.
# How to use this image
Because it is unlikely any two irssi users have the same configuration
preferences, this image does not include an irssi configuration. To configure
irssi to your liking, please refer to [upstream's excellent (and comprehensive)
+documentation](http://irssi.org/documentation).
Because it is unlikely any two irssi users have the same configuration preferences, this image does not include an irssi configuration. To configure irssi to your liking, please refer to [upstream's excellent (and comprehensive) +documentation](http://irssi.org/documentation).
Be sure to also checkout the [awesome
scripts](https://github.com/irssi/scripts.irssi.org) you can download to
customize your irssi configuration.
Be sure to also checkout the [awesome scripts](https://github.com/irssi/scripts.irssi.org) you can download to customize your irssi configuration.
## Directly via bind mount
On a Linux system, build and launch a container named `my-running-irssi` like
this:
On a Linux system, build and launch a container named `my-running-irssi` like this:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
-v /etc/localtime:/etc/localtime:ro \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
-v /etc/localtime:/etc/localtime:ro \
irssi
On a Mac OS X system, run the same image using:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
irssi
You omit `/etc/localtime` on Mac OS X because `boot2docker` doesn't use this
file.
You omit `/etc/localtime` on Mac OS X because `boot2docker` doesn't use this file.
Of course, you can name your image anything you like. In Docker 1.5 you can also
use the `--read-only` mount flag. For example, on Linux:
Of course, you can name your image anything you like. In Docker 1.5 you can also use the `--read-only` mount flag. For example, on Linux:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
--read-only -v $HOME/.irssi:/home/user/.irssi \
-v /etc/localtime:/etc/localtime \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
--read-only -v $HOME/.irssi:/home/user/.irssi \
-v /etc/localtime:/etc/localtime \
irssi
# License
View [license information](https://github.com/irssi/irssi/blob/master/COPYING) for
the software contained in this image.
View [license information](https://github.com/irssi/irssi/blob/master/COPYING) for the software contained in this image.
# Supported Docker versions
@ -71,20 +56,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/jfrazelle/irssi/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/jfrazelle/irssi/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/jfrazelle/irssi/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/jfrazelle/irssi/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.

View File

@ -1,8 +1,6 @@
# What is irssi?
Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and
ICB protocols via plugins. Some people refer to it as 'the client of the
future'.
Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and ICB protocols via plugins. Some people refer to it as 'the client of the future'.
> [irssi.org](http://irssi.org)
@ -10,38 +8,30 @@ future'.
# How to use this image
Because it is unlikely any two irssi users have the same configuration
preferences, this image does not include an irssi configuration. To configure
irssi to your liking, please refer to [upstream's excellent (and comprehensive)
+documentation](http://irssi.org/documentation).
Because it is unlikely any two irssi users have the same configuration preferences, this image does not include an irssi configuration. To configure irssi to your liking, please refer to [upstream's excellent (and comprehensive) +documentation](http://irssi.org/documentation).
Be sure to also checkout the [awesome
scripts](https://github.com/irssi/scripts.irssi.org) you can download to
customize your irssi configuration.
Be sure to also checkout the [awesome scripts](https://github.com/irssi/scripts.irssi.org) you can download to customize your irssi configuration.
## Directly via bind mount
On a Linux system, build and launch a container named `my-running-irssi` like
this:
On a Linux system, build and launch a container named `my-running-irssi` like this:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
-v /etc/localtime:/etc/localtime:ro \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
-v /etc/localtime:/etc/localtime:ro \
irssi
On a Mac OS X system, run the same image using:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
-v $HOME/.irssi:/home/user/.irssi:ro \
irssi
You omit `/etc/localtime` on Mac OS X because `boot2docker` doesn't use this
file.
You omit `/etc/localtime` on Mac OS X because `boot2docker` doesn't use this file.
Of course, you can name your image anything you like. In Docker 1.5 you can also
use the `--read-only` mount flag. For example, on Linux:
Of course, you can name your image anything you like. In Docker 1.5 you can also use the `--read-only` mount flag. For example, on Linux:
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
--read-only -v $HOME/.irssi:/home/user/.irssi \
-v /etc/localtime:/etc/localtime \
irssi
docker run -it --name my-running-irssi -e TERM -u $(id -u):$(id -g) \
--read-only -v $HOME/.irssi:/home/user/.irssi \
-v /etc/localtime:/etc/localtime \
irssi

View File

@ -1,2 +1 @@
View [license information](https://github.com/irssi/irssi/blob/master/COPYING) for
the software contained in this image.
View [license information](https://github.com/irssi/irssi/blob/master/COPYING) for the software contained in this image.

View File

@ -1,28 +1,21 @@
# Supported tags and respective `Dockerfile` links
- [`openjdk-6b34-jdk`, `openjdk-6b34`, `openjdk-6-jdk`, `openjdk-6`, `6b34-jdk`, `6b34`, `6-jdk`, `6` (*openjdk-6-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/3faf377815bd5409f91a007b092d38a36134baf5/openjdk-6-jdk/Dockerfile)
- [`openjdk-6b34-jre`, `openjdk-6-jre`, `6b34-jre`, `6-jre` (*openjdk-6-jre/Dockerfile*)](https://github.com/docker-library/java/blob/3faf377815bd5409f91a007b092d38a36134baf5/openjdk-6-jre/Dockerfile)
- [`openjdk-7u71-jdk`, `openjdk-7u71`, `openjdk-7-jdk`, `openjdk-7`, `7u71-jdk`, `7u71`, `7-jdk`, `7`, `jdk`, `latest` (*openjdk-7-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/8b20818d91705361ff42b597369620680d0af98c/openjdk-7-jdk/Dockerfile)
- [`openjdk-7u71-jre`, `openjdk-7-jre`, `7u71-jre`, `7-jre`, `jre` (*openjdk-7-jre/Dockerfile*)](https://github.com/docker-library/java/blob/d63214d23aad827190c599e23351bd0bdd7dcadc/openjdk-7-jre/Dockerfile)
- [`openjdk-8u40-b22-jdk`, `openjdk-8u40-b22`, `openjdk-8u40-jdk`, `openjdk-8u40`, `openjdk-8-jdk`, `openjdk-8`, `8u40-b22-jdk`, `8u40-b22`, `8u40-jdk`, `8u40`, `8-jdk`, `8` (*openjdk-8-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/4735dcec5fec2833635b8f6634d24d7e22c617b2/openjdk-8-jdk/Dockerfile)
- [`openjdk-8u40-b22-jre`, `openjdk-8u40-jre`, `openjdk-8-jre`, `8u40-b22-jre`, `8u40-jre`, `8-jre` (*openjdk-8-jre/Dockerfile*)](https://github.com/docker-library/java/blob/4735dcec5fec2833635b8f6634d24d7e22c617b2/openjdk-8-jre/Dockerfile)
- [`openjdk-6b34-jdk`, `openjdk-6b34`, `openjdk-6-jdk`, `openjdk-6`, `6b34-jdk`, `6b34`, `6-jdk`, `6` (*openjdk-6-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/3faf377815bd5409f91a007b092d38a36134baf5/openjdk-6-jdk/Dockerfile)
- [`openjdk-6b34-jre`, `openjdk-6-jre`, `6b34-jre`, `6-jre` (*openjdk-6-jre/Dockerfile*)](https://github.com/docker-library/java/blob/3faf377815bd5409f91a007b092d38a36134baf5/openjdk-6-jre/Dockerfile)
- [`openjdk-7u71-jdk`, `openjdk-7u71`, `openjdk-7-jdk`, `openjdk-7`, `7u71-jdk`, `7u71`, `7-jdk`, `7`, `jdk`, `latest` (*openjdk-7-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/8b20818d91705361ff42b597369620680d0af98c/openjdk-7-jdk/Dockerfile)
- [`openjdk-7u71-jre`, `openjdk-7-jre`, `7u71-jre`, `7-jre`, `jre` (*openjdk-7-jre/Dockerfile*)](https://github.com/docker-library/java/blob/d63214d23aad827190c599e23351bd0bdd7dcadc/openjdk-7-jre/Dockerfile)
- [`openjdk-8u40-b22-jdk`, `openjdk-8u40-b22`, `openjdk-8u40-jdk`, `openjdk-8u40`, `openjdk-8-jdk`, `openjdk-8`, `8u40-b22-jdk`, `8u40-b22`, `8u40-jdk`, `8u40`, `8-jdk`, `8` (*openjdk-8-jdk/Dockerfile*)](https://github.com/docker-library/java/blob/4735dcec5fec2833635b8f6634d24d7e22c617b2/openjdk-8-jdk/Dockerfile)
- [`openjdk-8u40-b22-jre`, `openjdk-8u40-jre`, `openjdk-8-jre`, `8u40-b22-jre`, `8u40-jre`, `8-jre` (*openjdk-8-jre/Dockerfile*)](https://github.com/docker-library/java/blob/4735dcec5fec2833635b8f6634d24d7e22c617b2/openjdk-8-jre/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/java`)](https://github.com/docker-library/official-images/blob/master/library/java)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/java`)](https://github.com/docker-library/official-images/blob/master/library/java) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Java?
Java is a concurrent, class-based, object-oriented language specifically
designed to have as few implementation dependencies as possible. It is intended
to allow application developers to "write once, run anywhere", meaning that code
that runs on one platform does not need to be recompiled to run on another.
Java is a concurrent, class-based, object-oriented language specifically designed to have as few implementation dependencies as possible. It is intended to allow application developers to "write once, run anywhere", meaning that code that runs on one platform does not need to be recompiled to run on another.
Java is a registered trademark of Oracle and/or its affiliates.
> [wikipedia.org/wiki/Java_(programming_language)](http://en.wikipedia.org/wiki/Java_(programming_language))
> [wikipedia.org/wiki/Java_(programming_language)](http://en.wikipedia.org/wiki/Java_%28programming_language%29)
![logo](https://raw.githubusercontent.com/docker-library/docs/master/java/logo.png)
@ -30,38 +23,30 @@ Java is a registered trademark of Oracle and/or its affiliates.
## Start a Java instance in your app
The most straightforward way to use this image is to use a Java container as
both the build and runtime environment. In your `Dockerfile`, writing something
along the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a Java container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
You can then run and build the Docker image:
docker build -t my-java-app .
docker run -it --rm --name my-running-app my-java-app
docker build -t my-java-app .
docker run -it --rm --name my-running-app my-java-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
This will add your current directory as a volume to the container, set the
working directory to the volume, and run the command `javac Main.java` which
will tell Java to compile the code in `Main.java` and output the Java class file
to `Main.class`.
This will add your current directory as a volume to the container, set the working directory to the volume, and run the command `javac Main.java` which will tell Java to compile the code in `Main.java` and output the Java class file to `Main.class`.
# License
View [license information](http://openjdk.java.net/legal/gplv2+ce.html)
for the software contained in this image.
View [license information](http://openjdk.java.net/legal/gplv2+ce.html) for the software contained in this image.
# Supported Docker versions
@ -73,20 +58,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/java/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/java/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/java/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/java/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.

View File

@ -1,13 +1,10 @@
# What is Java?
Java is a concurrent, class-based, object-oriented language specifically
designed to have as few implementation dependencies as possible. It is intended
to allow application developers to "write once, run anywhere", meaning that code
that runs on one platform does not need to be recompiled to run on another.
Java is a concurrent, class-based, object-oriented language specifically designed to have as few implementation dependencies as possible. It is intended to allow application developers to "write once, run anywhere", meaning that code that runs on one platform does not need to be recompiled to run on another.
Java is a registered trademark of Oracle and/or its affiliates.
> [wikipedia.org/wiki/Java_(programming_language)](http://en.wikipedia.org/wiki/Java_(programming_language))
> [wikipedia.org/wiki/Java_(programming_language)](http://en.wikipedia.org/wiki/Java_%28programming_language%29)
%%LOGO%%
@ -15,30 +12,23 @@ Java is a registered trademark of Oracle and/or its affiliates.
## Start a Java instance in your app
The most straightforward way to use this image is to use a Java container as
both the build and runtime environment. In your `Dockerfile`, writing something
along the lines of the following will compile and run your project:
The most straightforward way to use this image is to use a Java container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project:
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
FROM java:7
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]
You can then run and build the Docker image:
docker build -t my-java-app .
docker run -it --rm --name my-running-app my-java-app
docker build -t my-java-app .
docker run -it --rm --name my-running-app my-java-app
## Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a
container. To compile, but not run your app inside the Docker instance, you can
write something like:
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp java:7 javac Main.java
This will add your current directory as a volume to the container, set the
working directory to the volume, and run the command `javac Main.java` which
will tell Java to compile the code in `Main.java` and output the Java class file
to `Main.class`.
This will add your current directory as a volume to the container, set the working directory to the volume, and run the command `javac Main.java` which will tell Java to compile the code in `Main.java` and output the Java class file to `Main.class`.

View File

@ -1,2 +1 @@
View [license information](http://openjdk.java.net/legal/gplv2+ce.html)
for the software contained in this image.
View [license information](http://openjdk.java.net/legal/gplv2+ce.html) for the software contained in this image.

View File

@ -1,115 +1,98 @@
# Supported tags and respective `Dockerfile` links
- [`1.554.1` (*1.554.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.554.1/Dockerfile)
- [`1.554.2` (*1.554.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.554.2/Dockerfile)
- [`1.554.3` (*1.554.3/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.554.3/Dockerfile)
- [`1.555` (*1.555/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.555/Dockerfile)
- [`1.556` (*1.556/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.556/Dockerfile)
- [`1.557` (*1.557/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.557/Dockerfile)
- [`1.558` (*1.558/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.558/Dockerfile)
- [`1.559` (*1.559/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.559/Dockerfile)
- [`1.560` (*1.560/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.560/Dockerfile)
- [`1.561` (*1.561/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.561/Dockerfile)
- [`1.562` (*1.562/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.562/Dockerfile)
- [`1.563` (*1.563/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.563/Dockerfile)
- [`1.564` (*1.564/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.564/Dockerfile)
- [`1.565.1` (*1.565.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.565.1/Dockerfile)
- [`1.565.2` (*1.565.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.565.2/Dockerfile)
- [`1.565.3` (*1.565.3/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.565.3/Dockerfile)
- [`1.565` (*1.565/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.565/Dockerfile)
- [`1.566` (*1.566/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.566/Dockerfile)
- [`1.567` (*1.567/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.567/Dockerfile)
- [`1.568` (*1.568/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.568/Dockerfile)
- [`1.569` (*1.569/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.569/Dockerfile)
- [`1.570` (*1.570/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.570/Dockerfile)
- [`1.571` (*1.571/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.571/Dockerfile)
- [`1.572` (*1.572/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.572/Dockerfile)
- [`1.573` (*1.573/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.573/Dockerfile)
- [`1.574` (*1.574/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.574/Dockerfile)
- [`1.575` (*1.575/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.575/Dockerfile)
- [`1.576` (*1.576/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.576/Dockerfile)
- [`1.577` (*1.577/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.577/Dockerfile)
- [`1.578` (*1.578/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.578/Dockerfile)
- [`1.579` (*1.579/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.579/Dockerfile)
- [`1.580.1` (*1.580.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.580.1/Dockerfile)
- [`1.580.2`, `latest` (*1.580.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.580.2/Dockerfile)
- [`1.580` (*1.580/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.580/Dockerfile)
- [`1.581` (*1.581/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.581/Dockerfile)
- [`1.582` (*1.582/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.582/Dockerfile)
- [`1.583` (*1.583/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.583/Dockerfile)
- [`1.584` (*1.584/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.584/Dockerfile)
- [`1.585` (*1.585/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.585/Dockerfile)
- [`1.586` (*1.586/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.586/Dockerfile)
- [`1.587` (*1.587/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.587/Dockerfile)
- [`1.588` (*1.588/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.588/Dockerfile)
- [`1.589` (*1.589/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.589/Dockerfile)
- [`1.590` (*1.590/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.590/Dockerfile)
- [`1.591` (*1.591/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.591/Dockerfile)
- [`1.592` (*1.592/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.592/Dockerfile)
- [`1.593` (*1.593/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.593/Dockerfile)
- [`1.594` (*1.594/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.594/Dockerfile)
- [`1.595` (*1.595/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.595/Dockerfile)
- [`1.596`, `weekly` (*1.596/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.596/Dockerfile)
- [`1.554.1` (*1.554.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.554.1/Dockerfile)
- [`1.554.2` (*1.554.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.554.2/Dockerfile)
- [`1.554.3` (*1.554.3/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.554.3/Dockerfile)
- [`1.555` (*1.555/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.555/Dockerfile)
- [`1.556` (*1.556/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.556/Dockerfile)
- [`1.557` (*1.557/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.557/Dockerfile)
- [`1.558` (*1.558/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.558/Dockerfile)
- [`1.559` (*1.559/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.559/Dockerfile)
- [`1.560` (*1.560/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.560/Dockerfile)
- [`1.561` (*1.561/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.561/Dockerfile)
- [`1.562` (*1.562/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.562/Dockerfile)
- [`1.563` (*1.563/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.563/Dockerfile)
- [`1.564` (*1.564/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.564/Dockerfile)
- [`1.565.1` (*1.565.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.565.1/Dockerfile)
- [`1.565.2` (*1.565.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/f313389f8ab728d7b4207da36804ea54415c830b/1.565.2/Dockerfile)
- [`1.565.3` (*1.565.3/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.565.3/Dockerfile)
- [`1.565` (*1.565/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.565/Dockerfile)
- [`1.566` (*1.566/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.566/Dockerfile)
- [`1.567` (*1.567/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.567/Dockerfile)
- [`1.568` (*1.568/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.568/Dockerfile)
- [`1.569` (*1.569/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.569/Dockerfile)
- [`1.570` (*1.570/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.570/Dockerfile)
- [`1.571` (*1.571/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.571/Dockerfile)
- [`1.572` (*1.572/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.572/Dockerfile)
- [`1.573` (*1.573/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.573/Dockerfile)
- [`1.574` (*1.574/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.574/Dockerfile)
- [`1.575` (*1.575/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.575/Dockerfile)
- [`1.576` (*1.576/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.576/Dockerfile)
- [`1.577` (*1.577/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.577/Dockerfile)
- [`1.578` (*1.578/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.578/Dockerfile)
- [`1.579` (*1.579/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.579/Dockerfile)
- [`1.580.1` (*1.580.1/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.580.1/Dockerfile)
- [`1.580.2`, `latest` (*1.580.2/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.580.2/Dockerfile)
- [`1.580` (*1.580/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.580/Dockerfile)
- [`1.581` (*1.581/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.581/Dockerfile)
- [`1.582` (*1.582/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.582/Dockerfile)
- [`1.583` (*1.583/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.583/Dockerfile)
- [`1.584` (*1.584/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.584/Dockerfile)
- [`1.585` (*1.585/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.585/Dockerfile)
- [`1.586` (*1.586/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.586/Dockerfile)
- [`1.587` (*1.587/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.587/Dockerfile)
- [`1.588` (*1.588/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.588/Dockerfile)
- [`1.589` (*1.589/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.589/Dockerfile)
- [`1.590` (*1.590/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.590/Dockerfile)
- [`1.591` (*1.591/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.591/Dockerfile)
- [`1.592` (*1.592/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/40c3e3f46939b9f9dcf8d46e62fa7daa80485588/1.592/Dockerfile)
- [`1.593` (*1.593/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.593/Dockerfile)
- [`1.594` (*1.594/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.594/Dockerfile)
- [`1.595` (*1.595/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.595/Dockerfile)
- [`1.596`, `weekly` (*1.596/Dockerfile*)](https://github.com/cloudbees/jenkins-ci.org-docker/blob/c39540d22e2a9c20e691cbdc4c9c54aee77be357/1.596/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/jenkins`)](https://github.com/docker-library/official-images/blob/master/library/jenkins)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/jenkins`)](https://github.com/docker-library/official-images/blob/master/library/jenkins) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# Jenkins
The Jenkins Continuous Integration and Delivery server.
This is a fully functional Jenkins server, based on the Long Term Support
release [http://jenkins-ci.org/](http://jenkins-ci.org/).
This is a fully functional Jenkins server, based on the Long Term Support release [http://jenkins-ci.org/](http://jenkins-ci.org/).
![logo](http://jenkins-ci.org/sites/default/files/jenkins_logo.png)
# How to use this image
docker run -p 8080:8080 jenkins
docker run -p 8080:8080 jenkins
This will store the workspace in /var/jenkins_home. All Jenkins data lives in
there - including plugins and configuration. You will probably want to make that
a persistent volume:
This will store the workspace in /var/jenkins_home. All Jenkins data lives in there - including plugins and configuration. You will probably want to make that a persistent volume:
docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins
docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins
The volume for the "myjenkins" named container will then be persistent.
You can also bind mount in a volume from the host:
First, ensure that /your/home is accessible by the jenkins user in container
(jenkins user - uid 102 normally - or use -u root), then:
First, ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 102 normally - or use -u root), then:
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
## Backing up data
If you bind mount in a volume - you can simply back up that directory (which is
jenkins_home) at any time.
If you bind mount in a volume - you can simply back up that directory (which is jenkins_home) at any time.
If your volume is inside a container - you can use `docker cp
$ID:/var/jenkins_home` command to extract the data.
## Attaching build executors
You can run builds on the master (out of the box) buf if you want to attach
build slave servers: make sure you map the port: `-p 50000:50000` - which will
be used when you connect a slave agent.
You can run builds on the master (out of the box) buf if you want to attach build slave servers: make sure you map the port: `-p 50000:50000` - which will be used when you connect a slave agent.
[Here](https://registry.hub.docker.com/u/maestrodev/build-agent/) is an example
docker container you can use as a build server with lots of good tools installed
- which is well worth trying.
[Here](https://registry.hub.docker.com/u/maestrodev/build-agent/) is an example docker container you can use as a build server with lots of good tools installed - which is well worth trying.
## Upgrading
All the data needed is in the /var/jenkins_home directory - so depending on how
you manage that - depends on how you upgrade. Generally - you can copy it out -
and then "docker pull" the image again - and you will have the latest LTS - you
can then start up with -v pointing to that data (/var/jenkins_home) and
everything will be as you left it.
All the data needed is in the /var/jenkins_home directory - so depending on how you manage that - depends on how you upgrade. Generally - you can copy it out - and then "docker pull" the image again - and you will have the latest LTS - you can then start up with -v pointing to that data (/var/jenkins_home) and everything will be as you left it.
# Supported Docker versions
@ -121,20 +104,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/cloudbees/jenkins-ci.org-docker/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/cloudbees/jenkins-ci.org-docker/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/cloudbees/jenkins-ci.org-docker/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/cloudbees/jenkins-ci.org-docker/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.

View File

@ -2,52 +2,39 @@
The Jenkins Continuous Integration and Delivery server.
This is a fully functional Jenkins server, based on the Long Term Support
release [http://jenkins-ci.org/](http://jenkins-ci.org/).
This is a fully functional Jenkins server, based on the Long Term Support release [http://jenkins-ci.org/](http://jenkins-ci.org/).
![logo](http://jenkins-ci.org/sites/default/files/jenkins_logo.png)
# How to use this image
docker run -p 8080:8080 jenkins
docker run -p 8080:8080 jenkins
This will store the workspace in /var/jenkins_home. All Jenkins data lives in
there - including plugins and configuration. You will probably want to make that
a persistent volume:
This will store the workspace in /var/jenkins_home. All Jenkins data lives in there - including plugins and configuration. You will probably want to make that a persistent volume:
docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins
docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins
The volume for the "myjenkins" named container will then be persistent.
You can also bind mount in a volume from the host:
First, ensure that /your/home is accessible by the jenkins user in container
(jenkins user - uid 102 normally - or use -u root), then:
First, ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 102 normally - or use -u root), then:
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
## Backing up data
If you bind mount in a volume - you can simply back up that directory (which is
jenkins_home) at any time.
If you bind mount in a volume - you can simply back up that directory (which is jenkins_home) at any time.
If your volume is inside a container - you can use `docker cp
$ID:/var/jenkins_home` command to extract the data.
## Attaching build executors
You can run builds on the master (out of the box) buf if you want to attach
build slave servers: make sure you map the port: `-p 50000:50000` - which will
be used when you connect a slave agent.
You can run builds on the master (out of the box) buf if you want to attach build slave servers: make sure you map the port: `-p 50000:50000` - which will be used when you connect a slave agent.
[Here](https://registry.hub.docker.com/u/maestrodev/build-agent/) is an example
docker container you can use as a build server with lots of good tools installed
- which is well worth trying.
[Here](https://registry.hub.docker.com/u/maestrodev/build-agent/) is an example docker container you can use as a build server with lots of good tools installed - which is well worth trying.
## Upgrading
All the data needed is in the /var/jenkins_home directory - so depending on how
you manage that - depends on how you upgrade. Generally - you can copy it out -
and then "docker pull" the image again - and you will have the latest LTS - you
can then start up with -v pointing to that data (/var/jenkins_home) and
everything will be as you left it.
All the data needed is in the /var/jenkins_home directory - so depending on how you manage that - depends on how you upgrade. Generally - you can copy it out - and then "docker pull" the image again - and you will have the latest LTS - you can then start up with -v pointing to that data (/var/jenkins_home) and everything will be as you left it.

View File

@ -1,66 +1,48 @@
# Supported tags and respective `Dockerfile` links
- [`7.6.16-jre7`, `7.6-jre7`, `7-jre7`, `7.6.16`, `7.6`, `7` (*7-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/7-jre7/Dockerfile)
- [`7.6.16-jre8`, `7.6-jre8`, `7-jre8` (*7-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/7-jre8/Dockerfile)
- [`8.1.16-jre7`, `8.1-jre7`, `8-jre7`, `8.1.16`, `8.1`, `8` (*8-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/8-jre7/Dockerfile)
- [`8.1.16-jre8`, `8.1-jre8`, `8-jre8` (*8-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/8-jre8/Dockerfile)
- [`9.2.7-jre7`, `9.2-jre7`, `9-jre7`, `jre7`, `9.2.7`, `9.2`, `9`, `latest` (*9-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/9-jre7/Dockerfile)
- [`9.2.7-jre8`, `9.2-jre8`, `9-jre8`, `jre8` (*9-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/9-jre8/Dockerfile)
- [`7.6.16-jre7`, `7.6-jre7`, `7-jre7`, `7.6.16`, `7.6`, `7` (*7-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/7-jre7/Dockerfile)
- [`7.6.16-jre8`, `7.6-jre8`, `7-jre8` (*7-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/7-jre8/Dockerfile)
- [`8.1.16-jre7`, `8.1-jre7`, `8-jre7`, `8.1.16`, `8.1`, `8` (*8-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/8-jre7/Dockerfile)
- [`8.1.16-jre8`, `8.1-jre8`, `8-jre8` (*8-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/8-jre8/Dockerfile)
- [`9.2.7-jre7`, `9.2-jre7`, `9-jre7`, `jre7`, `9.2.7`, `9.2`, `9`, `latest` (*9-jre7/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/9-jre7/Dockerfile)
- [`9.2.7-jre8`, `9.2-jre8`, `9-jre8`, `jre8` (*9-jre8/Dockerfile*)](https://github.com/md5/docker-jetty/blob/74bdfc42759346f2c43f0faf7e7521f227a5e219/9-jre8/Dockerfile)
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).
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.
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))
> [wikipedia.org/wiki/Jetty_(web_server)](https://en.wikipedia.org/wiki/Jetty_%28web_server%29)
![logo](https://raw.githubusercontent.com/docker-library/docs/master/jetty/logo.png)
Logo &copy; Eclipse Foundation
![logo](https://raw.githubusercontent.com/docker-library/docs/master/jetty/logo.png)Logo &copy; Eclipse Foundation
# How to use this image.
Run the default Jetty server (`CMD ["jetty.sh", "run"]`):
docker run -d jetty:9
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:
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
docker run -d -p 8888:8080 jetty:9
You can then go to `http://localhost:8888` or `http://host-ip:8888` in a
browser.
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
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`.
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.
View [license information](http://eclipse.org/jetty/licenses.php) for the software contained in this image.
# Supported Docker versions
@ -72,20 +54,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/md5/docker-jetty/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/md5/docker-jetty/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/md5/docker-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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/md5/docker-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.

View File

@ -1,43 +1,30 @@
# 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.
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))
> [wikipedia.org/wiki/Jetty_(web_server)](https://en.wikipedia.org/wiki/Jetty_%28web_server%29)
%%LOGO%%
Logo &copy; Eclipse Foundation
%%LOGO%% Logo &copy; Eclipse Foundation
# How to use this image.
Run the default Jetty server (`CMD ["jetty.sh", "run"]`):
docker run -d jetty:9
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:
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
docker run -d -p 8888:8080 jetty:9
You can then go to `http://localhost:8888` or `http://host-ip:8888` in a
browser.
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
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`.
Webapps can be [deployed](https://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications) in `/usr/local/jetty/webapps`.

View File

@ -1,2 +1 @@
View [license information](http://eclipse.org/jetty/licenses.php) for the
software contained in this image.
View [license information](http://eclipse.org/jetty/licenses.php) for the software contained in this image.

View File

@ -1,35 +1,23 @@
# Supported tags and respective `Dockerfile` links
- [`1.7`, `1.7.19`, `latest`, `1.7-jre`, `1.7.19-jre` (*1.7/jre/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/68e55e5eaf8f8159ade4a305df0fd65f633493ae/1.7/jre/Dockerfile)
- [`1.7-jdk`, `1.7.19-jdk` (*1.7/jdk/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/68e55e5eaf8f8159ade4a305df0fd65f633493ae/1.7/jdk/Dockerfile)
- [`1.7-onbuild`, `1.7.19-onbuild` (*1.7/onbuild/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/627e1d1805efd8ff8b5f931f8d63a0de2c5b64e2/1.7/onbuild/Dockerfile)
- [`9.0.0.0`, `9.0.0.0-jre`, `9.0.0.0.pre1`, `9.0.0.0.pre1-jre` (*9000/jre/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/7d3e3c8872c557c311cfbf85e54ebe4c82e8a725/9000/jre/Dockerfile)
- [`9.0.0.0-jdk`, `9.0.0.0.pre1-jdk` (*9000/jdk/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/7d3e3c8872c557c311cfbf85e54ebe4c82e8a725/9000/jdk/Dockerfile)
- [`9.0.0.0-onbuild`, `9.0.0.0.pre1-onbuild` (*9000/onbuild/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/627e1d1805efd8ff8b5f931f8d63a0de2c5b64e2/9000/onbuild/Dockerfile)
- [`1.7`, `1.7.19`, `latest`, `1.7-jre`, `1.7.19-jre` (*1.7/jre/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/68e55e5eaf8f8159ade4a305df0fd65f633493ae/1.7/jre/Dockerfile)
- [`1.7-jdk`, `1.7.19-jdk` (*1.7/jdk/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/68e55e5eaf8f8159ade4a305df0fd65f633493ae/1.7/jdk/Dockerfile)
- [`1.7-onbuild`, `1.7.19-onbuild` (*1.7/onbuild/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/627e1d1805efd8ff8b5f931f8d63a0de2c5b64e2/1.7/onbuild/Dockerfile)
- [`9.0.0.0`, `9.0.0.0-jre`, `9.0.0.0.pre1`, `9.0.0.0.pre1-jre` (*9000/jre/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/7d3e3c8872c557c311cfbf85e54ebe4c82e8a725/9000/jre/Dockerfile)
- [`9.0.0.0-jdk`, `9.0.0.0.pre1-jdk` (*9000/jdk/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/7d3e3c8872c557c311cfbf85e54ebe4c82e8a725/9000/jdk/Dockerfile)
- [`9.0.0.0-onbuild`, `9.0.0.0.pre1-onbuild` (*9000/onbuild/Dockerfile*)](https://github.com/cpuguy83/docker-jruby/blob/627e1d1805efd8ff8b5f931f8d63a0de2c5b64e2/9000/onbuild/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/jruby`)](https://github.com/docker-library/official-images/blob/master/library/jruby)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/jruby`)](https://github.com/docker-library/official-images/blob/master/library/jruby) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is JRuby?
JRuby (http://www.jruby.org) is an implementation of Ruby
(http://www.ruby-lang.org) on the JVM.
JRuby (http://www.jruby.org) is an implementation of Ruby (http://www.ruby-lang.org) on the JVM.
Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source
programming language. According to its authors, Ruby was influenced by Perl,
Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms,
including functional, object-oriented, and imperative. It also has a dynamic
type system and automatic memory management.
Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source programming language. According to its authors, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.
> [wikipedia.org/wiki/Ruby_(programming_language)](https://en.wikipedia.org/wiki/Ruby_(programming_language))
> [wikipedia.org/wiki/Ruby_(programming_language)](https://en.wikipedia.org/wiki/Ruby_%28programming_language%29)
JRuby leverages the robustness and speed of the JVM while providing the same
Ruby that you already know and love.
With JRuby you are able to take advantage of real native threads, enhanced
garbage collection, and even import and use java libraries.
JRuby leverages the robustness and speed of the JVM while providing the same Ruby that you already know and love. With JRuby you are able to take advantage of real native threads, enhanced garbage collection, and even import and use java libraries.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/jruby/logo.png)
@ -37,40 +25,35 @@ garbage collection, and even import and use java libraries.
## Create a `Dockerfile` in your Ruby app project
FROM jruby:1.7-onbuild
CMD ["./your-daemon-or-script.rb"]
FROM jruby:1.7-onbuild
CMD ["./your-daemon-or-script.rb"]
Put this file in the root of your app, next to the `Gemfile`.
This image includes multiple `ONBUILD` triggers which should be all you need to
bootstrap most applications. The build will `COPY . /usr/src/app` and `RUN
This image includes multiple `ONBUILD` triggers which should be all you need to bootstrap most applications. The build will `COPY . /usr/src/app` and `RUN
bundle install`.
You can then build and run the Ruby image:
docker build -t my-ruby-app .
docker run -it --name my-running-script my-ruby-app
docker build -t my-ruby-app .
docker run -it --name my-running-script my-ruby-app
### Generate a `Gemfile.lock`
The `onbuid` tag expects a `Gemfile.lock` in your app directory. This `docker
run` will help you generate one. Run it in the root of your app, next to the
`Gemfile`:
run` will help you generate one. Run it in the root of your app, next to the `Gemfile`:
docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:1.7 bundle install --system
docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:1.7 bundle install --system
## Run a single Ruby script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Ruby script by using the
Ruby Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Ruby script by using the Ruby Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp jruby:1.7 jruby your-daemon-or-script.rb
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp jruby:1.7 jruby your-daemon-or-script.rb
# License
View [license information](https://github.com/jruby/jruby/blob/master/COPYING)
for the software contained in this image.
View [license information](https://github.com/jruby/jruby/blob/master/COPYING) for the software contained in this image.
# Supported Docker versions
@ -82,20 +65,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/cpuguy83/docker-jruby/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/cpuguy83/docker-jruby/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/cpuguy83/docker-jruby/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/cpuguy83/docker-jruby/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.

View File

@ -1,20 +1,12 @@
# What is JRuby?
JRuby (http://www.jruby.org) is an implementation of Ruby
(http://www.ruby-lang.org) on the JVM.
JRuby (http://www.jruby.org) is an implementation of Ruby (http://www.ruby-lang.org) on the JVM.
Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source
programming language. According to its authors, Ruby was influenced by Perl,
Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms,
including functional, object-oriented, and imperative. It also has a dynamic
type system and automatic memory management.
Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source programming language. According to its authors, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.
> [wikipedia.org/wiki/Ruby_(programming_language)](https://en.wikipedia.org/wiki/Ruby_(programming_language))
> [wikipedia.org/wiki/Ruby_(programming_language)](https://en.wikipedia.org/wiki/Ruby_%28programming_language%29)
JRuby leverages the robustness and speed of the JVM while providing the same
Ruby that you already know and love.
With JRuby you are able to take advantage of real native threads, enhanced
garbage collection, and even import and use java libraries.
JRuby leverages the robustness and speed of the JVM while providing the same Ruby that you already know and love. With JRuby you are able to take advantage of real native threads, enhanced garbage collection, and even import and use java libraries.
%%LOGO%%
@ -22,32 +14,28 @@ garbage collection, and even import and use java libraries.
## Create a `Dockerfile` in your Ruby app project
FROM jruby:1.7-onbuild
CMD ["./your-daemon-or-script.rb"]
FROM jruby:1.7-onbuild
CMD ["./your-daemon-or-script.rb"]
Put this file in the root of your app, next to the `Gemfile`.
This image includes multiple `ONBUILD` triggers which should be all you need to
bootstrap most applications. The build will `COPY . /usr/src/app` and `RUN
This image includes multiple `ONBUILD` triggers which should be all you need to bootstrap most applications. The build will `COPY . /usr/src/app` and `RUN
bundle install`.
You can then build and run the Ruby image:
docker build -t my-ruby-app .
docker run -it --name my-running-script my-ruby-app
docker build -t my-ruby-app .
docker run -it --name my-running-script my-ruby-app
### Generate a `Gemfile.lock`
The `onbuid` tag expects a `Gemfile.lock` in your app directory. This `docker
run` will help you generate one. Run it in the root of your app, next to the
`Gemfile`:
run` will help you generate one. Run it in the root of your app, next to the `Gemfile`:
docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:1.7 bundle install --system
docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:1.7 bundle install --system
## Run a single Ruby script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Ruby script by using the
Ruby Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Ruby script by using the Ruby Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp jruby:1.7 jruby your-daemon-or-script.rb
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp jruby:1.7 jruby your-daemon-or-script.rb

View File

@ -1,2 +1 @@
View [license information](https://github.com/jruby/jruby/blob/master/COPYING)
for the software contained in this image.
View [license information](https://github.com/jruby/jruby/blob/master/COPYING) for the software contained in this image.

View File

@ -1,59 +1,42 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `4` (*4/Dockerfile*)](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/603a75ec98dfd7c26ed85108b309d4e5f39ded91/4/Dockerfile)
- [`cauldron` (*cauldron/Dockerfile*)](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/603a75ec98dfd7c26ed85108b309d4e5f39ded91/cauldron/Dockerfile)
- [`latest`, `4` (*4/Dockerfile*)](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/603a75ec98dfd7c26ed85108b309d4e5f39ded91/4/Dockerfile)
- [`cauldron` (*cauldron/Dockerfile*)](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/603a75ec98dfd7c26ed85108b309d4e5f39ded91/cauldron/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/mageia`)](https://github.com/docker-library/official-images/blob/master/library/mageia)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/mageia`)](https://github.com/docker-library/official-images/blob/master/library/mageia) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Mageia?
[Mageia](http://www.mageia.org) is a GNU/Linux-based, Free Software operating
system.It is a [community](https://www.mageia.org/en/community/) project,
supported by [a nonprofit
organisation](https://www.mageia.org/en/about/#mageia.org) of elected
contributors.
[Mageia](http://www.mageia.org) is a GNU/Linux-based, Free Software operating system.It is a [community](https://www.mageia.org/en/community/) project, supported by [a nonprofit organisation](https://www.mageia.org/en/about/#mageia.org) of elected contributors.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/mageia/logo.png)
Our mission: to build great tools for people.
Further than just delivering a secure, stable and sustainable operating system,
the goal is to set up a stable and trustable governance to direct collaborative
projects.
Further than just delivering a secure, stable and sustainable operating system, the goal is to set up a stable and trustable governance to direct collaborative projects.
To date, Mageia:
- [started in September 2010 as a
fork](https://www.mageia.org/en/about/2010-sept-announcement.html) of Mandriva
Linux;
- gathered hundreds of careful individuals and several companies worldwide,who
coproduce the infrastructure, the distribution itself,
[documentation](https://wiki.mageia.org/),
[delivery](https://www.mageia.org/en/downloads/) and
[support](https://www.mageia.org/en/support/), using Free Software tools;
- released four major stable releases in June 2011, in May 2012, in May 2013 and
in February 2014.
- [started in September 2010 as a fork](https://www.mageia.org/en/about/2010-sept-announcement.html) of Mandriva Linux;
- gathered hundreds of careful individuals and several companies worldwide,who coproduce the infrastructure, the distribution itself, [documentation](https://wiki.mageia.org/), [delivery](https://www.mageia.org/en/downloads/) and [support](https://www.mageia.org/en/support/), using Free Software tools;
- released four major stable releases in June 2011, in May 2012, in May 2013 and in February 2014.
# How to use this image
## Create a Dockerfile for your container
FROM mageia:4
MAINTAINER "Foo Bar" <foo@bar.com>
CMD [ "bash" ]
FROM mageia:4
MAINTAINER "Foo Bar" <foo@bar.com>
CMD [ "bash" ]
## Installed packages
All images install the following packages:
* basesystem-minimal
* urpmi
* locales
* locales-en
- basesystem-minimal
- urpmi
- locales
- locales-en
# Supported Docker versions
@ -65,20 +48,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/juanluisbaptiste/docker-brew-mageia/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/juanluisbaptiste/docker-brew-mageia/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/juanluisbaptiste/docker-brew-mageia/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/juanluisbaptiste/docker-brew-mageia/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.

View File

@ -1,45 +1,32 @@
# What is Mageia?
[Mageia](http://www.mageia.org) is a GNU/Linux-based, Free Software operating
system.It is a [community](https://www.mageia.org/en/community/) project,
supported by [a nonprofit
organisation](https://www.mageia.org/en/about/#mageia.org) of elected
contributors.
[Mageia](http://www.mageia.org) is a GNU/Linux-based, Free Software operating system.It is a [community](https://www.mageia.org/en/community/) project, supported by [a nonprofit organisation](https://www.mageia.org/en/about/#mageia.org) of elected contributors.
%%LOGO%%
Our mission: to build great tools for people.
Further than just delivering a secure, stable and sustainable operating system,
the goal is to set up a stable and trustable governance to direct collaborative
projects.
Further than just delivering a secure, stable and sustainable operating system, the goal is to set up a stable and trustable governance to direct collaborative projects.
To date, Mageia:
- [started in September 2010 as a
fork](https://www.mageia.org/en/about/2010-sept-announcement.html) of Mandriva
Linux;
- gathered hundreds of careful individuals and several companies worldwide,who
coproduce the infrastructure, the distribution itself,
[documentation](https://wiki.mageia.org/),
[delivery](https://www.mageia.org/en/downloads/) and
[support](https://www.mageia.org/en/support/), using Free Software tools;
- released four major stable releases in June 2011, in May 2012, in May 2013 and
in February 2014.
- [started in September 2010 as a fork](https://www.mageia.org/en/about/2010-sept-announcement.html) of Mandriva Linux;
- gathered hundreds of careful individuals and several companies worldwide,who coproduce the infrastructure, the distribution itself, [documentation](https://wiki.mageia.org/), [delivery](https://www.mageia.org/en/downloads/) and [support](https://www.mageia.org/en/support/), using Free Software tools;
- released four major stable releases in June 2011, in May 2012, in May 2013 and in February 2014.
# How to use this image
## Create a Dockerfile for your container
FROM mageia:4
MAINTAINER "Foo Bar" <foo@bar.com>
CMD [ "bash" ]
FROM mageia:4
MAINTAINER "Foo Bar" <foo@bar.com>
CMD [ "bash" ]
## Installed packages
All images install the following packages:
* basesystem-minimal
* urpmi
* locales
* locales-en
- basesystem-minimal
- urpmi
- locales
- locales-en

View File

@ -1,30 +1,16 @@
# Supported tags and respective `Dockerfile` links
- [`10.0.16`, `10.0`, `10`, `latest` (*10.0/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/10.0/Dockerfile)
- [`10.1.2`, `10.1` (*10.1/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/10.1/Dockerfile)
- [`5.5.41`, `5.5`, `5` (*5.5/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/5.5/Dockerfile)
- [`10.0.16`, `10.0`, `10`, `latest` (*10.0/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/10.0/Dockerfile)
- [`10.1.2`, `10.1` (*10.1/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/10.1/Dockerfile)
- [`5.5.41`, `5.5`, `5` (*5.5/Dockerfile*)](https://github.com/docker-library/mariadb/blob/307bb762ff7e529eab7551fc31b13bccb808c674/5.5/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/mariadb`)](https://github.com/docker-library/official-images/blob/master/library/mariadb)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/mariadb`)](https://github.com/docker-library/official-images/blob/master/library/mariadb) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is MariaDB?
MariaDB is a community-developed fork of the MySQL relational database
management system intended to remain free under the GNU GPL. Being a fork of a
leading open source software system, it is notable for being led by the original
developers of MySQL, who forked it due to concerns over its acquisition by
Oracle. Contributors are required to share their copyright with the MariaDB
Foundation.
MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle. Contributors are required to share their copyright with the MariaDB Foundation.
The intent is also to maintain high compatibility with MySQL, ensuring a
"drop-in" replacement capability with library binary equivalency and exact
matching with MySQL APIs and commands. It includes the XtraDB storage engine for
replacing InnoDB, as well as a new storage engine, Aria, that intends to be both
a transactional and non-transactional engine perhaps even included in future
versions of MySQL.
The intent is also to maintain high compatibility with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine for replacing InnoDB, as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL.
> [wikipedia.org/wiki/MariaDB](https://en.wikipedia.org/wiki/MariaDB)
@ -34,58 +20,39 @@ versions of MySQL.
## start a mariadb instance
docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb
docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb
This image includes `EXPOSE 3306` (the mysql/mariadb port), so standard
container linking will make it automatically available to the linked containers
(as the following examples illustrate).
This image includes `EXPOSE 3306` (the mysql/mariadb port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
Since MariaDB is intended as a drop-in replacement for MySQL, it can be used
with many applications.
Since MariaDB is intended as a drop-in replacement for MySQL, it can be used with many applications.
docker run --name some-app --link some-mariadb:mysql -d application-that-uses-mysql
docker run --name some-app --link some-mariadb:mysql -d application-that-uses-mysql
## ... or via `mysql`
docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
## Environment Variables
The MariaDB image uses several environment variables which are easy to miss. While
not all the variables are required, they may significantly aid you in using the
image. The variables use "MYSQL" since the MariaDB binary is `mysqld`.
The MariaDB image uses several environment variables which are easy to miss. While not all the variables are required, they may significantly aid you in using the image. The variables use "MYSQL" since the MariaDB binary is `mysqld`.
### `MYSQL_ROOT_PASSWORD`
This is the one environment variable that is required for you to use the MariaDB
image. This environment variable should be what you want to set the root
password for MariaDB to. In the above example, it is being set to
"mysecretpassword".
This is the one environment variable that is required for you to use the MariaDB image. This environment variable should be what you want to set the root password for MariaDB to. In the above example, it is being set to "mysecretpassword".
### `MYSQL_USER`, `MYSQL_PASSWORD`
These optional environment variables are used in conjunction to set both a MariaDB
user and password, which will subsequently be granted all permissions for the
database specified by the optional `MYSQL_DATABASE` variable. Note that if you
only have one of these two environment variables, then neither will actually do
anything - these two are meant to be used in conjunction with one another.
These optional environment variables are used in conjunction to set both a MariaDB user and password, which will subsequently be granted all permissions for the database specified by the optional `MYSQL_DATABASE` variable. Note that if you only have one of these two environment variables, then neither will actually do anything - these two are meant to be used in conjunction with one another.
### `MYSQL_DATABASE`
This optional environment variable denotes the name of a database to create. If
a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD`
environment variables) then that user account will be granted (`GRANT ALL`)
access to this database.
This optional environment variable denotes the name of a database to create. If a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD` environment variables) then that user account will be granted (`GRANT ALL`) access to this database.
# Caveats
If there is no database when `mariadb` starts in a container, then `mariadb` will
create the default database for you. While this is the expected behavior of
`mariadb`, this means that it will not accept incoming connections during that
time. This may cause issues when using automation tools, such as `fig`, that
start several containers simultaneously.
If there is no database when `mariadb` starts in a container, then `mariadb` will create the default database for you. While this is the expected behavior of `mariadb`, this means that it will not accept incoming connections during that time. This may cause issues when using automation tools, such as `fig`, that start several containers simultaneously.
# Supported Docker versions
@ -97,20 +64,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/mariadb/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/mariadb/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/mariadb/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/mariadb/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.

View File

@ -1,18 +1,8 @@
# What is MariaDB?
MariaDB is a community-developed fork of the MySQL relational database
management system intended to remain free under the GNU GPL. Being a fork of a
leading open source software system, it is notable for being led by the original
developers of MySQL, who forked it due to concerns over its acquisition by
Oracle. Contributors are required to share their copyright with the MariaDB
Foundation.
MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle. Contributors are required to share their copyright with the MariaDB Foundation.
The intent is also to maintain high compatibility with MySQL, ensuring a
"drop-in" replacement capability with library binary equivalency and exact
matching with MySQL APIs and commands. It includes the XtraDB storage engine for
replacing InnoDB, as well as a new storage engine, Aria, that intends to be both
a transactional and non-transactional engine perhaps even included in future
versions of MySQL.
The intent is also to maintain high compatibility with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine for replacing InnoDB, as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL.
> [wikipedia.org/wiki/MariaDB](https://en.wikipedia.org/wiki/MariaDB)
@ -22,55 +12,36 @@ versions of MySQL.
## start a mariadb instance
docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb
docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mariadb
This image includes `EXPOSE 3306` (the mysql/mariadb port), so standard
container linking will make it automatically available to the linked containers
(as the following examples illustrate).
This image includes `EXPOSE 3306` (the mysql/mariadb port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
Since MariaDB is intended as a drop-in replacement for MySQL, it can be used
with many applications.
Since MariaDB is intended as a drop-in replacement for MySQL, it can be used with many applications.
docker run --name some-app --link some-mariadb:mysql -d application-that-uses-mysql
docker run --name some-app --link some-mariadb:mysql -d application-that-uses-mysql
## ... or via `mysql`
docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
docker run -it --link some-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
## Environment Variables
The MariaDB image uses several environment variables which are easy to miss. While
not all the variables are required, they may significantly aid you in using the
image. The variables use "MYSQL" since the MariaDB binary is `mysqld`.
The MariaDB image uses several environment variables which are easy to miss. While not all the variables are required, they may significantly aid you in using the image. The variables use "MYSQL" since the MariaDB binary is `mysqld`.
### `MYSQL_ROOT_PASSWORD`
This is the one environment variable that is required for you to use the MariaDB
image. This environment variable should be what you want to set the root
password for MariaDB to. In the above example, it is being set to
"mysecretpassword".
This is the one environment variable that is required for you to use the MariaDB image. This environment variable should be what you want to set the root password for MariaDB to. In the above example, it is being set to "mysecretpassword".
### `MYSQL_USER`, `MYSQL_PASSWORD`
These optional environment variables are used in conjunction to set both a MariaDB
user and password, which will subsequently be granted all permissions for the
database specified by the optional `MYSQL_DATABASE` variable. Note that if you
only have one of these two environment variables, then neither will actually do
anything - these two are meant to be used in conjunction with one another.
These optional environment variables are used in conjunction to set both a MariaDB user and password, which will subsequently be granted all permissions for the database specified by the optional `MYSQL_DATABASE` variable. Note that if you only have one of these two environment variables, then neither will actually do anything - these two are meant to be used in conjunction with one another.
### `MYSQL_DATABASE`
This optional environment variable denotes the name of a database to create. If
a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD`
environment variables) then that user account will be granted (`GRANT ALL`)
access to this database.
This optional environment variable denotes the name of a database to create. If a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD` environment variables) then that user account will be granted (`GRANT ALL`) access to this database.
# Caveats
If there is no database when `mariadb` starts in a container, then `mariadb` will
create the default database for you. While this is the expected behavior of
`mariadb`, this means that it will not accept incoming connections during that
time. This may cause issues when using automation tools, such as `fig`, that
start several containers simultaneously.
If there is no database when `mariadb` starts in a container, then `mariadb` will create the default database for you. While this is the expected behavior of `mariadb`, this means that it will not accept incoming connections during that time. This may cause issues when using automation tools, such as `fig`, that start several containers simultaneously.

4
markdownfmt.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
set -e
exec docker run -it --rm -v "$PWD":/scratch -w /scratch tianon/markdownfmt markdownfmt "$@"

View File

@ -1,25 +1,17 @@
# Supported tags and respective `Dockerfile` links
- [`3.2.5-jdk-6`, `3.2-jdk-6`, `3-jdk-6` (*jdk-6/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-6/Dockerfile)
- [`3.2.5-jdk-6-onbuild`, `3.2-jdk-6-onbuild`, `3-jdk-6-onbuild` (*jdk-6/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-6/onbuild/Dockerfile)
- [`3.2.5-jdk-7`, `3.2.5`, `3.2-jdk-7`, `3.2`, `3-jdk-7`, `3`, `latest` (*jdk-7/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-7/Dockerfile)
- [`3.2.5-jdk-7-onbuild`, `3.2.5-onbuild`, `3.2-jdk-7-onbuild`, `3.2-onbuild`, `3-jdk-7-onbuild`, `3-onbuild`, `onbuild` (*jdk-7/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-7/onbuild/Dockerfile)
- [`3.2.5-jdk-8`, `3.2-jdk-8`, `3-jdk-8` (*jdk-8/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-8/Dockerfile)
- [`3.2.5-jdk-8-onbuild`, `3.2-jdk-8-onbuild`, `3-jdk-8-onbuild` (*jdk-8/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-8/onbuild/Dockerfile)
- [`3.2.5-jdk-6`, `3.2-jdk-6`, `3-jdk-6` (*jdk-6/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-6/Dockerfile)
- [`3.2.5-jdk-6-onbuild`, `3.2-jdk-6-onbuild`, `3-jdk-6-onbuild` (*jdk-6/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-6/onbuild/Dockerfile)
- [`3.2.5-jdk-7`, `3.2.5`, `3.2-jdk-7`, `3.2`, `3-jdk-7`, `3`, `latest` (*jdk-7/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-7/Dockerfile)
- [`3.2.5-jdk-7-onbuild`, `3.2.5-onbuild`, `3.2-jdk-7-onbuild`, `3.2-onbuild`, `3-jdk-7-onbuild`, `3-onbuild`, `onbuild` (*jdk-7/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-7/onbuild/Dockerfile)
- [`3.2.5-jdk-8`, `3.2-jdk-8`, `3-jdk-8` (*jdk-8/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/84b934b2349c83b4ebda7f668b71ba53e60e9c83/jdk-8/Dockerfile)
- [`3.2.5-jdk-8-onbuild`, `3.2-jdk-8-onbuild`, `3-jdk-8-onbuild` (*jdk-8/onbuild/Dockerfile*)](https://github.com/carlossg/docker-maven/blob/b022df671b603a9100ed9e75803ae32f753826a4/jdk-8/onbuild/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/maven`)](https://github.com/docker-library/official-images/blob/master/library/maven)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/maven`)](https://github.com/docker-library/official-images/blob/master/library/maven) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Maven?
[Apache Maven](http://maven.apache.org) is a software project management and
comprehension tool.
Based on the concept of a project object model (POM),
Maven can manage a project's build,
reporting and documentation from a central piece of information.
[Apache Maven](http://maven.apache.org) is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
![logo](https://raw.githubusercontent.com/docker-library/docs/master/maven/logo.png)
@ -27,34 +19,27 @@ reporting and documentation from a central piece of information.
## Create a Dockerfile in your Maven project
FROM maven:3.2-jdk-7-onbuild
CMD ["do-something-with-built-packages"]
FROM maven:3.2-jdk-7-onbuild
CMD ["do-something-with-built-packages"]
Put this file in the root of your project, next to the pom.xml.
This image includes multiple ONBUILD triggers which should be all you need to
bootstrap.
The build will `COPY . /usr/src/app` and `RUN mvn install`.
This image includes multiple ONBUILD triggers which should be all you need to bootstrap. The build will `COPY . /usr/src/app` and `RUN mvn install`.
You can then build and run the image:
docker build -t my-maven .
docker run -it --name my-maven-script my-maven
docker build -t my-maven .
docker run -it --name my-maven-script my-maven
## Run a single Maven command
For many simple projects, you may find it inconvenient to write a complete
`Dockerfile`.
In such cases, you can run a Maven project by using the Maven Docker image
directly, passing a Maven command to `docker run`:
For many simple projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Maven project by using the Maven Docker image directly, passing a Maven command to `docker run`:
docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.2-jdk-7 mvn clean install
docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.2-jdk-7 mvn clean install
# License
View [license information](https://www.apache.org/licenses/) for the software
contained in this image.
View [license information](https://www.apache.org/licenses/) for the software contained in this image.
# Supported Docker versions
@ -66,20 +51,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/carlossg/docker-maven/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/carlossg/docker-maven/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/carlossg/docker-maven/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/carlossg/docker-maven/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.

View File

@ -1,10 +1,6 @@
# What is Maven?
[Apache Maven](http://maven.apache.org) is a software project management and
comprehension tool.
Based on the concept of a project object model (POM),
Maven can manage a project's build,
reporting and documentation from a central piece of information.
[Apache Maven](http://maven.apache.org) is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
%%LOGO%%
@ -12,26 +8,20 @@ reporting and documentation from a central piece of information.
## Create a Dockerfile in your Maven project
FROM maven:3.2-jdk-7-onbuild
CMD ["do-something-with-built-packages"]
FROM maven:3.2-jdk-7-onbuild
CMD ["do-something-with-built-packages"]
Put this file in the root of your project, next to the pom.xml.
This image includes multiple ONBUILD triggers which should be all you need to
bootstrap.
The build will `COPY . /usr/src/app` and `RUN mvn install`.
This image includes multiple ONBUILD triggers which should be all you need to bootstrap. The build will `COPY . /usr/src/app` and `RUN mvn install`.
You can then build and run the image:
docker build -t my-maven .
docker run -it --name my-maven-script my-maven
docker build -t my-maven .
docker run -it --name my-maven-script my-maven
## Run a single Maven command
For many simple projects, you may find it inconvenient to write a complete
`Dockerfile`.
In such cases, you can run a Maven project by using the Maven Docker image
directly, passing a Maven command to `docker run`:
For many simple projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Maven project by using the Maven Docker image directly, passing a Maven command to `docker run`:
docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.2-jdk-7 mvn clean install
docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.2-jdk-7 mvn clean install

View File

@ -1,2 +1 @@
View [license information](https://www.apache.org/licenses/) for the software
contained in this image.
View [license information](https://www.apache.org/licenses/) for the software contained in this image.

View File

@ -1,48 +1,32 @@
# Supported tags and respective `Dockerfile` links
- [`1.4.22`, `1.4`, `1`, `latest` (*Dockerfile*)](https://github.com/docker-library/memcached/blob/5fb6459a1eb138dcd9cfcd5fa1aef62ee511d335/Dockerfile)
- [`1.4.22`, `1.4`, `1`, `latest` (*Dockerfile*)](https://github.com/docker-library/memcached/blob/5fb6459a1eb138dcd9cfcd5fa1aef62ee511d335/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/memcached`)](https://github.com/docker-library/official-images/blob/master/library/memcached)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/memcached`)](https://github.com/docker-library/official-images/blob/master/library/memcached) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Memcached?
Memcached is a general-purpose distributed memory caching system. It is often
used to speed up dynamic database-driven websites by caching data and objects in
RAM to reduce the number of times an external data source (such as a database or
API) must be read.
Memcached is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.
Memcached's APIs provide a very large hash table distributed across multiple
machines. When the table is full, subsequent inserts cause older data to be
purged in least recently used order. Applications using Memcached typically
layer requests and additions into RAM before falling back on a slower backing
store, such as a database.
Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in least recently used order. Applications using Memcached typically layer requests and additions into RAM before falling back on a slower backing store, such as a database.
> [wikipedia.org/wiki/Memcached](https://en.wikipedia.org/wiki/Memcached)
# How to use this image
docker run --name my-memcache -d memcached
docker run --name my-memcache -d memcached
Start your memcached container with the above command and then you can connect
you app to it with standard linking:
Start your memcached container with the above command and then you can connect you app to it with standard linking:
docker run --link my-memcache:memcache -d my-app-image
docker run --link my-memcache:memcache -d my-app-image
The memcached server information would then be available through the ENV
variables generated by the link as well as through DNS as `memcache` from
`/etc/hosts`.
The memcached server information would then be available through the ENV variables generated by the link as well as through DNS as `memcache` from `/etc/hosts`.
For infomation on configuring your memcached server, see the extensive [wiki](https://code.google.com/p/memcached/wiki/NewStart).
# License
View [license
information](https://github.com/memcached/memcached/blob/master/LICENSE) for the
software contained in this image.
View [license information](https://github.com/memcached/memcached/blob/master/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -54,20 +38,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/memcached/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/memcached/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/memcached/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/memcached/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.

View File

@ -1,29 +1,19 @@
# What is Memcached?
Memcached is a general-purpose distributed memory caching system. It is often
used to speed up dynamic database-driven websites by caching data and objects in
RAM to reduce the number of times an external data source (such as a database or
API) must be read.
Memcached is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.
Memcached's APIs provide a very large hash table distributed across multiple
machines. When the table is full, subsequent inserts cause older data to be
purged in least recently used order. Applications using Memcached typically
layer requests and additions into RAM before falling back on a slower backing
store, such as a database.
Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in least recently used order. Applications using Memcached typically layer requests and additions into RAM before falling back on a slower backing store, such as a database.
> [wikipedia.org/wiki/Memcached](https://en.wikipedia.org/wiki/Memcached)
# How to use this image
docker run --name my-memcache -d memcached
docker run --name my-memcache -d memcached
Start your memcached container with the above command and then you can connect
you app to it with standard linking:
Start your memcached container with the above command and then you can connect you app to it with standard linking:
docker run --link my-memcache:memcache -d my-app-image
docker run --link my-memcache:memcache -d my-app-image
The memcached server information would then be available through the ENV
variables generated by the link as well as through DNS as `memcache` from
`/etc/hosts`.
The memcached server information would then be available through the ENV variables generated by the link as well as through DNS as `memcache` from `/etc/hosts`.
For infomation on configuring your memcached server, see the extensive [wiki](https://code.google.com/p/memcached/wiki/NewStart).

View File

@ -1,3 +1 @@
View [license
information](https://github.com/memcached/memcached/blob/master/LICENSE) for the
software contained in this image.
View [license information](https://github.com/memcached/memcached/blob/master/LICENSE) for the software contained in this image.

View File

@ -1,33 +1,17 @@
# Supported tags and respective `Dockerfile` links
- [`2.2.7`, `2.2` (*2.2/Dockerfile*)](https://github.com/docker-library/mongo/blob/d9fb48dbdb0b9c35d35902429fe1a28527959f25/2.2/Dockerfile)
- [`2.4.12`, `2.4` (*2.4/Dockerfile*)](https://github.com/docker-library/mongo/blob/d9fb48dbdb0b9c35d35902429fe1a28527959f25/2.4/Dockerfile)
- [`2.6.7`, `2.6`, `2`, `latest` (*2.6/Dockerfile*)](https://github.com/docker-library/mongo/blob/1d641659a75cf2f8ce1b517c7fc2a0ebfd033eed/2.6/Dockerfile)
- [`3.0.0-rc8`, `3.0.0`, `3.0` (*3.0/Dockerfile*)](https://github.com/docker-library/mongo/blob/f8371828ff30af2479b768bd39e0646ab13a1d40/3.0/Dockerfile)
- [`2.2.7`, `2.2` (*2.2/Dockerfile*)](https://github.com/docker-library/mongo/blob/d9fb48dbdb0b9c35d35902429fe1a28527959f25/2.2/Dockerfile)
- [`2.4.12`, `2.4` (*2.4/Dockerfile*)](https://github.com/docker-library/mongo/blob/d9fb48dbdb0b9c35d35902429fe1a28527959f25/2.4/Dockerfile)
- [`2.6.7`, `2.6`, `2`, `latest` (*2.6/Dockerfile*)](https://github.com/docker-library/mongo/blob/1d641659a75cf2f8ce1b517c7fc2a0ebfd033eed/2.6/Dockerfile)
- [`3.0.0-rc8`, `3.0.0`, `3.0` (*3.0/Dockerfile*)](https://github.com/docker-library/mongo/blob/f8371828ff30af2479b768bd39e0646ab13a1d40/3.0/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/mongo`)](https://github.com/docker-library/official-images/blob/master/library/mongo)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/mongo`)](https://github.com/docker-library/official-images/blob/master/library/mongo) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is MongoDB?
MongoDB (from "humongous") is a cross-platform document-oriented database.
Classified as a NoSQL database, MongoDB eschews the traditional table-based
relational database structure in favor of JSON-like documents with dynamic
schemas (MongoDB calls the format BSON), making the integration of data in
certain types of applications easier and faster. Released under a combination of
the GNU Affero General Public License and the Apache License, MongoDB is free
and open-source software.
MongoDB (from "humongous") is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. Released under a combination of the GNU Affero General Public License and the Apache License, MongoDB is free and open-source software.
First developed by the software company 10gen (now MongoDB Inc.) in October 2007
as a component of a planned platform as a service product, the company shifted
to an open source development model in 2009, with 10gen offering commercial
support and other services. Since then, MongoDB has been adopted as backend
software by a number of major websites and services, including Craigslist, eBay,
Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB
is the most popular NoSQL database system.
First developed by the software company 10gen (now MongoDB Inc.) in October 2007 as a component of a planned platform as a service product, the company shifted to an open source development model in 2009, with 10gen offering commercial support and other services. Since then, MongoDB has been adopted as backend software by a number of major websites and services, including Craigslist, eBay, Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB is the most popular NoSQL database system.
> [wikipedia.org/wiki/MongoDB](https://en.wikipedia.org/wiki/MongoDB)
@ -37,30 +21,25 @@ is the most popular NoSQL database system.
## start a mongo instance
docker run --name some-mongo -d mongo
docker run --name some-mongo -d mongo
This image includes `EXPOSE 27017` (the mongo port), so standard container
linking will make it automatically available to the linked containers (as the
following examples illustrate).
This image includes `EXPOSE 27017` (the mongo port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo
docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo
## ... or via `mongo`
docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'
docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'
## Configuration
See the [official docs](http://docs.mongodb.org/manual/) for infomation on using
and configuring MongoDB for things like replica sets and sharding.
See the [official docs](http://docs.mongodb.org/manual/) for infomation on using and configuring MongoDB for things like replica sets and sharding.
# License
View [license
information](https://github.com/mongodb/mongo/blob/7c3cfac300cfcca4f73f1c3b18457f0f8fae3f69/README#L71)
for the software contained in this image.
View [license information](https://github.com/mongodb/mongo/blob/7c3cfac300cfcca4f73f1c3b18457f0f8fae3f69/README#L71) for the software contained in this image.
# Supported Docker versions
@ -72,20 +51,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/mongo/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/mongo/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/mongo/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/mongo/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.

View File

@ -1,20 +1,8 @@
# What is MongoDB?
MongoDB (from "humongous") is a cross-platform document-oriented database.
Classified as a NoSQL database, MongoDB eschews the traditional table-based
relational database structure in favor of JSON-like documents with dynamic
schemas (MongoDB calls the format BSON), making the integration of data in
certain types of applications easier and faster. Released under a combination of
the GNU Affero General Public License and the Apache License, MongoDB is free
and open-source software.
MongoDB (from "humongous") is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. Released under a combination of the GNU Affero General Public License and the Apache License, MongoDB is free and open-source software.
First developed by the software company 10gen (now MongoDB Inc.) in October 2007
as a component of a planned platform as a service product, the company shifted
to an open source development model in 2009, with 10gen offering commercial
support and other services. Since then, MongoDB has been adopted as backend
software by a number of major websites and services, including Craigslist, eBay,
Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB
is the most popular NoSQL database system.
First developed by the software company 10gen (now MongoDB Inc.) in October 2007 as a component of a planned platform as a service product, the company shifted to an open source development model in 2009, with 10gen offering commercial support and other services. Since then, MongoDB has been adopted as backend software by a number of major websites and services, including Craigslist, eBay, Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB is the most popular NoSQL database system.
> [wikipedia.org/wiki/MongoDB](https://en.wikipedia.org/wiki/MongoDB)
@ -24,21 +12,18 @@ is the most popular NoSQL database system.
## start a mongo instance
docker run --name some-mongo -d mongo
docker run --name some-mongo -d mongo
This image includes `EXPOSE 27017` (the mongo port), so standard container
linking will make it automatically available to the linked containers (as the
following examples illustrate).
This image includes `EXPOSE 27017` (the mongo port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo
docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo
## ... or via `mongo`
docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'
docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'
## Configuration
See the [official docs](http://docs.mongodb.org/manual/) for infomation on using
and configuring MongoDB for things like replica sets and sharding.
See the [official docs](http://docs.mongodb.org/manual/) for infomation on using and configuring MongoDB for things like replica sets and sharding.

View File

@ -1,3 +1 @@
View [license
information](https://github.com/mongodb/mongo/blob/7c3cfac300cfcca4f73f1c3b18457f0f8fae3f69/README#L71)
for the software contained in this image.
View [license information](https://github.com/mongodb/mongo/blob/7c3cfac300cfcca4f73f1c3b18457f0f8fae3f69/README#L71) for the software contained in this image.

View File

@ -1,28 +1,20 @@
# Supported tags and respective `Dockerfile` links
- [`3.10.0`, `3.10` (*3.10.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.10.0/Dockerfile)
- [`3.10.0-onbuild`, `3.10-onbuild` (*3.10.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.10.0/onbuild/Dockerfile)
- [`3.12.0`, `3.12`, `3`, `latest` (*3.12.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.12.0/Dockerfile)
- [`3.12.0-onbuild`, `3.12-onbuild`, `3-onbuild`, `onbuild` (*3.12.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.12.0/onbuild/Dockerfile)
- [`3.8.0`, `3.8` (*3.8.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.8.0/Dockerfile)
- [`3.8.0-onbuild`, `3.8-onbuild` (*3.8.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.8.0/onbuild/Dockerfile)
- [`3.10.0`, `3.10` (*3.10.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.10.0/Dockerfile)
- [`3.10.0-onbuild`, `3.10-onbuild` (*3.10.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.10.0/onbuild/Dockerfile)
- [`3.12.0`, `3.12`, `3`, `latest` (*3.12.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.12.0/Dockerfile)
- [`3.12.0-onbuild`, `3.12-onbuild`, `3-onbuild`, `onbuild` (*3.12.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.12.0/onbuild/Dockerfile)
- [`3.8.0`, `3.8` (*3.8.0/Dockerfile*)](https://github.com/mono/docker/blob/2d7f8f39a10ab9fda43b33ba17f6985d1b2cd3d8/3.8.0/Dockerfile)
- [`3.8.0-onbuild`, `3.8-onbuild` (*3.8.0/onbuild/Dockerfile*)](https://github.com/mono/docker/blob/66226b17125b72685c2022e4fecaee2716b0fb3a/3.8.0/onbuild/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/mono`)](https://github.com/docker-library/official-images/blob/master/library/mono)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/mono`)](https://github.com/docker-library/official-images/blob/master/library/mono) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Mono
Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET
Framework based on the ECMA standards for C# and the Common Language Runtime. A
growing family of solutions and an active and enthusiastic contributing
community is helping position Mono to become the leading choice for development
of cross platform applications.
Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. A growing family of solutions and an active and enthusiastic contributing community is helping position Mono to become the leading choice for development of cross platform applications.
* [Mono Project homepage](http://www.mono-project.com/)
* [http://en.wikipedia.org/wiki/Mono_(software)](http://en.wikipedia.org/wiki/Mono_(software))
- [Mono Project homepage](http://www.mono-project.com/)
- [http://en.wikipedia.org/wiki/Mono_(software)](http://en.wikipedia.org/wiki/Mono_%28software%29)
![logo](https://raw.githubusercontent.com/docker-library/docs/master/mono/logo.png)
@ -34,21 +26,17 @@ This image will run stand-alone Mono console apps.
This example Dockerfile will run an executable called `TestingConsoleApp.exe`.
FROM mono:3.10-onbuild
CMD [ "mono", "./TestingConsoleApp.exe" ]
FROM mono:3.10-onbuild
CMD [ "mono", "./TestingConsoleApp.exe" ]
Place this file in the root of your app, next to the `.sln` solution file.
Modify the exectuable name to match what you want to run.
Place this file in the root of your app, next to the `.sln` solution file. Modify the exectuable name to match what you want to run.
This image includes `ONBUILD` triggers that adds your app source code to
`/usr/src/app/source`, restores NuGet packages and compiles the app, placing the
output in `/usr/src/app/build`.
This image includes `ONBUILD` triggers that adds your app source code to `/usr/src/app/source`, restores NuGet packages and compiles the app, placing the output in `/usr/src/app/build`.
With the Dockerfile in place, you can build and run a Docker image with your
app:
With the Dockerfile in place, you can build and run a Docker image with your app:
docker build -t my-app .
docker run my-app
docker build -t my-app .
docker run my-app
You should see any output from your app now.
@ -60,9 +48,7 @@ Thanks to [Michael Friis](http://friism.com/) for his preliminary work.
# License
This Docker Image is licensed with the Expat License. See the [Mono Project
licensing FAQ](http://www.mono-project.com/docs/faq/licensing/) for details on
how Mono and associated libraries are licensed.
This Docker Image is licensed with the Expat License. See the [Mono Project licensing FAQ](http://www.mono-project.com/docs/faq/licensing/) for details on how Mono and associated libraries are licensed.
# Supported Docker versions

View File

@ -1,13 +1,9 @@
# What is Mono
Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET
Framework based on the ECMA standards for C# and the Common Language Runtime. A
growing family of solutions and an active and enthusiastic contributing
community is helping position Mono to become the leading choice for development
of cross platform applications.
Sponsored by Xamarin, Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. A growing family of solutions and an active and enthusiastic contributing community is helping position Mono to become the leading choice for development of cross platform applications.
* [Mono Project homepage](http://www.mono-project.com/)
* [http://en.wikipedia.org/wiki/Mono_(software)](http://en.wikipedia.org/wiki/Mono_(software))
- [Mono Project homepage](http://www.mono-project.com/)
- [http://en.wikipedia.org/wiki/Mono_(software)](http://en.wikipedia.org/wiki/Mono_%28software%29)
%%LOGO%%
@ -19,21 +15,17 @@ This image will run stand-alone Mono console apps.
This example Dockerfile will run an executable called `TestingConsoleApp.exe`.
FROM mono:3.10-onbuild
CMD [ "mono", "./TestingConsoleApp.exe" ]
FROM mono:3.10-onbuild
CMD [ "mono", "./TestingConsoleApp.exe" ]
Place this file in the root of your app, next to the `.sln` solution file.
Modify the exectuable name to match what you want to run.
Place this file in the root of your app, next to the `.sln` solution file. Modify the exectuable name to match what you want to run.
This image includes `ONBUILD` triggers that adds your app source code to
`/usr/src/app/source`, restores NuGet packages and compiles the app, placing the
output in `/usr/src/app/build`.
This image includes `ONBUILD` triggers that adds your app source code to `/usr/src/app/source`, restores NuGet packages and compiles the app, placing the output in `/usr/src/app/build`.
With the Dockerfile in place, you can build and run a Docker image with your
app:
With the Dockerfile in place, you can build and run a Docker image with your app:
docker build -t my-app .
docker run my-app
docker build -t my-app .
docker run my-app
You should see any output from your app now.

View File

@ -1,3 +1 @@
This Docker Image is licensed with the Expat License. See the [Mono Project
licensing FAQ](http://www.mono-project.com/docs/faq/licensing/) for details on
how Mono and associated libraries are licensed.
This Docker Image is licensed with the Expat License. See the [Mono Project licensing FAQ](http://www.mono-project.com/docs/faq/licensing/) for details on how Mono and associated libraries are licensed.

View File

@ -1,27 +1,16 @@
# Supported tags and respective `Dockerfile` links
- [`5.5.42`, `5.5` (*5.5/Dockerfile*)](https://github.com/docker-library/mysql/blob/8ed790ab199eeef0f36ef0547ae28e5654cbef0d/5.5/Dockerfile)
- [`5.6.23`, `5.6`, `5`, `latest` (*5.6/Dockerfile*)](https://github.com/docker-library/mysql/blob/8ed790ab199eeef0f36ef0547ae28e5654cbef0d/5.6/Dockerfile)
- [`5.7.5-m15`, `5.7.5`, `5.7` (*5.7/Dockerfile*)](https://github.com/docker-library/mysql/blob/66f8feb4296894143ced202dd0042bc361096747/5.7/Dockerfile)
- [`5.5.42`, `5.5` (*5.5/Dockerfile*)](https://github.com/docker-library/mysql/blob/8ed790ab199eeef0f36ef0547ae28e5654cbef0d/5.5/Dockerfile)
- [`5.6.23`, `5.6`, `5`, `latest` (*5.6/Dockerfile*)](https://github.com/docker-library/mysql/blob/8ed790ab199eeef0f36ef0547ae28e5654cbef0d/5.6/Dockerfile)
- [`5.7.5-m15`, `5.7.5`, `5.7` (*5.7/Dockerfile*)](https://github.com/docker-library/mysql/blob/66f8feb4296894143ced202dd0042bc361096747/5.7/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/mysql`)](https://github.com/docker-library/official-images/blob/master/library/mysql)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/mysql`)](https://github.com/docker-library/official-images/blob/master/library/mysql) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is MySQL?
MySQL is (as of March 2014) the world's second most widely used open-source
relational database management system (RDBMS). It is named after co-founder
Michael Widenius's daughter, My. The SQL phrase stands for Structured Query
Language.
MySQL is (as of March 2014) the world's second most widely used open-source relational database management system (RDBMS). It is named after co-founder Michael Widenius's daughter, My. The SQL phrase stands for Structured Query Language.
MySQL is a popular choice of database for use in web applications, and is a
central component of the widely used LAMP open source web application software
stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python." Free-software-open source projects that require a
full-featured database management system often use MySQL.
MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects that require a full-featured database management system often use MySQL.
Oracle Corporation and/or affiliates own the copyright and trademark for MySQL.
@ -33,59 +22,37 @@ Oracle Corporation and/or affiliates own the copyright and trademark for MySQL.
## start a mysql instance
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
This image includes `EXPOSE 3306` (the mysql port), so standard container
linking will make it automatically available to the linked containers (as the
following examples illustrate).
This image includes `EXPOSE 3306` (the mysql port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
## ... or via `mysql`
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
## Environment Variables
The MySQL image uses several environment variables which are easy to miss. While
not all the variables are required, they may significantly aid you in using the
image.
The MySQL image uses several environment variables which are easy to miss. While not all the variables are required, they may significantly aid you in using the image.
### `MYSQL_ROOT_PASSWORD`
This is the one environment variable that is required for you to use the MySQL
image. This environment variable should be what you want to set the root
password for MySQL to. In the above example, it is being set to
"mysecretpassword".
This is the one environment variable that is required for you to use the MySQL image. This environment variable should be what you want to set the root password for MySQL to. In the above example, it is being set to "mysecretpassword".
### `MYSQL_USER`, `MYSQL_PASSWORD`
These optional environment variables are used in conjunction to set both a MySQL
user and password, which will subsequently be granted all permissions for the
database specified by the optional `MYSQL_DATABASE` variable. Note that if you
only have one of these two environment variables, then neither will actually do
anything - these two are meant to be used in conjunction with one another. When
these variables are used, it will create a new user with the given password in
the MySQL database - there is no need to specify `MYSQL_USER` with `root`, as
the `root` user already exists in the default MySQL and the password is
controlled by `MYSQL_ROOT_PASSWORD`.
These optional environment variables are used in conjunction to set both a MySQL user and password, which will subsequently be granted all permissions for the database specified by the optional `MYSQL_DATABASE` variable. Note that if you only have one of these two environment variables, then neither will actually do anything - these two are meant to be used in conjunction with one another. When these variables are used, it will create a new user with the given password in the MySQL database - there is no need to specify `MYSQL_USER` with `root`, as the `root` user already exists in the default MySQL and the password is controlled by `MYSQL_ROOT_PASSWORD`.
### `MYSQL_DATABASE`
This optional environment variable denotes the name of a database to create. If
a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD`
environment variables) then that user account will be granted (`GRANT ALL`)
access to this database.
This optional environment variable denotes the name of a database to create. If a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD` environment variables) then that user account will be granted (`GRANT ALL`) access to this database.
# Caveats
If there is no database when `mysql` starts in a container, then `mysql` will
create the default database for you. While this is the expected behavior of
`mysql`, this means that it will not accept incoming connections during that
time. This may cause issues when using automation tools, such as `fig`, that
start several containers simultaneously.
If there is no database when `mysql` starts in a container, then `mysql` will create the default database for you. While this is the expected behavior of `mysql`, this means that it will not accept incoming connections during that time. This may cause issues when using automation tools, such as `fig`, that start several containers simultaneously.
# Supported Docker versions
@ -97,20 +64,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/docker-library/mysql/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/docker-library/mysql/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/mysql/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/docker-library/mysql/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.

View File

@ -1,15 +1,8 @@
# What is MySQL?
MySQL is (as of March 2014) the world's second most widely used open-source
relational database management system (RDBMS). It is named after co-founder
Michael Widenius's daughter, My. The SQL phrase stands for Structured Query
Language.
MySQL is (as of March 2014) the world's second most widely used open-source relational database management system (RDBMS). It is named after co-founder Michael Widenius's daughter, My. The SQL phrase stands for Structured Query Language.
MySQL is a popular choice of database for use in web applications, and is a
central component of the widely used LAMP open source web application software
stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python." Free-software-open source projects that require a
full-featured database management system often use MySQL.
MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects that require a full-featured database management system often use MySQL.
Oracle Corporation and/or affiliates own the copyright and trademark for MySQL.
@ -21,56 +14,34 @@ Oracle Corporation and/or affiliates own the copyright and trademark for MySQL.
## start a mysql instance
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
This image includes `EXPOSE 3306` (the mysql port), so standard container
linking will make it automatically available to the linked containers (as the
following examples illustrate).
This image includes `EXPOSE 3306` (the mysql port), so standard container linking will make it automatically available to the linked containers (as the following examples illustrate).
## connect to it from an application
docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
## ... or via `mysql`
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
## Environment Variables
The MySQL image uses several environment variables which are easy to miss. While
not all the variables are required, they may significantly aid you in using the
image.
The MySQL image uses several environment variables which are easy to miss. While not all the variables are required, they may significantly aid you in using the image.
### `MYSQL_ROOT_PASSWORD`
This is the one environment variable that is required for you to use the MySQL
image. This environment variable should be what you want to set the root
password for MySQL to. In the above example, it is being set to
"mysecretpassword".
This is the one environment variable that is required for you to use the MySQL image. This environment variable should be what you want to set the root password for MySQL to. In the above example, it is being set to "mysecretpassword".
### `MYSQL_USER`, `MYSQL_PASSWORD`
These optional environment variables are used in conjunction to set both a MySQL
user and password, which will subsequently be granted all permissions for the
database specified by the optional `MYSQL_DATABASE` variable. Note that if you
only have one of these two environment variables, then neither will actually do
anything - these two are meant to be used in conjunction with one another. When
these variables are used, it will create a new user with the given password in
the MySQL database - there is no need to specify `MYSQL_USER` with `root`, as
the `root` user already exists in the default MySQL and the password is
controlled by `MYSQL_ROOT_PASSWORD`.
These optional environment variables are used in conjunction to set both a MySQL user and password, which will subsequently be granted all permissions for the database specified by the optional `MYSQL_DATABASE` variable. Note that if you only have one of these two environment variables, then neither will actually do anything - these two are meant to be used in conjunction with one another. When these variables are used, it will create a new user with the given password in the MySQL database - there is no need to specify `MYSQL_USER` with `root`, as the `root` user already exists in the default MySQL and the password is controlled by `MYSQL_ROOT_PASSWORD`.
### `MYSQL_DATABASE`
This optional environment variable denotes the name of a database to create. If
a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD`
environment variables) then that user account will be granted (`GRANT ALL`)
access to this database.
This optional environment variable denotes the name of a database to create. If a user/password was supplied (via the `MYSQL_USER` and `MYSQL_PASSWORD` environment variables) then that user account will be granted (`GRANT ALL`) access to this database.
# Caveats
If there is no database when `mysql` starts in a container, then `mysql` will
create the default database for you. While this is the expected behavior of
`mysql`, this means that it will not accept incoming connections during that
time. This may cause issues when using automation tools, such as `fig`, that
start several containers simultaneously.
If there is no database when `mysql` starts in a container, then `mysql` will create the default database for you. While this is the expected behavior of `mysql`, this means that it will not accept incoming connections during that time. This may cause issues when using automation tools, such as `fig`, that start several containers simultaneously.

View File

@ -1,27 +1,18 @@
# Supported tags and respective `Dockerfile` links
- [`lucid`, `nd10.04` (*dockerfiles/lucid/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/lucid/Dockerfile)
- [`precise`, `nd12.04` (*dockerfiles/precise/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/precise/Dockerfile)
- [`trusty`, `nd14.04` (*dockerfiles/trusty/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/trusty/Dockerfile)
- [`squeeze`, `nd60` (*dockerfiles/squeeze/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/squeeze/Dockerfile)
- [`wheezy`, `nd70`, `latest` (*dockerfiles/wheezy/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/wheezy/Dockerfile)
- [`jessie`, `nd80` (*dockerfiles/jessie/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/jessie/Dockerfile)
- [`sid`, `nd` (*dockerfiles/sid/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/sid/Dockerfile)
- [`lucid`, `nd10.04` (*dockerfiles/lucid/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/lucid/Dockerfile)
- [`precise`, `nd12.04` (*dockerfiles/precise/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/precise/Dockerfile)
- [`trusty`, `nd14.04` (*dockerfiles/trusty/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/trusty/Dockerfile)
- [`squeeze`, `nd60` (*dockerfiles/squeeze/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/squeeze/Dockerfile)
- [`wheezy`, `nd70`, `latest` (*dockerfiles/wheezy/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/wheezy/Dockerfile)
- [`jessie`, `nd80` (*dockerfiles/jessie/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/jessie/Dockerfile)
- [`sid`, `nd` (*dockerfiles/sid/Dockerfile*)](https://github.com/neurodebian/dockerfiles/blob/6ee7033cb630b4a72fa3a4a56ad6046405efacdf/dockerfiles/sid/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/neurodebian`)](https://github.com/docker-library/official-images/blob/master/library/neurodebian)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/neurodebian`)](https://github.com/docker-library/official-images/blob/master/library/neurodebian) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is NeuroDebian?
NeuroDebian provides a large collection of popular neuroscience research
software for the [Debian](http://www.debian.org) operating system as well as
[Ubuntu](http://www.ubuntu.com) and other derivatives. Popular packages include
*AFNI*, *FSL*, *PyMVPA*, and many others. While we do strive to maintain a high
level of quality, we make no guarantee that a given package works as expected,
so use them at your own risk.
NeuroDebian provides a large collection of popular neuroscience research software for the [Debian](http://www.debian.org) operating system as well as [Ubuntu](http://www.ubuntu.com) and other derivatives. Popular packages include*AFNI*, *FSL*, *PyMVPA*, and many others. While we do strive to maintain a high level of quality, we make no guarantee that a given package works as expected, so use them at your own risk.
> [neuro.debian.net](http://neuro.debian.net/)
@ -29,27 +20,20 @@ so use them at your own risk.
# About this image
NeuroDebian images only add NeuroDebian repository and repository's GPG key. No
apt indexes are downloaded, so `apt-get update` needs to be ran before any use
of `apt-get`.
NeuroDebian images only add NeuroDebian repository and repository's GPG key. No apt indexes are downloaded, so `apt-get update` needs to be ran before any use of `apt-get`.
`nd` tags are used to reflect suffixes used in versions of packages available
from NeuroDebian.
`nd` tags are used to reflect suffixes used in versions of packages available from NeuroDebian.
The `neurodebian:latest` tag will always point the Neurodebian-enabled latest
stable release of Debian (which is, at the time of this writing,
`debian:wheezy`).
The `neurodebian:latest` tag will always point the Neurodebian-enabled latest stable release of Debian (which is, at the time of this writing, `debian:wheezy`).
## sources.list
NeuroDebian APT file is installed under
`/etc/apt/sources.list.d/neurodebian.sources.list` and currently enables only
`main` (DFSG-compliant) area of the archive:
NeuroDebian APT file is installed under `/etc/apt/sources.list.d/neurodebian.sources.list` and currently enables only `main` (DFSG-compliant) area of the archive:
> docker run neurodebian:latest cat /etc/apt/sources.list.d/neurodebian.sources.list
deb http://neuro.debian.net/debian wheezy main
deb http://neuro.debian.net/debian data main
#deb-src http://neuro.debian.net/debian-devel wheezy main
> docker run neurodebian:latest cat /etc/apt/sources.list.d/neurodebian.sources.list
deb http://neuro.debian.net/debian wheezy main
deb http://neuro.debian.net/debian data main
#deb-src http://neuro.debian.net/debian-devel wheezy main
# Supported Docker versions
@ -61,20 +45,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/neurodebian/dockerfiles/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/neurodebian/dockerfiles/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/neurodebian/dockerfiles/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/neurodebian/dockerfiles/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.

View File

@ -1,11 +1,6 @@
# What is NeuroDebian?
NeuroDebian provides a large collection of popular neuroscience research
software for the [Debian](http://www.debian.org) operating system as well as
[Ubuntu](http://www.ubuntu.com) and other derivatives. Popular packages include
*AFNI*, *FSL*, *PyMVPA*, and many others. While we do strive to maintain a high
level of quality, we make no guarantee that a given package works as expected,
so use them at your own risk.
NeuroDebian provides a large collection of popular neuroscience research software for the [Debian](http://www.debian.org) operating system as well as [Ubuntu](http://www.ubuntu.com) and other derivatives. Popular packages include*AFNI*, *FSL*, *PyMVPA*, and many others. While we do strive to maintain a high level of quality, we make no guarantee that a given package works as expected, so use them at your own risk.
> [neuro.debian.net](http://neuro.debian.net/)
@ -13,24 +8,17 @@ so use them at your own risk.
# About this image
NeuroDebian images only add NeuroDebian repository and repository's GPG key. No
apt indexes are downloaded, so `apt-get update` needs to be ran before any use
of `apt-get`.
NeuroDebian images only add NeuroDebian repository and repository's GPG key. No apt indexes are downloaded, so `apt-get update` needs to be ran before any use of `apt-get`.
`nd` tags are used to reflect suffixes used in versions of packages available
from NeuroDebian.
`nd` tags are used to reflect suffixes used in versions of packages available from NeuroDebian.
The `neurodebian:latest` tag will always point the Neurodebian-enabled latest
stable release of Debian (which is, at the time of this writing,
`debian:wheezy`).
The `neurodebian:latest` tag will always point the Neurodebian-enabled latest stable release of Debian (which is, at the time of this writing, `debian:wheezy`).
## sources.list
NeuroDebian APT file is installed under
`/etc/apt/sources.list.d/neurodebian.sources.list` and currently enables only
`main` (DFSG-compliant) area of the archive:
NeuroDebian APT file is installed under `/etc/apt/sources.list.d/neurodebian.sources.list` and currently enables only `main` (DFSG-compliant) area of the archive:
> docker run neurodebian:latest cat /etc/apt/sources.list.d/neurodebian.sources.list
deb http://neuro.debian.net/debian wheezy main
deb http://neuro.debian.net/debian data main
#deb-src http://neuro.debian.net/debian-devel wheezy main
> docker run neurodebian:latest cat /etc/apt/sources.list.d/neurodebian.sources.list
deb http://neuro.debian.net/debian wheezy main
deb http://neuro.debian.net/debian data main
#deb-src http://neuro.debian.net/debian-devel wheezy main

View File

@ -1,22 +1,12 @@
# Supported tags and respective `Dockerfile` links
- [`latest`, `1`, `1.7`, `1.7.9` (*Dockerfile*)](https://github.com/nginxinc/docker-nginx/blob/57da11369acbec3256b0c2704a50282eeabb684f/Dockerfile)
- [`latest`, `1`, `1.7`, `1.7.9` (*Dockerfile*)](https://github.com/nginxinc/docker-nginx/blob/57da11369acbec3256b0c2704a50282eeabb684f/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/nginx`)](https://github.com/docker-library/official-images/blob/master/library/nginx)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/nginx`)](https://github.com/docker-library/official-images/blob/master/library/nginx) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# 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). The nginx project started with a strong focus
on high concurrency, high performance and low memory usage. It is licensed under
the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X,
Solaris, AIX, HP-UX, as well as on other *nix flavors. It also has a proof of
concept port for Microsoft Window..
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). The nginx project started with a strong focus on high concurrency, high performance and low memory usage. It is licensed under the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, as well as on other *nix flavors. It also has a proof of concept port for Microsoft Window..
> [wikipedia.org/wiki/Nginx](https://en.wikipedia.org/wiki/Nginx)
@ -26,54 +16,43 @@ concept port for Microsoft Window..
## hosting some simple static content
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
Alternatively, a simple `Dockerfile` can be used to generate a new image that
includes the necessary content (which is a much cleaner solution than the bind
mount above):
Alternatively, a simple `Dockerfile` can be used to generate a new image that includes the necessary content (which is a much cleaner solution than the bind mount above):
FROM nginx
COPY static-html-directory /usr/share/nginx/html
FROM nginx
COPY static-html-directory /usr/share/nginx/html
Place this file in the same directory as your directory of content
("static-html-directory"), run `docker build -t some-content-nginx .`, then
start your container:
Place this file in the same directory as your directory of content ("static-html-directory"), run `docker build -t some-content-nginx .`, then start your container:
docker run --name some-nginx -d some-content-nginx
docker run --name some-nginx -d some-content-nginx
## exposing the port
docker run --name some-nginx -d -p 8080:80 some-content-nginx
docker run --name some-nginx -d -p 8080:80 some-content-nginx
Then you can hit `http://localhost:8080` or `http://host-ip:8080` in your
browser.
Then you can hit `http://localhost:8080` or `http://host-ip:8080` in your browser.
## complex configuration
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
For information on the syntax of the Nginx configuration files, see [the
official documentation](http://nginx.org/en/docs/) (specifically the [Beginner's
Guide](http://nginx.org/en/docs/beginners_guide.html#conf_structure)).
For information on the syntax of the Nginx configuration files, see [the official documentation](http://nginx.org/en/docs/) (specifically the [Beginner's Guide](http://nginx.org/en/docs/beginners_guide.html#conf_structure)).
Be sure to include `daemon off;` in your custom configuration to ensure that
Nginx stays in the foreground so that Docker can track the process properly
(otherwise your container will stop immediately after starting)!
Be sure to include `daemon off;` in your custom configuration to ensure that Nginx stays in the foreground so that Docker can track the process properly (otherwise your container will stop immediately after starting)!
If you wish to adapt the default configuration, use something like the following
to copy it from a running Nginx container:
If you wish to adapt the default configuration, use something like the following to copy it from a running Nginx container:
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
As above, this can also be accomplished more cleanly using a simple
`Dockerfile`:
As above, this can also be accomplished more cleanly using a simple `Dockerfile`:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
Then, build with `docker build -t some-custom-nginx .` and run:
docker run --name some-nginx -d some-custom-nginx
docker run --name some-nginx -d some-custom-nginx
# Supported Docker versions
@ -85,20 +64,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/nginxinc/docker-nginx/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/nginxinc/docker-nginx/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/nginxinc/docker-nginx/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/nginxinc/docker-nginx/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.

View File

@ -1,12 +1,6 @@
# 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). The nginx project started with a strong focus
on high concurrency, high performance and low memory usage. It is licensed under
the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X,
Solaris, AIX, HP-UX, as well as on other *nix flavors. It also has a proof of
concept port for Microsoft Window..
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). The nginx project started with a strong focus on high concurrency, high performance and low memory usage. It is licensed under the 2-clause BSD-like license and it runs on Linux, BSD variants, Mac OS X, Solaris, AIX, HP-UX, as well as on other *nix flavors. It also has a proof of concept port for Microsoft Window..
> [wikipedia.org/wiki/Nginx](https://en.wikipedia.org/wiki/Nginx)
@ -16,51 +10,40 @@ concept port for Microsoft Window..
## hosting some simple static content
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
Alternatively, a simple `Dockerfile` can be used to generate a new image that
includes the necessary content (which is a much cleaner solution than the bind
mount above):
Alternatively, a simple `Dockerfile` can be used to generate a new image that includes the necessary content (which is a much cleaner solution than the bind mount above):
FROM nginx
COPY static-html-directory /usr/share/nginx/html
FROM nginx
COPY static-html-directory /usr/share/nginx/html
Place this file in the same directory as your directory of content
("static-html-directory"), run `docker build -t some-content-nginx .`, then
start your container:
Place this file in the same directory as your directory of content ("static-html-directory"), run `docker build -t some-content-nginx .`, then start your container:
docker run --name some-nginx -d some-content-nginx
docker run --name some-nginx -d some-content-nginx
## exposing the port
docker run --name some-nginx -d -p 8080:80 some-content-nginx
docker run --name some-nginx -d -p 8080:80 some-content-nginx
Then you can hit `http://localhost:8080` or `http://host-ip:8080` in your
browser.
Then you can hit `http://localhost:8080` or `http://host-ip:8080` in your browser.
## complex configuration
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
For information on the syntax of the Nginx configuration files, see [the
official documentation](http://nginx.org/en/docs/) (specifically the [Beginner's
Guide](http://nginx.org/en/docs/beginners_guide.html#conf_structure)).
For information on the syntax of the Nginx configuration files, see [the official documentation](http://nginx.org/en/docs/) (specifically the [Beginner's Guide](http://nginx.org/en/docs/beginners_guide.html#conf_structure)).
Be sure to include `daemon off;` in your custom configuration to ensure that
Nginx stays in the foreground so that Docker can track the process properly
(otherwise your container will stop immediately after starting)!
Be sure to include `daemon off;` in your custom configuration to ensure that Nginx stays in the foreground so that Docker can track the process properly (otherwise your container will stop immediately after starting)!
If you wish to adapt the default configuration, use something like the following
to copy it from a running Nginx container:
If you wish to adapt the default configuration, use something like the following to copy it from a running Nginx container:
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
As above, this can also be accomplished more cleanly using a simple
`Dockerfile`:
As above, this can also be accomplished more cleanly using a simple `Dockerfile`:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
Then, build with `docker build -t some-custom-nginx .` and run:
docker run --name some-nginx -d some-custom-nginx
docker run --name some-nginx -d some-custom-nginx

View File

@ -1,41 +1,27 @@
# Supported tags and respective `Dockerfile` links
- [`0.10.36`, `0.10` (*0.10/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.10/Dockerfile)
- [`0.10.36-onbuild`, `0.10-onbuild` (*0.10/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/d23f190e500e91ecc636878a079ff971b29eab3e/0.10/onbuild/Dockerfile)
- [`0.10.36-slim`, `0.10-slim` (*0.10/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/a1aefc91ac380239998a9f8521bf233ee524d8d0/0.10/slim/Dockerfile)
- [`0.10.36-wheezy`, `0.10-wheezy` (*0.10/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.10/wheezy/Dockerfile)
- [`0.12.0`, `0.12`, `0`, `latest` (*0.12/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.12/Dockerfile)
- [`0.12.0-onbuild`, `0.12-onbuild`, `0-onbuild`, `onbuild` (*0.12/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/391620efd66f847d34054e495186a5af3234f044/0.12/onbuild/Dockerfile)
- [`0.12.0-slim`, `0.12-slim`, `0-slim`, `slim` (*0.12/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/c04479fd0117c59d31e426a500ad4f5dd2399f19/0.12/slim/Dockerfile)
- [`0.12.0-wheezy`, `0.12-wheezy`, `0-wheezy`, `wheezy` (*0.12/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.12/wheezy/Dockerfile)
- [`0.8.28`, `0.8` (*0.8/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.8/Dockerfile)
- [`0.8.28-onbuild`, `0.8-onbuild` (*0.8/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/0c2ff5172aabc30ce38303d9bb340ae3e94f3a91/0.8/onbuild/Dockerfile)
- [`0.8.28-slim`, `0.8-slim` (*0.8/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/a1aefc91ac380239998a9f8521bf233ee524d8d0/0.8/slim/Dockerfile)
- [`0.8.28-wheezy`, `0.8-wheezy` (*0.8/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.8/wheezy/Dockerfile)
- [`0.10.36`, `0.10` (*0.10/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.10/Dockerfile)
- [`0.10.36-onbuild`, `0.10-onbuild` (*0.10/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/d23f190e500e91ecc636878a079ff971b29eab3e/0.10/onbuild/Dockerfile)
- [`0.10.36-slim`, `0.10-slim` (*0.10/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/a1aefc91ac380239998a9f8521bf233ee524d8d0/0.10/slim/Dockerfile)
- [`0.10.36-wheezy`, `0.10-wheezy` (*0.10/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.10/wheezy/Dockerfile)
- [`0.12.0`, `0.12`, `0`, `latest` (*0.12/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.12/Dockerfile)
- [`0.12.0-onbuild`, `0.12-onbuild`, `0-onbuild`, `onbuild` (*0.12/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/391620efd66f847d34054e495186a5af3234f044/0.12/onbuild/Dockerfile)
- [`0.12.0-slim`, `0.12-slim`, `0-slim`, `slim` (*0.12/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/c04479fd0117c59d31e426a500ad4f5dd2399f19/0.12/slim/Dockerfile)
- [`0.12.0-wheezy`, `0.12-wheezy`, `0-wheezy`, `wheezy` (*0.12/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.12/wheezy/Dockerfile)
- [`0.8.28`, `0.8` (*0.8/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.8/Dockerfile)
- [`0.8.28-onbuild`, `0.8-onbuild` (*0.8/onbuild/Dockerfile*)](https://github.com/joyent/docker-node/blob/0c2ff5172aabc30ce38303d9bb340ae3e94f3a91/0.8/onbuild/Dockerfile)
- [`0.8.28-slim`, `0.8-slim` (*0.8/slim/Dockerfile*)](https://github.com/joyent/docker-node/blob/a1aefc91ac380239998a9f8521bf233ee524d8d0/0.8/slim/Dockerfile)
- [`0.8.28-wheezy`, `0.8-wheezy` (*0.8/wheezy/Dockerfile*)](https://github.com/joyent/docker-node/blob/3bb9c7ba9eb2360a031717b146747eea781abfab/0.8/wheezy/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/node`)](https://github.com/docker-library/official-images/blob/master/library/node)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/node`)](https://github.com/docker-library/official-images/blob/master/library/node) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Node.js?
Node.js is a software platform for scalable server-side and networking
applications. Node.js applications are written in JavaScript and can be run
within the Node.js runtime on Mac OS X, Windows, and Linux without changes.
Node.js is a software platform for scalable server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on Mac OS X, Windows, and Linux without changes.
Node.js applications are designed to maximize throughput and efficiency, using
non-blocking I/O and asynchronous events. Node.js applications run
single-threaded, although Node.js uses multiple threads for file and network
events. Node.js is commonly used for real-time applications due to its
asynchronous nature.
Node.js applications are designed to maximize throughput and efficiency, using non-blocking I/O and asynchronous events. Node.js applications run single-threaded, although Node.js uses multiple threads for file and network events. Node.js is commonly used for real-time applications due to its asynchronous nature.
Node.js internally uses the Google V8 JavaScript engine to execute code; a large
percentage of the basic modules are written in JavaScript. Node.js contains a
built-in, asynchronous I/O library for file, socket, and HTTP communication. The
HTTP and socket support allows Node.js to act as a web server without additional
software such as Apache.
Node.js internally uses the Google V8 JavaScript engine to execute code; a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in, asynchronous I/O library for file, socket, and HTTP communication. The HTTP and socket support allows Node.js to act as a web server without additional software such as Apache.
> [wikipedia.org/wiki/Node.js](https://en.wikipedia.org/wiki/Node.js)
@ -45,34 +31,28 @@ software such as Apache.
## Create a `Dockerfile` in your Node.js app project
FROM node:0.10-onbuild
# replace this with your application's default port
EXPOSE 8888
FROM node:0.10-onbuild
# replace this with your application's default port
EXPOSE 8888
You can then build and run the Docker image:
docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app
docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app
### Notes
The image assumes that your application has a file named
[`package.json`](https://docs.npmjs.com/files/package.json) listing its dependencies
and defining its [start
script](https://docs.npmjs.com/misc/scripts#default-values).
The image assumes that your application has a file named [`package.json`](https://docs.npmjs.com/files/package.json) listing its dependencies and defining its [start script](https://docs.npmjs.com/misc/scripts#default-values).
## Run a single Node.js script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Node.js script by using the
Node.js Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Node.js script by using the Node.js Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.10 node your-daemon-or-script.js
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.10 node your-daemon-or-script.js
# License
View [license information](https://github.com/joyent/node/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/joyent/node/blob/master/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -84,20 +64,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/joyent/docker-node/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/joyent/docker-node/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/joyent/docker-node/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/joyent/docker-node/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.

View File

@ -1,20 +1,10 @@
# What is Node.js?
Node.js is a software platform for scalable server-side and networking
applications. Node.js applications are written in JavaScript and can be run
within the Node.js runtime on Mac OS X, Windows, and Linux without changes.
Node.js is a software platform for scalable server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on Mac OS X, Windows, and Linux without changes.
Node.js applications are designed to maximize throughput and efficiency, using
non-blocking I/O and asynchronous events. Node.js applications run
single-threaded, although Node.js uses multiple threads for file and network
events. Node.js is commonly used for real-time applications due to its
asynchronous nature.
Node.js applications are designed to maximize throughput and efficiency, using non-blocking I/O and asynchronous events. Node.js applications run single-threaded, although Node.js uses multiple threads for file and network events. Node.js is commonly used for real-time applications due to its asynchronous nature.
Node.js internally uses the Google V8 JavaScript engine to execute code; a large
percentage of the basic modules are written in JavaScript. Node.js contains a
built-in, asynchronous I/O library for file, socket, and HTTP communication. The
HTTP and socket support allows Node.js to act as a web server without additional
software such as Apache.
Node.js internally uses the Google V8 JavaScript engine to execute code; a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in, asynchronous I/O library for file, socket, and HTTP communication. The HTTP and socket support allows Node.js to act as a web server without additional software such as Apache.
> [wikipedia.org/wiki/Node.js](https://en.wikipedia.org/wiki/Node.js)
@ -24,26 +14,21 @@ software such as Apache.
## Create a `Dockerfile` in your Node.js app project
FROM node:0.10-onbuild
# replace this with your application's default port
EXPOSE 8888
FROM node:0.10-onbuild
# replace this with your application's default port
EXPOSE 8888
You can then build and run the Docker image:
docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app
docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app
### Notes
The image assumes that your application has a file named
[`package.json`](https://docs.npmjs.com/files/package.json) listing its dependencies
and defining its [start
script](https://docs.npmjs.com/misc/scripts#default-values).
The image assumes that your application has a file named [`package.json`](https://docs.npmjs.com/files/package.json) listing its dependencies and defining its [start script](https://docs.npmjs.com/misc/scripts#default-values).
## Run a single Node.js script
For many simple, single file projects, you may find it inconvenient to write a
complete `Dockerfile`. In such cases, you can run a Node.js script by using the
Node.js Docker image directly:
For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Node.js script by using the Node.js Docker image directly:
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.10 node your-daemon-or-script.js
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.10 node your-daemon-or-script.js

View File

@ -1,2 +1 @@
View [license information](https://github.com/joyent/node/blob/master/LICENSE)
for the software contained in this image.
View [license information](https://github.com/joyent/node/blob/master/LICENSE) for the software contained in this image.

View File

@ -1,23 +1,12 @@
# Supported tags and respective `Dockerfile` links
- [`8.0`, `8`, `latest` (*8.0/Dockerfile*)](https://github.com/odoo/docker/blob/a86b7e6dbc31d19b6180fdf00e56b4a0f5fe32ff/8.0/Dockerfile)
- [`8.0`, `8`, `latest` (*8.0/Dockerfile*)](https://github.com/odoo/docker/blob/a86b7e6dbc31d19b6180fdf00e56b4a0f5fe32ff/8.0/Dockerfile)
For more information about this image and its history, please see the [relevant
manifest file
(`library/odoo`)](https://github.com/docker-library/official-images/blob/master/library/odoo)
in the [`docker-library/official-images` GitHub
repo](https://github.com/docker-library/official-images).
For more information about this image and its history, please see the [relevant manifest file (`library/odoo`)](https://github.com/docker-library/official-images/blob/master/library/odoo) in the [`docker-library/official-images` GitHub repo](https://github.com/docker-library/official-images).
# What is Odoo?
Odoo, formerly known as OpenERP, is a suite of open-source business apps
written in Python and released under the AGPL license. This suite of
applications covers all business needs, from Website/Ecommerce down to
manufacturing, inventory and accounting, all seamlessly integrated. It is the
first time ever a software editor managed to reach such a functional coverage.
Odoo is the most installed business software in the world. Odoo is used by
2.000.000 users worldwide ranging from very small companies (1 user) to very
large ones (300 000 users).
Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license. This suite of applications covers all business needs, from Website/Ecommerce down to manufacturing, inventory and accounting, all seamlessly integrated. It is the first time ever a software editor managed to reach such a functional coverage. Odoo is the most installed business software in the world. Odoo is used by 2.000.000 users worldwide ranging from very small companies (1 user) to very large ones (300 000 users).
> [www.odoo.com](https://www.odoo.com)
@ -29,64 +18,51 @@ This image requires a running PostgreSQL server.
## Start a PostgreSQL server
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
## Start an Odoo instance
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
The alias of the container running Postgres must be db for Odoo to be able
to connect to the Postgres server.
The alias of the container running Postgres must be db for Odoo to be able to connect to the Postgres server.
## Stop and restart an Odoo instance
docker stop odoo
docker start -a odoo
docker stop odoo
docker start -a odoo
## Stop and restart a PostgreSQL server
When a PostgreSQL server is restarted, the Odoo instances
linked to that server must be restarted as well because the server address has
changed and the link is thus broken.
When a PostgreSQL server is restarted, the Odoo instances linked to that server must be restarted as well because the server address has changed and the link is thus broken.
Restarting a PostgreSQL server does not affect the created databases.
## Run Odoo with a custom configuration
The default configuration file for the server (located at `/etc/odoo/openerp-server.conf`)
can be overriden at startup using volumes. Suppose you have a custom configuration
at `/path/to/config/openerp-server.conf`, then
The default configuration file for the server (located at `/etc/odoo/openerp-server.conf`) can be overriden at startup using volumes. Suppose you have a custom configuration at `/path/to/config/openerp-server.conf`, then
docker run -v /path/to/config:/etc/odoo -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
docker run -v /path/to/config:/etc/odoo -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
## Run multiple Odoo instances
docker run -p 127.0.0.1:8070:8069 --name odoo2 --link db:db -t odoo
docker run -p 127.0.0.1:8071:8069 --name odoo3 --link db:db -t odoo
docker run -p 127.0.0.1:8070:8069 --name odoo2 --link db:db -t odoo
docker run -p 127.0.0.1:8071:8069 --name odoo3 --link db:db -t odoo
Please note that for plain use of mails and reports functionalities, when the
host and container ports differ (e.g. 8070 and 8069), one has to set,
in Odoo, Settings->Parameters->System Parameters (requires technical features),
web.base.url to the container port (e.g. 127.0.0.1:8069).
Please note that for plain use of mails and reports functionalities, when the host and container ports differ (e.g. 8070 and 8069), one has to set, in Odoo, Settings->Parameters->System Parameters (requires technical features), web.base.url to the container port (e.g. 127.0.0.1:8069).
# How to upgrade this image
Suppose you created a database from an Odoo instance named old-odoo, and you
want to access this database from a new Odoo instance named new-odoo, e.g.
because you've just downloaded a newer Odoo image.
By default, Odoo 8.0 uses a filestore (located at /var/lib/odoo/.local/share/Odoo/filestore/)
for attachments. You should restore this filestore in your new Odoo instance by
running
Suppose you created a database from an Odoo instance named old-odoo, and you want to access this database from a new Odoo instance named new-odoo, e.g. because you've just downloaded a newer Odoo image.
docker run --volumes-from old-odoo -p 127.0.0.1:8070:8069 --name new-odoo --link db:db -t odoo
By default, Odoo 8.0 uses a filestore (located at /var/lib/odoo/.local/share/Odoo/filestore/) for attachments. You should restore this filestore in your new Odoo instance by running
You can also simply prevent Odoo from using the filestore by setting the system
parameter `ir_attachment.location` to `db-storage` in Settings->Parameters->System
Parameters (requires technical features).
docker run --volumes-from old-odoo -p 127.0.0.1:8070:8069 --name new-odoo --link db:db -t odoo
You can also simply prevent Odoo from using the filestore by setting the system parameter `ir_attachment.location` to `db-storage` in Settings->Parameters->System Parameters (requires technical features).
# License
View [license information](https://raw.githubusercontent.com/odoo/odoo/8.0/LICENSE)
for the software contained in this image.
View [license information](https://raw.githubusercontent.com/odoo/odoo/8.0/LICENSE) for the software contained in this image.
# Supported Docker versions
@ -98,20 +74,12 @@ Support for older versions (down to 1.0) is provided on a best-effort basis.
## Issues
If you have any problems with or questions about this image, please contact us
through a [GitHub issue](https://github.com/odoo/docker/issues).
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/odoo/docker/issues).
You can also reach many of the official image maintainers via the
`#docker-library` IRC channel on [Freenode](https://freenode.net).
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.
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/odoo/docker/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.
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/odoo/docker/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.

Some files were not shown because too many files have changed in this diff Show More