diff --git a/.ci/check-pr-no-readme.sh b/.ci/check-pr-no-readme.sh index 6ffe4f25b03c..1a85610566b1 100755 --- a/.ci/check-pr-no-readme.sh +++ b/.ci/check-pr-no-readme.sh @@ -4,7 +4,8 @@ set -Eeuo pipefail cd "$(dirname "$(readlink -f "$BASH_SOURCE")")/.." git fetch -q https://github.com/docker-library/docs.git master -if [ -n "$(git diff --numstat FETCH_HEAD...HEAD -- '*/README.md')" ]; then +numstat="$(git diff --numstat FETCH_HEAD...HEAD -- '*/README.md')" +if [ -n "$numstat" ]; then echo >&2 'Error: at least one repo README.md has changed' echo >&2 'These files are autogenerated, so it is unnecessary to modify them' echo >&2 'Please update content.md and docker-library-bot will take care of README.md' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c42274bd017..a5c91502ec45 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,5 +39,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 0 - run: .ci/check-pr-no-readme.sh if: ${{ github.event_name == 'pull_request' }} diff --git a/.template-helpers/generate-dockerfile-links-partial.tmpl b/.template-helpers/generate-dockerfile-links-partial.tmpl index 1426e00277e0..69b3fbe0542c 100644 --- a/.template-helpers/generate-dockerfile-links-partial.tmpl +++ b/.template-helpers/generate-dockerfile-links-partial.tmpl @@ -21,22 +21,24 @@ This template defines the "Supported tags and Dockerfile links" portion of an im {{- $froms := $.ArchDockerFroms $arch $e -}} {{- $gitRepo := $e.ArchGitRepo $arch -}} + {{- $gitCommit := $e.ArchGitCommit $arch -}} + {{- $dir := .ArchDirectory $arch -}} + {{- $dockerfile := .ArchFile $arch -}} + {{- $dockerfilePath := eq $dir "." | ternary $dockerfile (join "/" $dir $dockerfile) -}} {{- $repoUrlBase := $gitRepo | replace "git://" "https://" | trimSuffixes ".git" -}} - {{- $isGitHub := hasPrefix "https://github.com/" $repoUrlBase -}} + {{- $url := hasPrefix "https://github.com/" $repoUrlBase | ternary (join "/" $repoUrlBase "blob" $gitCommit $dockerfilePath) "" -}} + {{- /* handle https://gitlab.../.../... style URLs (by reasonably assuming they're a gitlab instance) */ -}} + {{- $url = $url | ternary $url (hasPrefix "https://gitlab." $repoUrlBase | ternary (join "/" $repoUrlBase "-/blob" $gitCommit $dockerfilePath) "") -}} + {{- /* TODO decide what to do (if anything) about other non-GitHub repos with respect to URL */ -}} {{- if $i -}} {{- "\n" -}} {{- end -}} - {{- "\t" -}} - {{- if $isGitHub -}} [ {{- end -}} - {{- $dir := .ArchDirectory $arch -}} - {{- $dockerfile := .ArchFile $arch -}} - {{- $dockerfilePath := eq $dir "." | ternary $dockerfile (join "/" $dir $dockerfile) -}} + {{- if $url -}} [ {{- end -}} ` {{- $e.Tags | join "`, `" -}} ` - {{- $gitCommit := $e.ArchGitCommit $arch -}} - {{- if $isGitHub -}} ]( {{- $repoUrlBase -}} /blob/ {{- $gitCommit -}} / {{- $dockerfilePath -}} ) {{- end -}} - {{- /* TODO decide what to do (if anything) about non-GitHub repos with respect to URL */ -}} + {{- if $url -}} ]( {{- $url -}} ) {{- end -}} {{- end -}} {{- "\n\n" -}} @@ -58,18 +60,20 @@ This template defines the "Supported tags and Dockerfile links" portion of an im {{- $froms := $.ArchDockerFroms $arch $e -}} {{- $gitRepo := $e.ArchGitRepo $arch -}} - {{- $repoUrlBase := $gitRepo | replace "git://" "https://" | trimSuffixes ".git" -}} - {{- $isGitHub := hasPrefix "https://github.com/" $repoUrlBase -}} - - {{- "\t-\t" -}} - {{- if $isGitHub -}} [ {{- end -}} + {{- $gitCommit := $e.ArchGitCommit $arch -}} {{- $dir := .ArchDirectory $arch -}} {{- $dockerfile := .ArchFile $arch -}} {{- $dockerfilePath := eq $dir "." | ternary $dockerfile (join "/" $dir $dockerfile) -}} + {{- $repoUrlBase := $gitRepo | replace "git://" "https://" | trimSuffixes ".git" -}} + {{- $url := hasPrefix "https://github.com/" $repoUrlBase | ternary (join "/" $repoUrlBase "blob" $gitCommit $dockerfilePath) "" -}} + {{- /* handle https://gitlab.../.../... style URLs (by reasonably assuming they're a gitlab instance) */ -}} + {{- $url = $url | ternary $url (hasPrefix "https://gitlab." $repoUrlBase | ternary (join "/" $repoUrlBase "-/blob" $gitCommit $dockerfilePath) "") -}} + {{- /* TODO decide what to do (if anything) about other non-GitHub repos with respect to URL */ -}} + + {{- "\t-\t" -}} + {{- if $url -}} [ {{- end -}} ` {{- $e.Tags | first -}} ` - {{- $gitCommit := $e.ArchGitCommit $arch -}} - {{- if $isGitHub -}} ]( {{- $repoUrlBase -}} /blob/ {{- $gitCommit -}} / {{- $dockerfilePath -}} ) {{- end -}} - {{- /* TODO decide what to do (if anything) about non-GitHub repos with respect to URL */ -}} + {{- if $url -}} ]( {{- $url -}} ) {{- end -}} {{- "\n" -}} {{- end -}} diff --git a/.template-helpers/get-help.md b/.template-helpers/get-help.md index b5896e3f2e7d..fa3c774a50f8 100644 --- a/.template-helpers/get-help.md +++ b/.template-helpers/get-help.md @@ -1 +1 @@ -[the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) +[the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) diff --git a/.template-helpers/template.md b/.template-helpers/template.md index 987374943304..b2f9618678f9 100644 --- a/.template-helpers/template.md +++ b/.template-helpers/template.md @@ -23,7 +23,7 @@ (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/%%REPO%%`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2F%%REPO%%) + [official-images repo's `library/%%REPO%%` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2F%%REPO%%) [official-images repo's `library/%%REPO%%` file](https://github.com/docker-library/official-images/blob/master/library/%%REPO%%) ([history](https://github.com/docker-library/official-images/commits/master/library/%%REPO%%)) - **Source of this description**: diff --git a/.template-helpers/variant-alpine.md b/.template-helpers/variant-alpine.md index 5debddb77465..e04f87e1de5a 100644 --- a/.template-helpers/variant-alpine.md +++ b/.template-helpers/variant-alpine.md @@ -1,7 +1,7 @@ ## `%%IMAGE%%:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/README.md b/README.md index 52fb627f70c3..429ade0be514 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This repository contains the image documentation for each of the official images. See [docker-library/official-images](https://github.com/docker-library/official-images) for more information about the program in general. -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 GitHub Actions. +All Markdown files here are run through [tianon's fork of `markdownfmt`](https://github.com/tianon/markdownfmt), and verified as formatted correctly via GitHub Actions. - [![GitHub CI status badge](https://img.shields.io/github/workflow/status/docker-library/docs/GitHub%20CI/master?label=GitHub%20CI)](https://github.com/docker-library/docs/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) - [![library update.sh status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/docs/job/library.svg?label=Automated%20library%20update.sh)](https://doi-janky.infosiftr.net/job/docs/job/library/) @@ -22,27 +22,34 @@ All Markdown files here are run through [tianon's fork of `markdownfmt`](https:/ 1. [What is this?](#what-is-this) 1. [Table of Contents](#table-of-contents) -2. [How do I add a new image's docs](#how-do-i-add-a-new-images-docs) -3. [How do I update an image's docs](#how-do-i-update-an-images-docs) -4. [What are all these files?](#what-are-all-these-files) +2. [How do I update an image's docs](#how-do-i-update-an-images-docs) +3. [How do I add a new image's docs](#how-do-i-add-a-new-images-docs) +4. [Files related to an image's docs](#files-related-to-an-images-docs) + 1. [folder ``](#folder-image-name) + 2. [`README.md`](#readmemd) + 3. [`content.md`](#contentmd) + 4. [`README-short.txt`](#readme-shorttxt) + 5. [`logo.png`](#logopng) + 6. [`license.md`](#licensemd) + 7. [`maintainer.md`](#maintainermd) + 8. [`github-repo`](#github-repo) + 9. [`user-feedback.md`](#user-feedbackmd) +5. [Files for main Docs repo](#files-for-main-docs-repo) 1. [`update.sh`](#updatesh) 2. [`generate-repo-stub-readme.sh`](#generate-repo-stub-readmesh) 3. [`push.pl`](#pushpl) 4. [`.template-helpers/generate-dockerfile-links-partial.sh`](#template-helpersgenerate-dockerfile-links-partialsh) 5. [`.template-helpers/template.md` and `.template-helpers/user-feedback.md`](#template-helperstemplatemd-and-template-helpersuser-feedbackmd) - 6. [folder ``](#folder-image-name) - 7. [`/README.md`](#image-namereadmemd) - 8. [`/content.md`](#image-namecontentmd) - 9. [`/README-short.txt`](#image-namereadme-shorttxt) - 10. [`/logo.png`](#image-namelogopng) - 11. [`/license.md`](#image-namelicensemd) - 12. [`/maintainer.md`](#image-namemaintainermd) - 13. [`/github-repo`](#image-namegithub-repo) - 14. [`/user-feedback.md`](#image-nameuser-feedbackmd) -5. [Issues and Contributing](#issues-and-contributing) +6. [Issues and Contributing](#issues-and-contributing) +# How do I update an image's docs + +Edit the `content.md` for an image; not the `README.md` as it's auto-generated from the contents of the other files in that repo. To see the changes to the `README.md`, run `./update.sh myimage` from the repo root, but do not add the `README.md` changes to your pull request. See also `markdownfmt.sh` point [below](#how-do-i-add-a-new-images-docs). + +After opening your Pull Request the changes will be checked by an automated `markdownfmt.sh` before it can be merged. A common issue is incorrect spacing such as with two lines missing an empty line between them (double-spaced). + # How do I add a new image's docs - create a folder for my image: `mkdir myimage` @@ -59,43 +66,17 @@ Optionally: - run `./update.sh myimage` to generate `myimage/README.md` for manual review of the generated copy. **Note:** do not actually commit the `README.md` file; it is automatically generated/committed before being uploaded to Docker Hub. -# How do I update an image's docs - -To update `README.md` for a specific image do not edit `README.md` directly. Please edit `content.md` or another appropriate file within the folder. To see the changes, run `./update.sh myimage` from the repo root, but do not add the `README.md` changes to your pull request. See also `markdownfmt.sh` point [above](#how-do-i-add-a-new-images-docs). - -# 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). Accepted arguments are which image(s) you want to update or no arguments to update all of them. - -This script assumes [`bashbrew`](https://github.com/docker-library/official-images/tree/81e90ca8dcec892ade7eb348cba5a4a5d6851e17/bashbrew) is in your `PATH` (for scraping relevant tag information from the library manifest file for each repository). - -## `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. - -## `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. - -## `.template-helpers/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). - -## `.template-helpers/template.md` and `.template-helpers/user-feedback.md` - -These files are the templates used in building the `/README.md` file, in combination with the individual image's files. +# Files related to an image's docs ## folder `` This is where all the partial and generated files for a given image reside, (ex: `golang/`). -## `/README.md` +## `README.md` This file is generated using `update.sh`. -## `/content.md` +## `content.md` 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: @@ -112,17 +93,17 @@ This file contains the main content of your image's long description. The basic // make use of subsections as necessary ``` -## `/README-short.txt` +## `README-short.txt` 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. -## `/logo.png` +## `logo.png` Logo for the contained software. While there are not hard rules on formatting, most existing logos are square or landscape and stay within a few hundred pixels of width. -## `/license.md` +## `license.md` This file should contain a link to the license for the main software in the image. Here is an example for `golang`: @@ -130,11 +111,11 @@ This file should contain a link to the license for the main software in the imag View [license information](http://golang.org/LICENSE) for the software contained in this image. ``` -## `/maintainer.md` +## `maintainer.md` This file should contain a link to the maintainers of the Dockerfile. -## `/github-repo` +## `github-repo` This file should contain the URL to the GitHub repository for the Dockerfiles that become the images. The file should be in a single line ending in a newline with no extraneous whitespace. Only one GitHub repo per image repository is supported. It is used in generating links. Here is an example for `golang`: @@ -142,10 +123,34 @@ This file should contain the URL to the GitHub repository for the Dockerfiles th https://github.com/docker-library/golang ``` -## `/user-feedback.md` +## `user-feedback.md` This file is an optional override of the default `user-feedback.md` for those repositories with different issue and contributing policies. +# Files for main Docs repo + +## `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). Accepted arguments are which image(s) you want to update or no arguments to update all of them. + +This script assumes [`bashbrew`](https://github.com/docker-library/official-images/tree/81e90ca8dcec892ade7eb348cba5a4a5d6851e17/bashbrew) is in your `PATH` (for scraping relevant tag information from the library manifest file for each repository). + +## `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. + +## `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. + +## `.template-helpers/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). + +## `.template-helpers/template.md` and `.template-helpers/user-feedback.md` + +These files are the templates used in building the `/README.md` file, in combination with the individual image's files. + # 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/). diff --git a/adminer/README.md b/adminer/README.md index 3897e0c88f02..7b54a963e3da 100644 --- a/adminer/README.md +++ b/adminer/README.md @@ -20,12 +20,12 @@ WARNING: [Tim Düsterhus (of the Docker Community)](https://github.com/TimWolla/docker-adminer) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`4.7.7-standalone`, `4.7-standalone`, `4-standalone`, `standalone`, `4.7.7`, `4.7`, `4`, `latest`](https://github.com/TimWolla/docker-adminer/blob/18344428b4b12907f82ab8c03e865094d1ae0663/4/Dockerfile) -- [`4.7.7-fastcgi`, `4.7-fastcgi`, `4-fastcgi`, `fastcgi`](https://github.com/TimWolla/docker-adminer/blob/18344428b4b12907f82ab8c03e865094d1ae0663/4/fastcgi/Dockerfile) +- [`4.8.0-standalone`, `4-standalone`, `standalone`, `4.8.0`, `4`, `latest`](https://github.com/TimWolla/docker-adminer/blob/40a2516bf4f95dc76a839b8b76e4a5eae2378e67/4/Dockerfile) +- [`4.8.0-fastcgi`, `4-fastcgi`, `fastcgi`](https://github.com/TimWolla/docker-adminer/blob/40a2516bf4f95dc76a839b8b76e4a5eae2378e67/4/fastcgi/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/adminer`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fadminer) + [official-images repo's `library/adminer` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fadminer) [official-images repo's `library/adminer` file](https://github.com/docker-library/official-images/blob/master/library/adminer) ([history](https://github.com/docker-library/official-images/commits/master/library/adminer)) - **Source of this description**: @@ -116,7 +116,7 @@ To load plugins you can pass a list of filenames in `ADMINER_PLUGINS`: $ docker run --link some_database:db -p 8080:8080 -e ADMINER_PLUGINS='tables-filter tinymce' adminer ``` -If a plugin *requires* parameters to work correctly you will need to add a custom file to the container: +If a plugin *requires* parameters to work correctly instead of adding the plugin to `ADMINER_PLUGINS`, you need to add a custom file to the container: ```console $ docker run --link some_database:db -p 8080:8080 -e ADMINER_PLUGINS='login-servers' adminer diff --git a/adminer/content.md b/adminer/content.md index 9257e20e9fcf..8ff1691833a8 100644 --- a/adminer/content.md +++ b/adminer/content.md @@ -44,7 +44,7 @@ To load plugins you can pass a list of filenames in `ADMINER_PLUGINS`: $ docker run --link some_database:db -p 8080:8080 -e ADMINER_PLUGINS='tables-filter tinymce' %%IMAGE%% ``` -If a plugin *requires* parameters to work correctly you will need to add a custom file to the container: +If a plugin *requires* parameters to work correctly instead of adding the plugin to `ADMINER_PLUGINS`, you need to add a custom file to the container: ```console $ docker run --link some_database:db -p 8080:8080 -e ADMINER_PLUGINS='login-servers' %%IMAGE%% diff --git a/adoptopenjdk/README.md b/adoptopenjdk/README.md index 3e0e2581736e..9e5c7bb8bd7a 100644 --- a/adoptopenjdk/README.md +++ b/adoptopenjdk/README.md @@ -28,207 +28,169 @@ WARNING: ## Simple Tags -- [`8u252-b09-jdk-hotspot-bionic`, `8-jdk-hotspot-bionic`, `8-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- [`8u252-b09.1-jdk-hotspot-windowsservercore-ltsc2016`, `8-jdk-hotspot-windowsservercore-ltsc2016`, `8-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`8u252-b09.1-jdk-hotspot-windowsservercore-1809`, `8-jdk-hotspot-windowsservercore-1809`, `8-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`8u252-b09-jre-hotspot-bionic`, `8-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.hotspot.releases.full) -- [`8u252-b09.1-jre-hotspot-windowsservercore-ltsc2016`, `8-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`8u252-b09.1-jre-hotspot-windowsservercore-1809`, `8-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`11.0.7_10-jdk-hotspot-bionic`, `11-jdk-hotspot-bionic`, `11-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- [`11.0.7_10.1-jdk-hotspot-windowsservercore-ltsc2016`, `11-jdk-hotspot-windowsservercore-ltsc2016`, `11-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`11.0.7_10.1-jdk-hotspot-windowsservercore-1809`, `11-jdk-hotspot-windowsservercore-1809`, `11-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`11.0.7_10-jre-hotspot-bionic`, `11-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.hotspot.releases.full) -- [`11.0.7_10.1-jre-hotspot-windowsservercore-ltsc2016`, `11-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`11.0.7_10.1-jre-hotspot-windowsservercore-1809`, `11-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jdk-hotspot-bionic`, `13-jdk-hotspot-bionic`, `13-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jdk-hotspot-windowsservercore-ltsc2016`, `13-jdk-hotspot-windowsservercore-ltsc2016`, `13-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jdk-hotspot-windowsservercore-1809`, `13-jdk-hotspot-windowsservercore-1809`, `13-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jre-hotspot-bionic`, `13-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/ubuntu/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jre-hotspot-windowsservercore-ltsc2016`, `13-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`13.0.2_8-jre-hotspot-windowsservercore-1809`, `13-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`14.0.1_7-jdk-hotspot-bionic`, `14-jdk-hotspot-bionic`, `14-hotspot-bionic`, `hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- [`14.0.1_7.1-jdk-hotspot-windowsservercore-ltsc2016`, `14-jdk-hotspot-windowsservercore-ltsc2016`, `14-hotspot-windowsservercore-ltsc2016`, `hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`14.0.1_7.1-jdk-hotspot-windowsservercore-1809`, `14-jdk-hotspot-windowsservercore-1809`, `14-hotspot-windowsservercore-1809`, `hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`14.0.1_7-jre-hotspot-bionic`, `14-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jre/ubuntu/Dockerfile.hotspot.releases.full) -- [`14.0.1_7.1-jre-hotspot-windowsservercore-ltsc2016`, `14-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) -- [`14.0.1_7.1-jre-hotspot-windowsservercore-1809`, `14-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- [`8u252-b09-jdk-openj9-0.20.0-bionic`, `8-jdk-openj9-bionic`, `8-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.openj9.releases.full) -- [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`, `8-jdk-openj9-windowsservercore-ltsc2016`, `8-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-1809`, `8-jdk-openj9-windowsservercore-1809`, `8-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`8u252-b09-jre-openj9-0.20.0-bionic`, `8-jre-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.openj9.releases.full) -- [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`, `8-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-1809`, `8-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`11.0.7_10-jdk-openj9-0.20.0-bionic`, `11-jdk-openj9-bionic`, `11-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.openj9.releases.full) -- [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`, `11-jdk-openj9-windowsservercore-ltsc2016`, `11-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-1809`, `11-jdk-openj9-windowsservercore-1809`, `11-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`11.0.7_10-jre-openj9-0.20.0-bionic`, `11-jre-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.openj9.releases.full) -- [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`, `11-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-1809`, `11-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jdk-openj9-0.18.0-bionic`, `13-jdk-openj9-bionic`, `13-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/ubuntu/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-ltsc2016`, `13-jdk-openj9-windowsservercore-ltsc2016`, `13-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-1809`, `13-jdk-openj9-windowsservercore-1809`, `13-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jre-openj9-0.18.0-bionic`, `13-jre-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/ubuntu/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-ltsc2016`, `13-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-1809`, `13-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`14.0.1_7-jdk-openj9-0.20.0-bionic`, `14-jdk-openj9-bionic`, `14-openj9-bionic`, `openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jdk/ubuntu/Dockerfile.openj9.releases.full) -- [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`, `14-jdk-openj9-windowsservercore-ltsc2016`, `14-openj9-windowsservercore-ltsc2016`, `openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-1809`, `14-jdk-openj9-windowsservercore-1809`, `14-openj9-windowsservercore-1809`, `openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- [`14.0.1_7-jre-openj9-0.20.0-bionic`, `14-jre-openj9-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jre/ubuntu/Dockerfile.openj9.releases.full) -- [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`, `14-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-1809`, `14-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`8u282-b08-jdk-hotspot-focal`, `8-jdk-hotspot-focal`, `8-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/ubuntu/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jdk-hotspot-windowsservercore-1809`, `8-jdk-hotspot-windowsservercore-1809`, `8-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jdk-hotspot-windowsservercore-ltsc2016`, `8-jdk-hotspot-windowsservercore-ltsc2016`, `8-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jre-hotspot-focal`, `8-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/ubuntu/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jre-hotspot-windowsservercore-1809`, `8-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jre-hotspot-windowsservercore-ltsc2016`, `8-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jdk-hotspot-focal`, `11-jdk-hotspot-focal`, `11-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/ubuntu/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jdk-hotspot-windowsservercore-1809`, `11-jdk-hotspot-windowsservercore-1809`, `11-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jdk-hotspot-windowsservercore-ltsc2016`, `11-jdk-hotspot-windowsservercore-ltsc2016`, `11-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jre-hotspot-focal`, `11-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/ubuntu/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jre-hotspot-windowsservercore-1809`, `11-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`11.0.10_9-jre-hotspot-windowsservercore-ltsc2016`, `11-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jdk-hotspot-focal`, `15-jdk-hotspot-focal`, `15-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/ubuntu/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jdk-hotspot-windowsservercore-1809`, `15-jdk-hotspot-windowsservercore-1809`, `15-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jdk-hotspot-windowsservercore-ltsc2016`, `15-jdk-hotspot-windowsservercore-ltsc2016`, `15-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jre-hotspot-focal`, `15-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/ubuntu/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jre-hotspot-windowsservercore-1809`, `15-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`15.0.2_7-jre-hotspot-windowsservercore-ltsc2016`, `15-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`16_36-jdk-hotspot-focal`, `16-jdk-hotspot-focal`, `16-hotspot-focal`, `hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/ubuntu/Dockerfile.hotspot.releases.full) +- [`16_36-jdk-hotspot-windowsservercore-1809`, `16-jdk-hotspot-windowsservercore-1809`, `16-hotspot-windowsservercore-1809`, `hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`16_36-jdk-hotspot-windowsservercore-ltsc2016`, `16-jdk-hotspot-windowsservercore-ltsc2016`, `16-hotspot-windowsservercore-ltsc2016`, `hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`16_36-jre-hotspot-focal`, `16-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/ubuntu/Dockerfile.hotspot.releases.full) +- [`16_36-jre-hotspot-windowsservercore-1809`, `16-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) +- [`16_36-jre-hotspot-windowsservercore-ltsc2016`, `16-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- [`8u282-b08-jdk-openj9-0.24.0-focal`, `8-jdk-openj9-focal`, `8-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/ubuntu/Dockerfile.openj9.releases.full) +- [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-1809`, `8-jdk-openj9-windowsservercore-1809`, `8-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-ltsc2016`, `8-jdk-openj9-windowsservercore-ltsc2016`, `8-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`8u282-b08-jre-openj9-0.24.0-focal`, `8-jre-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/ubuntu/Dockerfile.openj9.releases.full) +- [`8u282-b08-jre-openj9-0.24.0-windowsservercore-1809`, `8-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`8u282-b08-jre-openj9-0.24.0-windowsservercore-ltsc2016`, `8-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jdk-openj9-0.24.0-focal`, `11-jdk-openj9-focal`, `11-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/ubuntu/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-1809`, `11-jdk-openj9-windowsservercore-1809`, `11-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-ltsc2016`, `11-jdk-openj9-windowsservercore-ltsc2016`, `11-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jre-openj9-0.24.0-focal`, `11-jre-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/ubuntu/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-1809`, `11-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-ltsc2016`, `11-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jdk-openj9-0.24.0-focal`, `15-jdk-openj9-focal`, `15-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/ubuntu/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-1809`, `15-jdk-openj9-windowsservercore-1809`, `15-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-ltsc2016`, `15-jdk-openj9-windowsservercore-ltsc2016`, `15-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jre-openj9-0.24.0-focal`, `15-jre-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/ubuntu/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-1809`, `15-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-ltsc2016`, `15-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`16_36-jdk-openj9-0.25.0-focal`, `16-jdk-openj9-focal`, `16-openj9-focal`, `openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/ubuntu/Dockerfile.openj9.releases.full) +- [`16_36-jdk-openj9-0.25.0-windowsservercore-1809`, `16-jdk-openj9-windowsservercore-1809`, `16-openj9-windowsservercore-1809`, `openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`16_36-jdk-openj9-0.25.0-windowsservercore-ltsc2016`, `16-jdk-openj9-windowsservercore-ltsc2016`, `16-openj9-windowsservercore-ltsc2016`, `openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- [`16_36-jre-openj9-0.25.0-focal`, `16-jre-openj9-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/ubuntu/Dockerfile.openj9.releases.full) +- [`16_36-jre-openj9-0.25.0-windowsservercore-1809`, `16-jre-openj9-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- [`16_36-jre-openj9-0.25.0-windowsservercore-ltsc2016`, `16-jre-openj9-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) ## Shared Tags -- `8u252-b09-jdk-hotspot`: - - [`8u252-b09-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- `8-jdk-hotspot`, `8-hotspot`: - - [`8u252-b09-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `8u252-b09.1-jdk-hotspot-windowsservercore`, `8-jdk-hotspot-windowsservercore`, `8-hotspot-windowsservercore`, `8u252-b09.1-jdk-hotspot`: - - [`8u252-b09.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `8u252-b09-jre-hotspot`: - - [`8u252-b09-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.hotspot.releases.full) -- `8-jre-hotspot`: - - [`8u252-b09-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `8u252-b09.1-jre-hotspot-windowsservercore`, `8-jre-hotspot-windowsservercore`, `8u252-b09.1-jre-hotspot`: - - [`8u252-b09.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`8u252-b09.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `11.0.7_10-jdk-hotspot`: - - [`11.0.7_10-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- `11-jdk-hotspot`, `11-hotspot`: - - [`11.0.7_10-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `11.0.7_10.1-jdk-hotspot-windowsservercore`, `11-jdk-hotspot-windowsservercore`, `11-hotspot-windowsservercore`, `11.0.7_10.1-jdk-hotspot`: - - [`11.0.7_10.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `11.0.7_10-jre-hotspot`: - - [`11.0.7_10-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.hotspot.releases.full) -- `11-jre-hotspot`: - - [`11.0.7_10-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `11.0.7_10.1-jre-hotspot-windowsservercore`, `11-jre-hotspot-windowsservercore`, `11.0.7_10.1-jre-hotspot`: - - [`11.0.7_10.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`11.0.7_10.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `13.0.2_8-jdk-hotspot`, `13-jdk-hotspot`, `13-hotspot`: - - [`13.0.2_8-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/ubuntu/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `13.0.2_8-jdk-hotspot-windowsservercore`, `13-jdk-hotspot-windowsservercore`, `13-hotspot-windowsservercore`: - - [`13.0.2_8-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `hotspot-windowsservercore`: - - [`13.0.2_8-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `13.0.2_8-jre-hotspot`, `13-jre-hotspot`: - - [`13.0.2_8-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/ubuntu/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `13.0.2_8-jre-hotspot-windowsservercore`, `13-jre-hotspot-windowsservercore`: - - [`13.0.2_8-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`13.0.2_8-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `14.0.1_7-jdk-hotspot`: - - [`14.0.1_7-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jdk/ubuntu/Dockerfile.hotspot.releases.full) -- `14-jdk-hotspot`, `14-hotspot`, `hotspot`, `latest`: - - [`14.0.1_7-jdk-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jdk/ubuntu/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `14.0.1_7.1-jdk-hotspot-windowsservercore`, `14-jdk-hotspot-windowsservercore`, `14-hotspot-windowsservercore`, `14.0.1_7.1-jdk-hotspot`: - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `14.0.1_7-jre-hotspot`: - - [`14.0.1_7-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jre/ubuntu/Dockerfile.hotspot.releases.full) -- `14-jre-hotspot`: - - [`14.0.1_7-jre-hotspot-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/2fb3fcc43ea049fd4bd020910e23ecdf492deb58/14/jre/ubuntu/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `14.0.1_7.1-jre-hotspot-windowsservercore`, `14-jre-hotspot-windowsservercore`, `14.0.1_7.1-jre-hotspot`: - - [`14.0.1_7.1-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) - - [`14.0.1_7.1-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) -- `8u252-b09-jdk-openj9-0.20.0`: - - [`8u252-b09-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.openj9.releases.full) -- `8-jdk-openj9`, `8-openj9`: - - [`8u252-b09-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jdk/ubuntu/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `8u252-b09.1-jdk-openj9-0.20.0-windowsservercore`, `8-jdk-openj9-windowsservercore`, `8-openj9-windowsservercore`, `8u252-b09.1-jdk-openj9-0.20.0`: - - [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `8u252-b09-jre-openj9-0.20.0`: - - [`8u252-b09-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.openj9.releases.full) -- `8-jre-openj9`: - - [`8u252-b09-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/8/jre/ubuntu/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `8u252-b09.1-jre-openj9-0.20.0-windowsservercore`, `8-jre-openj9-windowsservercore`, `8u252-b09.1-jre-openj9-0.20.0`: - - [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`8u252-b09.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `11.0.7_10-jdk-openj9-0.20.0`: - - [`11.0.7_10-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.openj9.releases.full) -- `11-jdk-openj9`, `11-openj9`: - - [`11.0.7_10-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jdk/ubuntu/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore`, `11-jdk-openj9-windowsservercore`, `11.0.7_10.1-jdk-openj9-0.20.0`: - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `11-openj9-windowsservercore`: - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) -- `11.0.7_10-jre-openj9-0.20.0`: - - [`11.0.7_10-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.openj9.releases.full) -- `11-jre-openj9`: - - [`11.0.7_10-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/11/jre/ubuntu/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `11.0.7_10.1-jre-openj9-0.20.0-windowsservercore`, `11-jre-openj9-windowsservercore`, `11.0.7_10.1-jre-openj9-0.20.0`: - - [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`11.0.7_10.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `13.0.2_8-jdk-openj9-0.18.0`, `13-jdk-openj9`, `13-openj9`: - - [`13.0.2_8-jdk-openj9-0.18.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/ubuntu/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `13.0.2_8-jdk-openj9-0.18.0-windowsservercore`, `13-jdk-openj9-windowsservercore`, `13-openj9-windowsservercore`: - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `openj9-windowsservercore`: - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jdk-openj9-0.18.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `13.0.2_8-jre-openj9-0.18.0`, `13-jre-openj9`: - - [`13.0.2_8-jre-openj9-0.18.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/ubuntu/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `13.0.2_8-jre-openj9-0.18.0-windowsservercore`, `13-jre-openj9-windowsservercore`: - - [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`13.0.2_8-jre-openj9-0.18.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/3b28dd3fb7230f208ed49da507432a01741b1259/13/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `14.0.1_7-jdk-openj9-0.20.0`: - - [`14.0.1_7-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jdk/ubuntu/Dockerfile.openj9.releases.full) -- `14-jdk-openj9`, `14-openj9`, `openj9`: - - [`14.0.1_7-jdk-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jdk/ubuntu/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore`, `14-jdk-openj9-windowsservercore`, `14-openj9-windowsservercore`, `14.0.1_7.1-jdk-openj9-0.20.0`: - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jdk-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `14.0.1_7-jre-openj9-0.20.0`: - - [`14.0.1_7-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jre/ubuntu/Dockerfile.openj9.releases.full) -- `14-jre-openj9`: - - [`14.0.1_7-jre-openj9-0.20.0-bionic`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/f104ef0fd80dc1d8e2b796a80f00512ab06a1465/14/jre/ubuntu/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) -- `14.0.1_7.1-jre-openj9-0.20.0-windowsservercore`, `14-jre-openj9-windowsservercore`, `14.0.1_7.1-jre-openj9-0.20.0`: - - [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) - - [`14.0.1_7.1-jre-openj9-0.20.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/facb9fef4e720ca5e037862e19ca8ac5b883cc48/14/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) +- `8u282-b08-jdk-hotspot`, `8-jdk-hotspot`, `8-hotspot`, `8-jdk`, `8`: + - [`8u282-b08-jdk-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/ubuntu/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `8u282-b08-jdk-hotspot-windowsservercore`, `8-jdk-hotspot-windowsservercore`, `8-hotspot-windowsservercore`: + - [`8u282-b08-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `8u282-b08-jre-hotspot`, `8-jre-hotspot`, `8-jre`: + - [`8u282-b08-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/ubuntu/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `8u282-b08-jre-hotspot-windowsservercore`, `8-jre-hotspot-windowsservercore`: + - [`8u282-b08-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`8u282-b08-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `11.0.10_9-jdk-hotspot`, `11-jdk-hotspot`, `11-hotspot`, `11-jdk`, `11`: + - [`11.0.10_9-jdk-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/ubuntu/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `11.0.10_9-jdk-hotspot-windowsservercore`, `11-jdk-hotspot-windowsservercore`, `11-hotspot-windowsservercore`: + - [`11.0.10_9-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `11.0.10_9-jre-hotspot`, `11-jre-hotspot`, `11-jre`: + - [`11.0.10_9-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/ubuntu/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `11.0.10_9-jre-hotspot-windowsservercore`, `11-jre-hotspot-windowsservercore`: + - [`11.0.10_9-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`11.0.10_9-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `15.0.2_7-jdk-hotspot`, `15-jdk-hotspot`, `15-hotspot`, `15-jdk`, `15`: + - [`15.0.2_7-jdk-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/ubuntu/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `15.0.2_7-jdk-hotspot-windowsservercore`, `15-jdk-hotspot-windowsservercore`, `15-hotspot-windowsservercore`: + - [`15.0.2_7-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `15.0.2_7-jre-hotspot`, `15-jre-hotspot`, `15-jre`: + - [`15.0.2_7-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/ubuntu/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `15.0.2_7-jre-hotspot-windowsservercore`, `15-jre-hotspot-windowsservercore`: + - [`15.0.2_7-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`15.0.2_7-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `16_36-jdk-hotspot`, `16-jdk-hotspot`, `16-hotspot`, `hotspot`, `16-jdk`, `16`, `jdk`, `latest`: + - [`16_36-jdk-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/ubuntu/Dockerfile.hotspot.releases.full) + - [`16_36-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`16_36-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `16_36-jdk-hotspot-windowsservercore`, `16-jdk-hotspot-windowsservercore`, `16-hotspot-windowsservercore`, `hotspot-windowsservercore`: + - [`16_36-jdk-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`16_36-jdk-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `16_36-jre-hotspot`, `16-jre-hotspot`, `16-jre`: + - [`16_36-jre-hotspot-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/ubuntu/Dockerfile.hotspot.releases.full) + - [`16_36-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`16_36-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `16_36-jre-hotspot-windowsservercore`, `16-jre-hotspot-windowsservercore`: + - [`16_36-jre-hotspot-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.hotspot.releases.full) + - [`16_36-jre-hotspot-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.hotspot.releases.full) +- `8u282-b08-jdk-openj9-0.24.0`, `8-jdk-openj9`, `8-openj9`: + - [`8u282-b08-jdk-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/ubuntu/Dockerfile.openj9.releases.full) + - [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `8u282-b08-jdk-openj9-0.24.0-windowsservercore`, `8-jdk-openj9-windowsservercore`, `8-openj9-windowsservercore`: + - [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`8u282-b08-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `8u282-b08-jre-openj9-0.24.0`, `8-jre-openj9`: + - [`8u282-b08-jre-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/ubuntu/Dockerfile.openj9.releases.full) + - [`8u282-b08-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`8u282-b08-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `8u282-b08-jre-openj9-0.24.0-windowsservercore`, `8-jre-openj9-windowsservercore`: + - [`8u282-b08-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`8u282-b08-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/8/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `11.0.10_9-jdk-openj9-0.24.0`, `11-jdk-openj9`, `11-openj9`: + - [`11.0.10_9-jdk-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/ubuntu/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `11.0.10_9-jdk-openj9-0.24.0-windowsservercore`, `11-jdk-openj9-windowsservercore`, `11-openj9-windowsservercore`: + - [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `11.0.10_9-jre-openj9-0.24.0`, `11-jre-openj9`: + - [`11.0.10_9-jre-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/ubuntu/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `11.0.10_9-jre-openj9-0.24.0-windowsservercore`, `11-jre-openj9-windowsservercore`: + - [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`11.0.10_9-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/11/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `15.0.2_7-jdk-openj9-0.24.0`, `15-jdk-openj9`, `15-openj9`: + - [`15.0.2_7-jdk-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/ubuntu/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `15.0.2_7-jdk-openj9-0.24.0-windowsservercore`, `15-jdk-openj9-windowsservercore`, `15-openj9-windowsservercore`: + - [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jdk-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `15.0.2_7-jre-openj9-0.24.0`, `15-jre-openj9`: + - [`15.0.2_7-jre-openj9-0.24.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/ubuntu/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `15.0.2_7-jre-openj9-0.24.0-windowsservercore`, `15-jre-openj9-windowsservercore`: + - [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`15.0.2_7-jre-openj9-0.24.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/15/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `16_36-jdk-openj9-0.25.0`, `16-jdk-openj9`, `16-openj9`, `openj9`: + - [`16_36-jdk-openj9-0.25.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/ubuntu/Dockerfile.openj9.releases.full) + - [`16_36-jdk-openj9-0.25.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`16_36-jdk-openj9-0.25.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `16_36-jdk-openj9-0.25.0-windowsservercore`, `16-jdk-openj9-windowsservercore`, `16-openj9-windowsservercore`, `openj9-windowsservercore`: + - [`16_36-jdk-openj9-0.25.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`16_36-jdk-openj9-0.25.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `16_36-jre-openj9-0.25.0`, `16-jre-openj9`: + - [`16_36-jre-openj9-0.25.0-focal`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/ubuntu/Dockerfile.openj9.releases.full) + - [`16_36-jre-openj9-0.25.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`16_36-jre-openj9-0.25.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) +- `16_36-jre-openj9-0.25.0-windowsservercore`, `16-jre-openj9-windowsservercore`: + - [`16_36-jre-openj9-0.25.0-windowsservercore-1809`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-1809/Dockerfile.openj9.releases.full) + - [`16_36-jre-openj9-0.25.0-windowsservercore-ltsc2016`](https://github.com/AdoptOpenJDK/openjdk-docker/blob/96ca1a1dd33a21f98a0c0eb979f5ccd9c1798718/16/jre/windows/windowsservercore-ltsc2016/Dockerfile.openj9.releases.full) # Quick reference (cont.) @@ -243,7 +205,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/adoptopenjdk`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fadoptopenjdk) + [official-images repo's `library/adoptopenjdk` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fadoptopenjdk) [official-images repo's `library/adoptopenjdk` file](https://github.com/docker-library/official-images/blob/master/library/adoptopenjdk) ([history](https://github.com/docker-library/official-images/commits/master/library/adoptopenjdk)) - **Source of this description**: @@ -325,7 +287,7 @@ The `adoptopenjdk` images come in many flavors, each designed for a specific use This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like bionic in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu. +Some of these tags may have names like focal in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu. ## `adoptopenjdk:-windowsservercore` diff --git a/aerospike/README.md b/aerospike/README.md index fd73a64538ce..e5e1298ca16a 100644 --- a/aerospike/README.md +++ b/aerospike/README.md @@ -20,13 +20,14 @@ WARNING: [Aerospike, Inc.](https://github.com/aerospike/aerospike-server.docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`4.8.0.11`](https://github.com/aerospike/aerospike-server.docker/blob/28e5a8dcb3384291a1da9f9bdeef3bd87aeedb84/Dockerfile) -- [`4.9.0.8`](https://github.com/aerospike/aerospike-server.docker/blob/ef97bb1d61d672cdb537deb1b773509e32a61abf/Dockerfile) -- [`5.0.0.4`, `latest`](https://github.com/aerospike/aerospike-server.docker/blob/177797d0d557f1534d3c952e9a1e29e21eccea05/Dockerfile) +- [`5.3.0.16`](https://github.com/aerospike/aerospike-server.docker/blob/c9e69ec4a5a3d079daa8948ad1e3dc33328b3870/Dockerfile) +- [`5.4.0.11`](https://github.com/aerospike/aerospike-server.docker/blob/6a0955a11bac57cfdba9a80096e0fdf197419161/Dockerfile) +- [`5.5.0.9`, `latest`](https://github.com/aerospike/aerospike-server.docker/blob/7be1159a1714b9a11ae4c24c134f0762b903eca9/Dockerfile) +- [`ee-5.5.0.9`](https://github.com/aerospike/aerospike-server-enterprise.docker/blob/1f2f68dd54868659402d7f27cd26c4ec26dd964f/Dockerfile) # Quick reference (cont.) @@ -41,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/aerospike`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Faerospike) + [official-images repo's `library/aerospike` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Faerospike) [official-images repo's `library/aerospike` file](https://github.com/docker-library/official-images/blob/master/library/aerospike) ([history](https://github.com/docker-library/official-images/commits/master/library/aerospike)) - **Source of this description**: @@ -111,6 +112,8 @@ A full example: $ docker run -d -v :/opt/aerospike/data --name aerospike -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 3003:3003 aerospike ``` +**Note:** As of version 5.1.0.10 the Dockerfile no longer has /opt/aerospike/data as a Docker Volume by default. + ## Clustering Aerospike recommends using Mesh Clustering. Mesh uses TCP point to point connections for heartbeats. Each node in the cluster maintains a heartbeat connection to all other nodes. Please see [http://www.aerospike.com/docs/operations/configure/network/heartbeat/#mesh-unicast-heartbeat](http://www.aerospike.com/docs/operations/configure/network/heartbeat/#mesh-unicast-heartbeat) @@ -130,9 +133,13 @@ Aerospike Telemetry is a feature that allows us to collect certain use data – # License -Copyright 2014-2015 Aerospike, Inc. +Copyright 2020-2021 Aerospike, Inc. + +Aerospike Community Edition is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0). + +If you are using the Aerospike Database EE evaluation feature key file, you are operating under the [Aerospike Evaluation License Agreement](https://www.aerospike.com/forms/evaluation-license-agreement/). -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0). +If you are using a feature key file you received as part of your commercial enterprise license, you are operating under the [Aerospike Master License Agreement](https://www.aerospike.com/forms/master-license-agreement/). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/aerospike/content.md b/aerospike/content.md index b0200fde16c8..020f9a83e04c 100644 --- a/aerospike/content.md +++ b/aerospike/content.md @@ -62,6 +62,8 @@ A full example: $ docker run -d -v :/opt/aerospike/data --name aerospike -p 3000:3000 -p 3001:3001 -p 3002:3002 -p 3003:3003 %%IMAGE%% ``` +**Note:** As of version 5.1.0.10 the Dockerfile no longer has /opt/aerospike/data as a Docker Volume by default. + ## Clustering Aerospike recommends using Mesh Clustering. Mesh uses TCP point to point connections for heartbeats. Each node in the cluster maintains a heartbeat connection to all other nodes. Please see [http://www.aerospike.com/docs/operations/configure/network/heartbeat/#mesh-unicast-heartbeat](http://www.aerospike.com/docs/operations/configure/network/heartbeat/#mesh-unicast-heartbeat) diff --git a/aerospike/license.md b/aerospike/license.md index e7ba65d90444..0e010ef114ff 100644 --- a/aerospike/license.md +++ b/aerospike/license.md @@ -1,5 +1,9 @@ -Copyright 2014-2015 Aerospike, Inc. +Copyright 2020-2021 Aerospike, Inc. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0). +Aerospike Community Edition is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0). + +If you are using the Aerospike Database EE evaluation feature key file, you are operating under the [Aerospike Evaluation License Agreement](https://www.aerospike.com/forms/evaluation-license-agreement/). + +If you are using a feature key file you received as part of your commercial enterprise license, you are operating under the [Aerospike Master License Agreement](https://www.aerospike.com/forms/master-license-agreement/). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/alpine/README.md b/alpine/README.md index 5f87aee52caf..c077d9e06bd7 100644 --- a/alpine/README.md +++ b/alpine/README.md @@ -20,15 +20,15 @@ WARNING: [Natanael Copa](https://github.com/alpinelinux/docker-alpine) (an Alpine Linux maintainer) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`20200428`, `edge`](https://github.com/alpinelinux/docker-alpine/blob/38e5f8a8728204d1b8c3ab62cbf28c2110f8a544/x86_64/Dockerfile) -- [`3.11.6`, `3.11`, `3`, `latest`](https://github.com/alpinelinux/docker-alpine/blob/c5510d5b1d2546d133f7b0938690c3c1e2cd9549/x86_64/Dockerfile) -- [`3.10.5`, `3.10`](https://github.com/alpinelinux/docker-alpine/blob/a02be1f7da059d74c0743792b41d17626128c2a3/x86_64/Dockerfile) -- [`3.9.6`, `3.9`](https://github.com/alpinelinux/docker-alpine/blob/d7eb97a39abbdfe6ba73236f844cb80b756280d1/x86_64/Dockerfile) -- [`3.8.5`, `3.8`](https://github.com/alpinelinux/docker-alpine/blob/c0919567e0350f0128fcad803d8e79c4ecfdf258/x86_64/Dockerfile) +- [`20210212`, `edge`](https://github.com/alpinelinux/docker-alpine/blob/489953694b9dd165f615dc01971971ddf55701f8/x86_64/Dockerfile) +- [`3.13.5`, `3.13`, `3`, `latest`](https://github.com/alpinelinux/docker-alpine/blob/37579d92b9faa70398240431bc46720242faa5e5/x86_64/Dockerfile) +- [`3.12.7`, `3.12`](https://github.com/alpinelinux/docker-alpine/blob/8b8051f1c11daff18ada363488e145af9e201802/x86_64/Dockerfile) +- [`3.11.11`, `3.11`](https://github.com/alpinelinux/docker-alpine/blob/2cd76fb18830708f4af5a6927c3aa40867a4e8bb/x86_64/Dockerfile) +- [`3.10.9`, `3.10`](https://github.com/alpinelinux/docker-alpine/blob/5a9faa421c89dc3d516bc84e9d47907d560fc2bd/x86_64/Dockerfile) # Quick reference (cont.) @@ -43,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/alpine`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Falpine) + [official-images repo's `library/alpine` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Falpine) [official-images repo's `library/alpine` file](https://github.com/docker-library/official-images/blob/master/library/alpine) ([history](https://github.com/docker-library/official-images/commits/master/library/alpine)) - **Source of this description**: diff --git a/alt/README.md b/alt/README.md index 0070aa9323a1..91f513684ee5 100644 --- a/alt/README.md +++ b/alt/README.md @@ -20,13 +20,13 @@ WARNING: [The ALT Linux Team Cloud](https://github.com/alt-cloud/docker-brew-alt) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`p9`, `latest`](https://github.com/alt-cloud/docker-brew-alt/blob/c3c1f444708cc0ce980ed2d13b877a4faf8ffe6e/x86_64/Dockerfile) -- [`p8`](https://github.com/alt-cloud/docker-brew-alt/blob/b7c6a1e701ad6454d2644f57bbb20e22a1db9c64/x86_64/Dockerfile) -- [`sisyphus`](https://github.com/alt-cloud/docker-brew-alt/blob/52b1dc24145fd5fd93cec6851ac91faea799cf94/x86_64/Dockerfile) +- [`p9`, `latest`](https://github.com/alt-cloud/docker-brew-alt/blob/027b02f57faf6278ab0a7080e077f4e989e0302d/x86_64/Dockerfile) +- [`p8`](https://github.com/alt-cloud/docker-brew-alt/blob/ce87cc6c704caf13461955cfa5ddd83a7d04207a/x86_64/Dockerfile) +- [`sisyphus`](https://github.com/alt-cloud/docker-brew-alt/blob/425b1b723bf933037319e23d5a5cdf7e796971eb/x86_64/Dockerfile) # Quick reference (cont.) @@ -43,7 +43,7 @@ For create new bug, please use [ALT's bugzilla page](https://bugzilla.altlinux.o (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/alt`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Falt) + [official-images repo's `library/alt` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Falt) [official-images repo's `library/alt` file](https://github.com/docker-library/official-images/blob/master/library/alt) ([history](https://github.com/docker-library/official-images/commits/master/library/alt)) - **Source of this description**: diff --git a/amazoncorretto/README.md b/amazoncorretto/README.md index dcb9afedc57b..c30843d0a928 100644 --- a/amazoncorretto/README.md +++ b/amazoncorretto/README.md @@ -17,20 +17,25 @@ WARNING: # Quick reference - **Maintained by**: - [the AWS JDK team](https://github.com/corretto/corretto-8-docker) + [the AWS JDK team](https://github.com/corretto/corretto-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8`, `8u252`, `8u252-al2`, `8-al2-full`, `8-al2-jdk`, `latest`](https://github.com/corretto/corretto-docker/blob/619edf4eceed8bc4392509cfb29a4cdaac4787d8/8/jdk/al2/Dockerfile) -- [`11`, `11.0.7`, `11.0.7-al2`, `11-al2-jdk`, `11-al2-full`](https://github.com/corretto/corretto-docker/blob/619edf4eceed8bc4392509cfb29a4cdaac4787d8/11/jdk/al2/Dockerfile) +- [`8`, `8u292`, `8u292-al2`, `8-al2-full`, `8-al2-jdk`, `latest`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/8/jdk/al2/Dockerfile) +- [`11`, `11.0.11`, `11.0.11-al2`, `11-al2-jdk`, `11-al2-full`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/11/jdk/al2/Dockerfile) +- [`8-alpine`, `8u292-alpine`, `8-alpine-full`, `8-alpine-jdk`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/8/jdk/alpine/Dockerfile) +- [`8-alpine-jre`, `8u282-alpine-jre`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/8/jre/alpine/Dockerfile) +- [`11-alpine`, `11.0.11-alpine`, `11-alpine-full`, `11-alpine-jdk`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/11/jdk/alpine/Dockerfile) +- [`16`, `16.0.1`, `16.0.1-al2`, `16-al2-jdk`, `16-al2-full`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/16/jdk/al2/Dockerfile) +- [`16-alpine`, `16.0.1-alpine`, `16-alpine-full`, `16-alpine-jdk`](https://github.com/corretto/corretto-docker/blob/4e2c302e3ba78f2d964fb82fce2e2d25a459d4ee/16/jdk/alpine/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/corretto/corretto-8-docker/issues](https://github.com/corretto/corretto-8-docker/issues) + [https://github.com/corretto/corretto-docker/issues](https://github.com/corretto/corretto-docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/amazoncorretto/), [`arm64v8`](https://hub.docker.com/r/arm64v8/amazoncorretto/) @@ -40,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/amazoncorretto`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Famazoncorretto) + [official-images repo's `library/amazoncorretto` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Famazoncorretto) [official-images repo's `library/amazoncorretto` file](https://github.com/docker-library/official-images/blob/master/library/amazoncorretto) ([history](https://github.com/docker-library/official-images/commits/master/library/amazoncorretto)) - **Source of this description**: @@ -76,6 +81,22 @@ Amazon will provide security updates for Corretto 8 until at least June 2023. Up Corretto is designed as a drop-in replacement for all Java SE distributions unless you are using features (e.g., Java Flight Recorder) not available in OpenJDK. Once Corretto binaries are installed on a host and correctly invoked to run your Java applications (e.g., using the alternatives command on Linux), existing command-line options, tuning parameters, monitoring, and anything else in place will continue to work as before. +# Image Variants + +The `amazoncorretto` images come in many flavors, each designed for a specific use case. + +## `amazoncorretto:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +## `amazoncorretto:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + # License Amazon Corretto is released under the same open source license as OpenJDK, which is licensed under the GNU Public License version 2 with the Class Path Exception ([GPLv2 with CPE](https://openjdk.java.net/legal/gplv2+ce.html)). diff --git a/amazoncorretto/github-repo b/amazoncorretto/github-repo index 9b9c270daeb0..960f5798efbe 100644 --- a/amazoncorretto/github-repo +++ b/amazoncorretto/github-repo @@ -1 +1 @@ -https://github.com/corretto/corretto-8-docker +https://github.com/corretto/corretto-docker diff --git a/amazonlinux/README.md b/amazonlinux/README.md index bc75ac053333..ffaf2c3659f2 100644 --- a/amazonlinux/README.md +++ b/amazonlinux/README.md @@ -20,14 +20,14 @@ WARNING: [the Amazon Linux Team](https://github.com/aws/amazon-linux-docker-images) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.0.20200406.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/92466cbdf8600e425701459dba31a31aa53415e7/Dockerfile) -- [`2.0.20200406.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/d686ee33d867fddd67595fb5d0df581b23ebfdfe/Dockerfile) -- [`2018.03.0.20200318.1`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/3209338a28f4fa5f0a189e517c0809d095c777d8/Dockerfile) -- [`2018.03.0.20200318.1-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/4f52cd2aa92456ef8f867fb6fa8ac63aab2d462f/Dockerfile) +- [`2.0.20210326.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/6034adc97679e1ac7fa88c499405699326436304/Dockerfile) +- [`2.0.20210326.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/54c655c48433d8277b9b5190935806eba541c6ee/Dockerfile) +- [`2018.03.0.20210319.0`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/6cce9f98bfd3ef6fa775fa7fca2e1b34fe531e16/Dockerfile) +- [`2018.03.0.20210319.0-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/ff58ee90f6aa45b56b86222d009828c8bc4f40ac/Dockerfile) # Quick reference (cont.) @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/amazonlinux`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Famazonlinux) + [official-images repo's `library/amazonlinux` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Famazonlinux) [official-images repo's `library/amazonlinux` file](https://github.com/docker-library/official-images/blob/master/library/amazonlinux) ([history](https://github.com/docker-library/official-images/commits/master/library/amazonlinux)) - **Source of this description**: diff --git a/arangodb/README.md b/arangodb/README.md index 2149a8c4d337..06e39764a477 100644 --- a/arangodb/README.md +++ b/arangodb/README.md @@ -20,13 +20,12 @@ WARNING: [ArangoDB](https://github.com/arangodb/arangodb-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.4`, `3.4.10`](https://github.com/arangodb/arangodb-docker/blob/63dc866beb0546ba3b172e76f64759abfe1a0a28/alpine/3.4.10/Dockerfile) -- [`3.5`, `3.5.5`](https://github.com/arangodb/arangodb-docker/blob/8690d4d6c3f3f0aaea34af72455a2c78a5669149/alpine/3.5.5.1/Dockerfile) -- [`3.6`, `3.6.3`, `latest`](https://github.com/arangodb/arangodb-docker/blob/63dc866beb0546ba3b172e76f64759abfe1a0a28/alpine/3.6.3.1/Dockerfile) +- [`3.6`, `3.6.13`](https://github.com/arangodb/arangodb-docker/blob/293903ae4adcf22eaafcf427076a6e62010ab1ea/alpine/3.6.13/Dockerfile) +- [`3.7`, `3.7.10`, `latest`](https://github.com/arangodb/arangodb-docker/blob/f4170707010ed55855b68e709861dde4d0f3cb12/alpine/3.7.10/Dockerfile) # Quick reference (cont.) @@ -41,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/arangodb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Farangodb) + [official-images repo's `library/arangodb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Farangodb) [official-images repo's `library/arangodb` file](https://github.com/docker-library/official-images/blob/master/library/arangodb) ([history](https://github.com/docker-library/official-images/commits/master/library/arangodb)) - **Source of this description**: @@ -49,9 +48,9 @@ WARNING: # What is ArangoDB? -ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally with a few mouse clicks. +ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. -ArangoDB runs everywhere: On-prem, in the cloud and also on [ArangoDBs Cloud Service Oasis](https://cloud.arangodb.com/home). +ArangoDB runs everywhere: On-prem, in the cloud and also on [ArangoDB's Cloud Service Oasis](https://cloud.arangodb.com/home). The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for your data. @@ -200,11 +199,9 @@ See more information about [Configuration](https://www.arangodb.com/docs/stable/ ## Persistent Data -ArangoDB supports two different storage engines as of ArangoDB 3.2. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine, `rocksdb` will choose the newly introduced storage engine based on [RocksDB](http://rocksdb.org/). The default choice is `mmfiles`. +ArangoDB supports two different storage engines from version 3.2 to 3.6. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine (not available in 3.7 and later), `rocksdb` will choose the storage engine based on [RocksDB](http://rocksdb.org/). The default choice is `rocksdb` from version 3.4 on. -ArangoDB use the volume `/var/lib/arangodb3` as database directory to store the collection data and the volume `/var/lib/arangodb3-apps` as apps directory to store any extensions. These directories are marked as docker volumes. - -Please note that the old version 2.x used `/var/lib/arangodb` and `/var/lib/arangodb-apps`. We will refer to the 3.x variant in this document. In case you are starting a 2.x image just replace it with the 2.x variant. +ArangoDB uses the volume `/var/lib/arangodb3` as database directory to store the collection data and the volume `/var/lib/arangodb3-apps` as apps directory to store any extensions. These directories are marked as docker volumes. See `docker inspect --format "{{ .Config.Volumes}}" arangodb` for all volumes. @@ -255,7 +252,7 @@ When deriving the image, you can control the instantiation via putting files int # License -[Arangodb itself is licensed under the Apache License](https://github.com/arangodb/arangodb/blob/devel/LICENSE), but it contains [software of third parties under their respective licenses](https://github.com/arangodb/arangodb/blob/devel/LICENSES-OTHER-COMPONENTS.md). +[ArangoDB itself is licensed under the Apache License](https://github.com/arangodb/arangodb/blob/devel/LICENSE), but it contains [software of third parties under their respective licenses](https://github.com/arangodb/arangodb/blob/devel/LICENSES-OTHER-COMPONENTS.md). As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/arangodb/content.md b/arangodb/content.md index dbf8ef22ef81..935d90487510 100644 --- a/arangodb/content.md +++ b/arangodb/content.md @@ -1,8 +1,8 @@ # What is ArangoDB? -ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally with a few mouse clicks. +ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. -ArangoDB runs everywhere: On-prem, in the cloud and also on [ArangoDBs Cloud Service Oasis](https://cloud.arangodb.com/home). +ArangoDB runs everywhere: On-prem, in the cloud and also on [ArangoDB's Cloud Service Oasis](https://cloud.arangodb.com/home). The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for your data. @@ -151,11 +151,9 @@ See more information about [Configuration](https://www.arangodb.com/docs/stable/ ## Persistent Data -ArangoDB supports two different storage engines as of ArangoDB 3.2. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine, `rocksdb` will choose the newly introduced storage engine based on [RocksDB](http://rocksdb.org/). The default choice is `mmfiles`. +ArangoDB supports two different storage engines from version 3.2 to 3.6. You can choose them while instantiating the container with the environment variable `ARANGO_STORAGE_ENGINE`. With `mmfiles` you choose the classic storage engine (not available in 3.7 and later), `rocksdb` will choose the storage engine based on [RocksDB](http://rocksdb.org/). The default choice is `rocksdb` from version 3.4 on. -ArangoDB use the volume `/var/lib/arangodb3` as database directory to store the collection data and the volume `/var/lib/arangodb3-apps` as apps directory to store any extensions. These directories are marked as docker volumes. - -Please note that the old version 2.x used `/var/lib/arangodb` and `/var/lib/arangodb-apps`. We will refer to the 3.x variant in this document. In case you are starting a 2.x image just replace it with the 2.x variant. +ArangoDB uses the volume `/var/lib/arangodb3` as database directory to store the collection data and the volume `/var/lib/arangodb3-apps` as apps directory to store any extensions. These directories are marked as docker volumes. See `docker inspect --format "{{ .Config.Volumes}}" arangodb` for all volumes. diff --git a/arangodb/license.md b/arangodb/license.md index a54be7f1daff..50e704672fa9 100644 --- a/arangodb/license.md +++ b/arangodb/license.md @@ -1 +1 @@ -[Arangodb itself is licensed under the Apache License](https://github.com/arangodb/arangodb/blob/devel/LICENSE), but it contains [software of third parties under their respective licenses](https://github.com/arangodb/arangodb/blob/devel/LICENSES-OTHER-COMPONENTS.md). +[ArangoDB itself is licensed under the Apache License](https://github.com/arangodb/arangodb/blob/devel/LICENSE), but it contains [software of third parties under their respective licenses](https://github.com/arangodb/arangodb/blob/devel/LICENSES-OTHER-COMPONENTS.md). diff --git a/archlinux/README.md b/archlinux/README.md index 0f0e5c908211..0a740934036d 100644 --- a/archlinux/README.md +++ b/archlinux/README.md @@ -17,26 +17,20 @@ WARNING: # Quick reference - **Maintained by**: - Arch Linux trusted users [Santiago Torres-Arias](https://www.archlinux.org/people/trusted-users/#sangy) and [Christian Rebischke](https://www.archlinux.org/people/trusted-users/#shibumi) as well as Arch Linux developer [Pierre Schmitz](https://www.archlinux.org/people/developers/#pierre). + Arch Linux trusted users [Santiago Torres-Arias](https://www.archlinux.org/people/trusted-users/#sangy), [Christian Rebischke](https://www.archlinux.org/people/trusted-users/#shibumi) and [Justin Kromlinger](https://www.archlinux.org/people/trusted-users/#hashworks) as well as Arch Linux developer [Pierre Schmitz](https://www.archlinux.org/people/developers/#pierre). - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `20200505`](https://github.com/archlinux/archlinux-docker/blob/dd03495526350f45138b21be43f2a93c1649453a/Dockerfile) -- [`20200407`](https://github.com/archlinux/archlinux-docker/blob/c136f3e502204c8d61fbfb48c2c64fa76c4f143c/Dockerfile) -- [`20200306`](https://github.com/archlinux/archlinux-docker/blob/7cc3899f3be9e2da0bc3c03f82f0f570df9ce908/Dockerfile) -- [`20200205`](https://github.com/archlinux/archlinux-docker/blob/38da0535b738f00ec3beeb18fef27758744b7f13/Dockerfile) -- [`20200106`](https://github.com/archlinux/archlinux-docker/blob/5cda6709af009df0c1db0022629b45a2ddc9f717/Dockerfile) -- [`20191205`](https://github.com/archlinux/archlinux-docker/blob/b285a662b4fb81b8614f8705d7ddd7681b8d530b/Dockerfile) -- [`20191105`](https://github.com/archlinux/archlinux-docker/blob/15a9a3997aa8e571a8ce2a019b65b5eb698919ec/Dockerfile) -- [`20191006`](https://github.com/archlinux/archlinux-docker/blob/ed18f615efd16f3a39b2c3eeed79a1f0c6a1dfca/Dockerfile) +- [`latest`, `base`, `base-20210425.0.20608`](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/d90390653741d84e557a6cbbb1d60738fdd4eee1/Dockerfile.base) +- [`base-devel`, `base-devel-20210425.0.20608`](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/d90390653741d84e557a6cbbb1d60738fdd4eee1/Dockerfile.base-devel) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/archlinux/archlinux-docker/issues](https://github.com/archlinux/archlinux-docker/issues) + https://gitlab.archlinux.org/archlinux/archlinux-docker/issues - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/archlinux/) @@ -46,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/archlinux`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Farchlinux) + [official-images repo's `library/archlinux` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Farchlinux) [official-images repo's `library/archlinux` file](https://github.com/docker-library/official-images/blob/master/library/archlinux) ([history](https://github.com/docker-library/official-images/commits/master/library/archlinux)) - **Source of this description**: @@ -56,34 +50,36 @@ WARNING: Arch Linux, is a lightweight and flexible Linux® distribution that tries to Keep It Simple. -Currently we have official packages optimized for the x86-64 architecture. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day. +Currently, we have official packages optimized for the x86-64 architecture. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day. -Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out our forums and mailing lists to get your feet wet. Also glance through our [wiki](https://wiki.archlinux.org) if you want to learn more about Arch. +Our strong community is diverse and helpful, and we pride ourselves on the range of skill sets and uses for Arch that stem from it. Please check out our forums and mailing lists to get your feet wet. Also glance through our [wiki](https://wiki.archlinux.org) if you want to learn more about Arch. ![logo](https://raw.githubusercontent.com/docker-library/docs/ccacad8fa355ebf38dcfd8c216855ab55f981f17/archlinux/logo.png) # About this image -The base filesystem tarball for this image is auto-generated in Arch Linux infrastructure at the beginning of each month. Given the rolling-release nature of Arch Linux, images are tagged with the timestamp of the date they were generated. For example, `archlinux:20191006` was generated the Sixth of October of 2019. The latest tag will contain the latest build always. +The root filesystem tarball for this image is auto-generated weekly at 00:00 UTC on Sunday in Arch Linux infrastructure. Given the rolling-release nature of Arch Linux, images are tagged with the included package group / meta package and the timestamp of the date they were generated. For example, `archlinux:base-20201101.0.7893` was generated the First of November 2020 in [CI job #7893](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/jobs/7893). The `latest` tag will always match the latest `base` tag. + +Besides `base` we also provide images for the `base-devel` package group. This image is intended to serve the following goals: - Provide the Arch experience in a Docker Image -- Provide the most simple but complete image to base every other upon -- pacman needs to work out of the box +- Provide simplest but complete image to base every other upon +- `pacman` needs to work out of the box - All installed packages have to be kept unmodified -## Base packages +## Availability -Given that that the image is intended to be light-weight several packages of the `base` group have been removed. Please take a look at the [packages](https://github.com/archlinux/archlinux-docker/blob/master/packages) file to see what packages are included on this release. +Root filesystem tarballs are [provided by our GitLab](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/releases) for at least two months. ## Updating -Arch Linux is a rolling release distribution, so a full update is recommended when installing new packages. In other words, we suggest to either execute `RUN pacman -Syu` immediately after your `FROM` statement or as soon as you docker run into a container. +Arch Linux is a rolling release distribution, so a full update is recommended when installing new packages. In other words, we suggest to either execute `RUN pacman -Syu` immediately after your `FROM` statement or as soon as you `docker run` into a container. ## How It's Made -You can build this image with the tools on the [Github repository](https://github.com/archlinux/archlinux-docker) using the included makefile. +You can build this image with the tools on the [Arch Linux GitLab repository](https://gitlab.archlinux.org/archlinux/archlinux-docker) using the included makefile. # License diff --git a/archlinux/content.md b/archlinux/content.md index 4ed80731fe15..c7786a5bdc5e 100644 --- a/archlinux/content.md +++ b/archlinux/content.md @@ -2,31 +2,33 @@ Arch Linux, is a lightweight and flexible Linux® distribution that tries to Keep It Simple. -Currently we have official packages optimized for the x86-64 architecture. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day. +Currently, we have official packages optimized for the x86-64 architecture. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day. -Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out our forums and mailing lists to get your feet wet. Also glance through our [wiki](https://wiki.archlinux.org) if you want to learn more about Arch. +Our strong community is diverse and helpful, and we pride ourselves on the range of skill sets and uses for Arch that stem from it. Please check out our forums and mailing lists to get your feet wet. Also glance through our [wiki](https://wiki.archlinux.org) if you want to learn more about Arch. %%LOGO%% # About this image -The base filesystem tarball for this image is auto-generated in Arch Linux infrastructure at the beginning of each month. Given the rolling-release nature of Arch Linux, images are tagged with the timestamp of the date they were generated. For example, `%%IMAGE%%:20191006` was generated the Sixth of October of 2019. The latest tag will contain the latest build always. +The root filesystem tarball for this image is auto-generated weekly at 00:00 UTC on Sunday in Arch Linux infrastructure. Given the rolling-release nature of Arch Linux, images are tagged with the included package group / meta package and the timestamp of the date they were generated. For example, `%%IMAGE%%:base-20201101.0.7893` was generated the First of November 2020 in [CI job #7893](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/jobs/7893). The `latest` tag will always match the latest `base` tag. + +Besides `base` we also provide images for the `base-devel` package group. This image is intended to serve the following goals: - Provide the Arch experience in a Docker Image -- Provide the most simple but complete image to base every other upon -- pacman needs to work out of the box +- Provide simplest but complete image to base every other upon +- `pacman` needs to work out of the box - All installed packages have to be kept unmodified -## Base packages +## Availability -Given that that the image is intended to be light-weight several packages of the `base` group have been removed. Please take a look at the [packages](https://github.com/archlinux/archlinux-docker/blob/master/packages) file to see what packages are included on this release. +Root filesystem tarballs are [provided by our GitLab](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/releases) for at least two months. ## Updating -Arch Linux is a rolling release distribution, so a full update is recommended when installing new packages. In other words, we suggest to either execute `RUN pacman -Syu` immediately after your `FROM` statement or as soon as you docker run into a container. +Arch Linux is a rolling release distribution, so a full update is recommended when installing new packages. In other words, we suggest to either execute `RUN pacman -Syu` immediately after your `FROM` statement or as soon as you `docker run` into a container. ## How It's Made -You can build this image with the tools on the [Github repository](%%GITHUB-REPO%%) using the included makefile. +You can build this image with the tools on the [Arch Linux GitLab repository](https://gitlab.archlinux.org/archlinux/archlinux-docker) using the included makefile. diff --git a/archlinux/issues.md b/archlinux/issues.md new file mode 100644 index 000000000000..d36ff968878a --- /dev/null +++ b/archlinux/issues.md @@ -0,0 +1 @@ +https://gitlab.archlinux.org/archlinux/archlinux-docker/issues diff --git a/archlinux/maintainer.md b/archlinux/maintainer.md index a8205cb8b724..d3a3bb1f192d 100644 --- a/archlinux/maintainer.md +++ b/archlinux/maintainer.md @@ -1 +1 @@ -Arch Linux trusted users [Santiago Torres-Arias](https://www.archlinux.org/people/trusted-users/#sangy) and [Christian Rebischke](https://www.archlinux.org/people/trusted-users/#shibumi) as well as Arch Linux developer [Pierre Schmitz](https://www.archlinux.org/people/developers/#pierre). +Arch Linux trusted users [Santiago Torres-Arias](https://www.archlinux.org/people/trusted-users/#sangy), [Christian Rebischke](https://www.archlinux.org/people/trusted-users/#shibumi) and [Justin Kromlinger](https://www.archlinux.org/people/trusted-users/#hashworks) as well as Arch Linux developer [Pierre Schmitz](https://www.archlinux.org/people/developers/#pierre). diff --git a/backdrop/README.md b/backdrop/README.md index b070535e03ed..c3c8f34a92c9 100644 --- a/backdrop/README.md +++ b/backdrop/README.md @@ -20,12 +20,12 @@ WARNING: [Backdrop Ops](https://github.com/backdrop-ops/backdrop-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.13.2`, `1.13`, `1`, `1.13.2-apache`, `1.13-apache`, `1-apache`, `apache`, `latest`](https://github.com/backdrop-ops/backdrop-docker/blob/1c82e369b6bf1b8ab45becda7f9f9777fe7f6a7f/1/apache/Dockerfile) -- [`1.13.2-fpm`, `1.13-fpm`, `1-fpm`, `fpm`](https://github.com/backdrop-ops/backdrop-docker/blob/1c82e369b6bf1b8ab45becda7f9f9777fe7f6a7f/1/fpm/Dockerfile) +- [`1.17.3`, `1.17`, `1`, `1.17.3-apache`, `1.17-apache`, `1-apache`, `apache`, `latest`](https://github.com/backdrop-ops/backdrop-docker/blob/b760ba970a67f3dcdc975ed8b77f915895184577/1/apache/Dockerfile) +- [`1.17.3-fpm`, `1.17-fpm`, `1-fpm`, `fpm`](https://github.com/backdrop-ops/backdrop-docker/blob/b760ba970a67f3dcdc975ed8b77f915895184577/1/fpm/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/backdrop`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fbackdrop) + [official-images repo's `library/backdrop` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbackdrop) [official-images repo's `library/backdrop` file](https://github.com/docker-library/official-images/blob/master/library/backdrop) ([history](https://github.com/docker-library/official-images/commits/master/library/backdrop)) - **Source of this description**: diff --git a/bash/README.md b/bash/README.md index ec3847e237ba..e3f84a9a4069 100644 --- a/bash/README.md +++ b/bash/README.md @@ -20,20 +20,21 @@ WARNING: [Tianon (of the Docker Community)](https://github.com/tianon/docker-bash), [with Chet's support (from Bash upstream)](https://github.com/docker-library/official-images/pull/2217#issue-181031192) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`devel-20200518`, `devel`](https://github.com/tianon/docker-bash/blob/887f3d4d63f6c990c5ed743b43167f2c6c6dc4c7/devel/Dockerfile) -- [`5.0.17`, `5.0`, `5`, `latest`](https://github.com/tianon/docker-bash/blob/bdb65fba59b806a9987f3b8e9d4522d5f4d49a92/5.0/Dockerfile) -- [`4.4.23`, `4.4`, `4`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/4.4/Dockerfile) -- [`4.3.48`, `4.3`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/4.3/Dockerfile) -- [`4.2.53`, `4.2`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/4.2/Dockerfile) -- [`4.1.17`, `4.1`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/4.1/Dockerfile) -- [`4.0.44`, `4.0`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/4.0/Dockerfile) -- [`3.2.57`, `3.2`, `3`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/3.2/Dockerfile) -- [`3.1.23`, `3.1`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/3.1/Dockerfile) -- [`3.0.22`, `3.0`](https://github.com/tianon/docker-bash/blob/f55ec52c6bb3a9a1b942a775f848002826b58b8a/3.0/Dockerfile) +- [`devel-20210419`, `devel`](https://github.com/tianon/docker-bash/blob/a360295cd1a85b715da59fa8253ebb8c2147a928/devel/Dockerfile) +- [`5.1.4`, `5.1`, `5`, `latest`](https://github.com/tianon/docker-bash/blob/40d324c8da655e6834b34d730dba8eaa1f274e47/5.1/Dockerfile) +- [`5.0.18`, `5.0`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/5.0/Dockerfile) +- [`4.4.23`, `4.4`, `4`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/4.4/Dockerfile) +- [`4.3.48`, `4.3`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/4.3/Dockerfile) +- [`4.2.53`, `4.2`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/4.2/Dockerfile) +- [`4.1.17`, `4.1`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/4.1/Dockerfile) +- [`4.0.44`, `4.0`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/4.0/Dockerfile) +- [`3.2.57`, `3.2`, `3`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/3.2/Dockerfile) +- [`3.1.23`, `3.1`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/3.1/Dockerfile) +- [`3.0.22`, `3.0`](https://github.com/tianon/docker-bash/blob/7d80c7cc5d829b6be9e04b6b2cba98a228fb67db/3.0/Dockerfile) # Quick reference (cont.) @@ -48,7 +49,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/bash`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fbash) + [official-images repo's `library/bash` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbash) [official-images repo's `library/bash` file](https://github.com/docker-library/official-images/blob/master/library/bash) ([history](https://github.com/docker-library/official-images/commits/master/library/bash)) - **Source of this description**: diff --git a/bonita/README.md b/bonita/README.md index a8a51a73f1af..8491beed60c5 100644 --- a/bonita/README.md +++ b/bonita/README.md @@ -20,12 +20,13 @@ WARNING: [Bonitasoft Community](https://github.com/Bonitasoft-Community/docker_bonita) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`7.9.5`, `7.9`](https://github.com/Bonitasoft-Community/docker_bonita/blob/b58b05d989055ca3521fc92211d10ff640b4028f/7.9/Dockerfile) -- [`7.10.4`, `7.10`, `latest`](https://github.com/Bonitasoft-Community/docker_bonita/blob/c25c0b161fe2f5ec620122822317e4985cc3b6f2/7.10/Dockerfile) +- [`7.10.6`, `7.10`](https://github.com/Bonitasoft-Community/docker_bonita/blob/e6f9f1a5e57c35bbd833c9441a639f326dffb7d5/7.10/Dockerfile) +- [`7.11.4`, `7.11`](https://github.com/bonitasoft/bonita-distrib/blob/231024c8290a9aa31a45b758a0765a684c21ed21/docker/Dockerfile) +- [`2021.1`, `7.12.1`, `7.12`, `latest`](https://github.com/bonitasoft/bonita-distrib/blob/c9b816249504017bb3418252bf58ec9d4fc3e86e/docker/Dockerfile) # Quick reference (cont.) @@ -40,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/bonita`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fbonita) + [official-images repo's `library/bonita` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbonita) [official-images repo's `library/bonita` file](https://github.com/docker-library/official-images/blob/master/library/bonita) ([history](https://github.com/docker-library/official-images/commits/master/library/bonita)) - **Source of this description**: @@ -62,7 +63,7 @@ Bonita (called Bonita BPM till 7.5) is an open-source business process managemen $ docker run --name bonita -d -p 8080:8080 bonita ``` -This will start a container running [Bonita runtime](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle): a Tomcat bundle with Bonita Engine + Bonita Portal. With no environment variables specified, it's as like if you have launched the bundle on your host using startup.{sh|bat} (with security hardening on REST and HTTP APIs, cf Security part). Bonita uses a H2 database here. +This will start a container running [Bonita runtime](https://documentation.bonitasoft.com/bonita/7.11/tomcat-bundle): a Tomcat bundle with Bonita Engine + Bonita Portal. With no environment variables specified, it's as if you have launched the bundle on your host using startup.{sh|bat} (with security hardening on REST and HTTP APIs, cf Security part). Bonita uses a H2 database here. You can access the Bonita Portal on http://localhost:8080/bonita and login using the default credentials: install / install @@ -72,7 +73,7 @@ You can access the Bonita Portal on http://localhost:8080/bonita and login using PostgreSQL is the recommended database. -[Set max_prepared_transactions to 100](https://documentation.bonitasoft.com/bonita/7.10/database-configuration#toc5): +[Set max_prepared_transactions to 100](https://documentation.bonitasoft.com/bonita/7.11/database-configuration#toc5): ```console $ mkdir -p custom_postgres @@ -95,9 +96,9 @@ $ docker run --name bonita_postgres --link mydbpostgres:postgres -d -p 8080:8080 ### MySQL -There are known issues with the management of XA transactions by MySQL engine and driver: see MySQL bugs [17343](http://bugs.mysql.com/bug.php?id=17343) and [12161](http://bugs.mysql.com/bug.php?id=12161) for more details. Thus, using MySQL database in a production environment is not recommended. +There are known issues with the management of XA transactions by MySQL engine and driver: see MySQL bug [17343](http://bugs.mysql.com/bug.php?id=17343) -[Increase the packet size](https://documentation.bonitasoft.com/bonita/7.10/database-configuration#toc5) which is set by default to 1M: +[Increase the packet size](https://documentation.bonitasoft.com/bonita/7.11/database-configuration#toc5) which is set by default to 1M: ```console $ mkdir -p custom_mysql @@ -137,7 +138,7 @@ version: '3' services: db: - image: postgres:9.3 + image: postgres:11 environment: POSTGRES_PASSWORD: example restart: always @@ -179,7 +180,7 @@ services: exec /opt/files/startup.sh ``` -[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/d7f952b15103e355727ad55d428e55c84383aca9/bonita/stack.yml) +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/57311a9e6774c0947f999f7bfdbe23e24da00a82/bonita/stack.yml) Run `docker stack deploy -c stack.yml bonita` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate). @@ -267,9 +268,9 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ```console cd bonita_migration - wget https://release.ow2.org/bonita/bonita-migration-distrib-2.50.0.zip + wget https://github.com/bonitasoft/bonita-platform-releases/releases/download/2021.1/bonita-migration-distrib-2.54.0.zip wget https://download.forge.ow2.org/bonita/BonitaBPMCommunity-7.2.4-Tomcat-7.0.67.zip - unzip bonita-migration-distrib-2.50.0.zip + unzip bonita-migration-distrib-2.54.0.zip unzip BonitaBPMCommunity-7.2.4-Tomcat-7.0.67.zip ``` @@ -284,14 +285,14 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ```console cd bonita_migration - wget https://release.ow2.org/bonita/bonita-migration-distrib-2.50.0.zip - unzip bonita-migration-distrib-2.50.0.zip + wget https://github.com/bonitasoft/bonita-platform-releases/releases/download/2021.1/bonita-migration-distrib-2.54.0.zip + unzip bonita-migration-distrib-2.54.0.zip ``` - Configure the migration tool ```console - $ cd bonita-migration-distrib-2.50.0 + $ cd bonita-migration-distrib-2.54.0 ``` edit the migration tool config to point towards the copy of bonita home and db @@ -328,17 +329,17 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat - If >= 7.3.0 ```console - $ docker run --name=bonita_7.10.4_postgres --link mydbpostgres:postgres -e "DB_NAME=newbonitadb" -e "DB_USER=newbonitauser" -e "DB_PASS=newbonitapass" -d -p 8081:8080 bonita:7.10.4 + $ docker run --name=bonita_7.12.1_postgres --link mydbpostgres:postgres -e "DB_NAME=newbonitadb" -e "DB_USER=newbonitauser" -e "DB_PASS=newbonitapass" -d -p 8081:8080 bonita:7.12.1 ``` - Reapply specific configuration if needed, for example with a version >= 7.3.0 : ```console - $ docker exec -ti bonita_7.10.4_postgres /bin/bash + $ docker exec -ti bonita_7.12.1_postgres /bin/bash ``` ```console - $ cd /opt/bonita/BonitaCommunity-7.10.4/setup + $ cd /opt/bonita/BonitaCommunity-2021.1/setup $ ./setup.sh pull $ TENANT_LOGIN=tech_user $ TENANT_PASSWORD=secret @@ -358,14 +359,14 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ``` ```console - $ docker restart bonita_7.10.4_postgres + $ docker restart bonita_7.12.1_postgres ``` - Specific consideration regarding migration to Java 11 in Bonita 7.9 Bonita 7.9 docker image runs with Java 11. If you are migrating from an earlier version which runs Java 8, you should validate on a test environment that your custom code is compatible. Aside from just code incompatibility, special attention has to be given to the dependencies of the custom code, as they might not work in Java 11. -For more details regarding Bonita migration, see the [documentation](https://documentation.bonitasoft.com/bonita/7.10/migrate-from-an-earlier-version-of-bonita-bpm). +For more details regarding Bonita migration, see the [documentation](https://documentation.bonitasoft.com/bonita/2021.1/migrate-from-an-earlier-version-of-bonita-bpm). ## Security @@ -373,11 +374,11 @@ This Docker image activates both static and dynamic authorization checks by defa - REST API authorization - - [Static authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc1) + - [Static authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc1) - - [Dynamic authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc2) + - [Dynamic authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc2) -- [HTTP API](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc10) +- [HTTP API](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc10) For specific needs you can override this behavior by setting HTTP_API to true and REST_API_DYN_AUTH_CHECKS to false: @@ -391,7 +392,7 @@ When you start the `bonita` image, you can adjust the configuration of the Bonit ### `PLATFORM_PASSWORD` -This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle#toc3) for you to use the Bonita image. It sets the platform administrator password for Bonita. If it is not specified, the default password `platform` will be used. +This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/2021.1/tomcat-bundle#toc3) for you to use the Bonita image. It sets the platform administrator password for Bonita. If it is not specified, the default password `platform` will be used. ### `PLATFORM_LOGIN` @@ -399,7 +400,7 @@ This optional environment variable is used in conjunction with `PLATFORM_PASSWOR ### `TENANT_PASSWORD` -This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle#toc3) for you to use the Bonita image. It sets the tenant administrator password for Bonita. If it is not specified, the default password `install` will be used. +This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/2021.1/tomcat-bundle#toc3) for you to use the Bonita image. It sets the tenant administrator password for Bonita. If it is not specified, the default password `install` will be used. ### `TENANT_LOGIN` @@ -407,7 +408,7 @@ This optional environment variable is used in conjunction with `TENANT_PASSWORD` ### `REST_API_DYN_AUTH_CHECKS` -This optional environment variable is used to enable/disable [dynamic authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc2) on Bonita REST API. The default value is `true`, which will activate dynamic authorization checking. +This optional environment variable is used to enable/disable [dynamic authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc2) on Bonita REST API. The default value is `true`, which will activate dynamic authorization checking. ### `HTTP_API` @@ -441,7 +442,7 @@ These variables are used in conjunction to create a new user, set that user's pa ### `BIZ_DB_NAME`, `BIZ_DB_USER`, `BIZ_DB_PASS` -These variables are used in conjunction to create a new user, set that user's password and create the `bonita` [business database](https://documentation.bonitasoft.com/bonita/7.10/define-and-deploy-the-bdm#toc1). +These variables are used in conjunction to create a new user, set that user's password and create the `bonita` [business database](https://documentation.bonitasoft.com/bonita/2021.1/define-and-deploy-the-bdm#toc1). `BIZ_DB_NAME` default value is `businessdb`. @@ -482,7 +483,7 @@ For example, you can increase the log level : ```console $ mkdir -p custom_bonita $ echo '#!/bin/bash' > custom_bonita/bonita.sh -$ echo 'sed -i "s/^org.bonitasoft.level = WARNING$/org.bonitasoft.level = FINEST/" /opt/bonita/BonitaCommunity-7.10.4/server/conf/logging.properties' >> custom_bonita/bonita.sh +$ echo 'sed -i "s/^org.bonitasoft.level = WARNING$/org.bonitasoft.level = FINEST/" /opt/bonita/BonitaCommunity-2021.1/server/conf/logging.properties' >> custom_bonita/bonita.sh $ chmod +x custom_bonita/bonita.sh $ docker run --name bonita_custom -v "$PWD"/custom_bonita/:/opt/custom-init.d -d -p 8080:8080 bonita @@ -500,7 +501,7 @@ Note: There are several ways to check the `bonita` logs. Till Bonita 7.8, one of ```console $ docker exec -ti bonita_custom /bin/bash -tail -f /opt/bonita/BonitaCommunity-7.10.4/server/logs/bonita.`date +%Y-%m-%d`.log +tail -f /opt/bonita/BonitaCommunity-2021.1/server/logs/bonita.`date +%Y-%m-%d`.log ``` Since Bonita 7.9 bonita logs are redirected towards standard output and directly accessible using diff --git a/bonita/content.md b/bonita/content.md index 4aa547b37a87..f9c9bca32b6b 100644 --- a/bonita/content.md +++ b/bonita/content.md @@ -14,7 +14,7 @@ Bonita (called Bonita BPM till 7.5) is an open-source business process managemen $ docker run --name bonita -d -p 8080:8080 %%IMAGE%% ``` -This will start a container running [Bonita runtime](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle): a Tomcat bundle with Bonita Engine + Bonita Portal. With no environment variables specified, it's as like if you have launched the bundle on your host using startup.{sh|bat} (with security hardening on REST and HTTP APIs, cf Security part). Bonita uses a H2 database here. +This will start a container running [Bonita runtime](https://documentation.bonitasoft.com/bonita/7.11/tomcat-bundle): a Tomcat bundle with Bonita Engine + Bonita Portal. With no environment variables specified, it's as if you have launched the bundle on your host using startup.{sh|bat} (with security hardening on REST and HTTP APIs, cf Security part). Bonita uses a H2 database here. You can access the Bonita Portal on http://localhost:8080/bonita and login using the default credentials: install / install @@ -24,7 +24,7 @@ You can access the Bonita Portal on http://localhost:8080/bonita and login using PostgreSQL is the recommended database. -[Set max_prepared_transactions to 100](https://documentation.bonitasoft.com/bonita/7.10/database-configuration#toc5): +[Set max_prepared_transactions to 100](https://documentation.bonitasoft.com/bonita/7.11/database-configuration#toc5): ```console $ mkdir -p custom_postgres @@ -47,9 +47,9 @@ $ docker run --name bonita_postgres --link mydbpostgres:postgres -d -p 8080:8080 ### MySQL -There are known issues with the management of XA transactions by MySQL engine and driver: see MySQL bugs [17343](http://bugs.mysql.com/bug.php?id=17343) and [12161](http://bugs.mysql.com/bug.php?id=12161) for more details. Thus, using MySQL database in a production environment is not recommended. +There are known issues with the management of XA transactions by MySQL engine and driver: see MySQL bug [17343](http://bugs.mysql.com/bug.php?id=17343) -[Increase the packet size](https://documentation.bonitasoft.com/bonita/7.10/database-configuration#toc5) which is set by default to 1M: +[Increase the packet size](https://documentation.bonitasoft.com/bonita/7.11/database-configuration#toc5) which is set by default to 1M: ```console $ mkdir -p custom_mysql @@ -167,9 +167,9 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ```console cd bonita_migration - wget https://release.ow2.org/bonita/bonita-migration-distrib-2.50.0.zip + wget https://github.com/bonitasoft/bonita-platform-releases/releases/download/2021.1/bonita-migration-distrib-2.54.0.zip wget https://download.forge.ow2.org/bonita/BonitaBPMCommunity-7.2.4-Tomcat-7.0.67.zip - unzip bonita-migration-distrib-2.50.0.zip + unzip bonita-migration-distrib-2.54.0.zip unzip BonitaBPMCommunity-7.2.4-Tomcat-7.0.67.zip ``` @@ -184,14 +184,14 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ```console cd bonita_migration - wget https://release.ow2.org/bonita/bonita-migration-distrib-2.50.0.zip - unzip bonita-migration-distrib-2.50.0.zip + wget https://github.com/bonitasoft/bonita-platform-releases/releases/download/2021.1/bonita-migration-distrib-2.54.0.zip + unzip bonita-migration-distrib-2.54.0.zip ``` - Configure the migration tool ```console - $ cd bonita-migration-distrib-2.50.0 + $ cd bonita-migration-distrib-2.54.0 ``` edit the migration tool config to point towards the copy of bonita home and db @@ -228,17 +228,17 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat - If >= 7.3.0 ```console - $ docker run --name=bonita_7.10.4_postgres --link mydbpostgres:postgres -e "DB_NAME=newbonitadb" -e "DB_USER=newbonitauser" -e "DB_PASS=newbonitapass" -d -p 8081:8080 %%IMAGE%%:7.10.4 + $ docker run --name=bonita_7.12.1_postgres --link mydbpostgres:postgres -e "DB_NAME=newbonitadb" -e "DB_USER=newbonitauser" -e "DB_PASS=newbonitapass" -d -p 8081:8080 %%IMAGE%%:7.12.1 ``` - Reapply specific configuration if needed, for example with a version >= 7.3.0 : ```console - $ docker exec -ti bonita_7.10.4_postgres /bin/bash + $ docker exec -ti bonita_7.12.1_postgres /bin/bash ``` ```console - $ cd /opt/bonita/BonitaCommunity-7.10.4/setup + $ cd /opt/bonita/BonitaCommunity-2021.1/setup $ ./setup.sh pull $ TENANT_LOGIN=tech_user $ TENANT_PASSWORD=secret @@ -258,14 +258,14 @@ The `-v /my/own/datadir:/opt/bonita` part of the command mounts the `/my/own/dat ``` ```console - $ docker restart bonita_7.10.4_postgres + $ docker restart bonita_7.12.1_postgres ``` - Specific consideration regarding migration to Java 11 in Bonita 7.9 Bonita 7.9 docker image runs with Java 11. If you are migrating from an earlier version which runs Java 8, you should validate on a test environment that your custom code is compatible. Aside from just code incompatibility, special attention has to be given to the dependencies of the custom code, as they might not work in Java 11. -For more details regarding Bonita migration, see the [documentation](https://documentation.bonitasoft.com/bonita/7.10/migrate-from-an-earlier-version-of-bonita-bpm). +For more details regarding Bonita migration, see the [documentation](https://documentation.bonitasoft.com/bonita/2021.1/migrate-from-an-earlier-version-of-bonita-bpm). ## Security @@ -273,11 +273,11 @@ This Docker image activates both static and dynamic authorization checks by defa - REST API authorization - - [Static authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc1) + - [Static authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc1) - - [Dynamic authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc2) + - [Dynamic authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc2) -- [HTTP API](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc10) +- [HTTP API](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc10) For specific needs you can override this behavior by setting HTTP_API to true and REST_API_DYN_AUTH_CHECKS to false: @@ -291,7 +291,7 @@ When you start the `bonita` image, you can adjust the configuration of the Bonit ### `PLATFORM_PASSWORD` -This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle#toc3) for you to use the Bonita image. It sets the platform administrator password for Bonita. If it is not specified, the default password `platform` will be used. +This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/2021.1/tomcat-bundle#toc3) for you to use the Bonita image. It sets the platform administrator password for Bonita. If it is not specified, the default password `platform` will be used. ### `PLATFORM_LOGIN` @@ -299,7 +299,7 @@ This optional environment variable is used in conjunction with `PLATFORM_PASSWOR ### `TENANT_PASSWORD` -This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/7.10/tomcat-bundle#toc3) for you to use the Bonita image. It sets the tenant administrator password for Bonita. If it is not specified, the default password `install` will be used. +This environment variable [is recommended](https://documentation.bonitasoft.com/bonita/2021.1/tomcat-bundle#toc3) for you to use the Bonita image. It sets the tenant administrator password for Bonita. If it is not specified, the default password `install` will be used. ### `TENANT_LOGIN` @@ -307,7 +307,7 @@ This optional environment variable is used in conjunction with `TENANT_PASSWORD` ### `REST_API_DYN_AUTH_CHECKS` -This optional environment variable is used to enable/disable [dynamic authorization checking](https://documentation.bonitasoft.com/bonita/7.10/rest-api-authorization#toc2) on Bonita REST API. The default value is `true`, which will activate dynamic authorization checking. +This optional environment variable is used to enable/disable [dynamic authorization checking](https://documentation.bonitasoft.com/bonita/2021.1/rest-api-authorization#toc2) on Bonita REST API. The default value is `true`, which will activate dynamic authorization checking. ### `HTTP_API` @@ -341,7 +341,7 @@ These variables are used in conjunction to create a new user, set that user's pa ### `BIZ_DB_NAME`, `BIZ_DB_USER`, `BIZ_DB_PASS` -These variables are used in conjunction to create a new user, set that user's password and create the `bonita` [business database](https://documentation.bonitasoft.com/bonita/7.10/define-and-deploy-the-bdm#toc1). +These variables are used in conjunction to create a new user, set that user's password and create the `bonita` [business database](https://documentation.bonitasoft.com/bonita/2021.1/define-and-deploy-the-bdm#toc1). `BIZ_DB_NAME` default value is `businessdb`. @@ -382,7 +382,7 @@ For example, you can increase the log level : ```console $ mkdir -p custom_bonita $ echo '#!/bin/bash' > custom_bonita/bonita.sh -$ echo 'sed -i "s/^org.bonitasoft.level = WARNING$/org.bonitasoft.level = FINEST/" /opt/bonita/BonitaCommunity-7.10.4/server/conf/logging.properties' >> custom_bonita/bonita.sh +$ echo 'sed -i "s/^org.bonitasoft.level = WARNING$/org.bonitasoft.level = FINEST/" /opt/bonita/BonitaCommunity-2021.1/server/conf/logging.properties' >> custom_bonita/bonita.sh $ chmod +x custom_bonita/bonita.sh $ docker run --name bonita_custom -v "$PWD"/custom_bonita/:/opt/custom-init.d -d -p 8080:8080 %%IMAGE%% @@ -400,7 +400,7 @@ Note: There are several ways to check the `bonita` logs. Till Bonita 7.8, one of ```console $ docker exec -ti bonita_custom /bin/bash -tail -f /opt/bonita/BonitaCommunity-7.10.4/server/logs/bonita.`date +%Y-%m-%d`.log +tail -f /opt/bonita/BonitaCommunity-2021.1/server/logs/bonita.`date +%Y-%m-%d`.log ``` Since Bonita 7.9 bonita logs are redirected towards standard output and directly accessible using diff --git a/bonita/stack.yml b/bonita/stack.yml index 6c75dfdf831f..9a502717fff7 100644 --- a/bonita/stack.yml +++ b/bonita/stack.yml @@ -3,7 +3,7 @@ version: '3' services: db: - image: postgres:9.3 + image: postgres:11 environment: POSTGRES_PASSWORD: example restart: always diff --git a/buildpack-deps/README.md b/buildpack-deps/README.md index e64269672d9e..e946262340e7 100644 --- a/buildpack-deps/README.md +++ b/buildpack-deps/README.md @@ -20,40 +20,37 @@ WARNING: [the Docker Community](https://github.com/docker-library/buildpack-deps) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`bullseye-curl`, `testing-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/bullseye/curl/Dockerfile) -- [`bullseye-scm`, `testing-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/bullseye/scm/Dockerfile) -- [`bullseye`, `testing`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/bullseye/Dockerfile) -- [`buster-curl`, `stable-curl`, `curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/buster/curl/Dockerfile) -- [`buster-scm`, `stable-scm`, `scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/buster/scm/Dockerfile) -- [`buster`, `stable`, `latest`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/buster/Dockerfile) -- [`jessie-curl`, `oldoldstable-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/jessie/curl/Dockerfile) -- [`jessie-scm`, `oldoldstable-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/jessie/scm/Dockerfile) -- [`jessie`, `oldoldstable`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/jessie/Dockerfile) -- [`sid-curl`, `unstable-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/sid/curl/Dockerfile) -- [`sid-scm`, `unstable-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/sid/scm/Dockerfile) -- [`sid`, `unstable`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/sid/Dockerfile) -- [`stretch-curl`, `oldstable-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/stretch/curl/Dockerfile) -- [`stretch-scm`, `oldstable-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/stretch/scm/Dockerfile) -- [`stretch`, `oldstable`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/debian/stretch/Dockerfile) -- [`bionic-curl`, `18.04-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/bionic/curl/Dockerfile) -- [`bionic-scm`, `18.04-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/bionic/scm/Dockerfile) -- [`bionic`, `18.04`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/bionic/Dockerfile) -- [`eoan-curl`, `19.10-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/eoan/curl/Dockerfile) -- [`eoan-scm`, `19.10-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/eoan/scm/Dockerfile) -- [`eoan`, `19.10`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/eoan/Dockerfile) -- [`focal-curl`, `20.04-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/focal/curl/Dockerfile) -- [`focal-scm`, `20.04-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/focal/scm/Dockerfile) -- [`focal`, `20.04`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/focal/Dockerfile) -- [`groovy-curl`, `20.10-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/groovy/curl/Dockerfile) -- [`groovy-scm`, `20.10-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/groovy/scm/Dockerfile) -- [`groovy`, `20.10`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/groovy/Dockerfile) -- [`xenial-curl`, `16.04-curl`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/xenial/curl/Dockerfile) -- [`xenial-scm`, `16.04-scm`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/xenial/scm/Dockerfile) -- [`xenial`, `16.04`](https://github.com/docker-library/buildpack-deps/blob/f84f6184d79f2cb7ab94c365ac4f47915e7ca2a8/ubuntu/xenial/Dockerfile) +- [`bullseye-curl`, `testing-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/debian/bullseye/curl/Dockerfile) +- [`bullseye-scm`, `testing-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/bullseye/scm/Dockerfile) +- [`bullseye`, `testing`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/bullseye/Dockerfile) +- [`buster-curl`, `stable-curl`, `curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/debian/buster/curl/Dockerfile) +- [`buster-scm`, `stable-scm`, `scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/buster/scm/Dockerfile) +- [`buster`, `stable`, `latest`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/buster/Dockerfile) +- [`sid-curl`, `unstable-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/debian/sid/curl/Dockerfile) +- [`sid-scm`, `unstable-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/sid/scm/Dockerfile) +- [`sid`, `unstable`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/sid/Dockerfile) +- [`stretch-curl`, `oldstable-curl`](https://github.com/docker-library/buildpack-deps/blob/93d2a6f64abe6787b7dd25c7d5322af1fa2e3f55/debian/stretch/curl/Dockerfile) +- [`stretch-scm`, `oldstable-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/stretch/scm/Dockerfile) +- [`stretch`, `oldstable`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/debian/stretch/Dockerfile) +- [`bionic-curl`, `18.04-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/bionic/curl/Dockerfile) +- [`bionic-scm`, `18.04-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/ubuntu/bionic/scm/Dockerfile) +- [`bionic`, `18.04`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/bionic/Dockerfile) +- [`focal-curl`, `20.04-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/focal/curl/Dockerfile) +- [`focal-scm`, `20.04-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/ubuntu/focal/scm/Dockerfile) +- [`focal`, `20.04`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/focal/Dockerfile) +- [`groovy-curl`, `20.10-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/groovy/curl/Dockerfile) +- [`groovy-scm`, `20.10-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/ubuntu/groovy/scm/Dockerfile) +- [`groovy`, `20.10`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/groovy/Dockerfile) +- [`hirsute-curl`, `21.04-curl`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/hirsute/curl/Dockerfile) +- [`hirsute-scm`, `21.04-scm`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/hirsute/scm/Dockerfile) +- [`hirsute`, `21.04`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/hirsute/Dockerfile) +- [`xenial-curl`, `16.04-curl`](https://github.com/docker-library/buildpack-deps/blob/93d2a6f64abe6787b7dd25c7d5322af1fa2e3f55/ubuntu/xenial/curl/Dockerfile) +- [`xenial-scm`, `16.04-scm`](https://github.com/docker-library/buildpack-deps/blob/65d69325ad741cea6dee20781c1faaab2e003d87/ubuntu/xenial/scm/Dockerfile) +- [`xenial`, `16.04`](https://github.com/docker-library/buildpack-deps/blob/98a5ab81d47a106c458cdf90733df0ee8beea06c/ubuntu/xenial/Dockerfile) # Quick reference (cont.) @@ -68,7 +65,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/buildpack-deps`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fbuildpack-deps) + [official-images repo's `library/buildpack-deps` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbuildpack-deps) [official-images repo's `library/buildpack-deps` file](https://github.com/docker-library/official-images/blob/master/library/buildpack-deps) ([history](https://github.com/docker-library/official-images/commits/master/library/buildpack-deps)) - **Source of this description**: diff --git a/busybox/README.md b/busybox/README.md index d186e433ab4a..b9983f0af919 100644 --- a/busybox/README.md +++ b/busybox/README.md @@ -20,14 +20,18 @@ WARNING: [the Docker Community](https://github.com/docker-library/busybox) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.31.1-uclibc`, `1.31-uclibc`, `1-uclibc`, `uclibc`](https://github.com/docker-library/busybox/blob/7c3206169c4d32ae0afbb36b90cb9f9b77011f7a/uclibc/Dockerfile) -- [`1.31.1-glibc`, `1.31-glibc`, `1-glibc`, `glibc`](https://github.com/docker-library/busybox/blob/7c3206169c4d32ae0afbb36b90cb9f9b77011f7a/glibc/Dockerfile) -- [`1.31.1-musl`, `1.31-musl`, `1-musl`, `musl`](https://github.com/docker-library/busybox/blob/7c3206169c4d32ae0afbb36b90cb9f9b77011f7a/musl/Dockerfile) -- [`1.31.1`, `1.31`, `1`, `latest`](https://github.com/docker-library/busybox/blob/7c3206169c4d32ae0afbb36b90cb9f9b77011f7a/uclibc/Dockerfile) +- [`1.32.1-uclibc`, `1.32-uclibc`, `1-uclibc`, `stable-uclibc`, `uclibc`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/stable/uclibc/Dockerfile) +- [`1.32.1-glibc`, `1.32-glibc`, `1-glibc`, `stable-glibc`, `glibc`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/stable/glibc/Dockerfile) +- [`1.32.1-musl`, `1.32-musl`, `1-musl`, `stable-musl`, `musl`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/stable/musl/Dockerfile) +- [`1.32.1`, `1.32`, `1`, `stable`, `latest`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/stable/uclibc/Dockerfile) +- [`1.33.0-uclibc`, `1.33-uclibc`, `unstable-uclibc`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/unstable/uclibc/Dockerfile) +- [`1.33.0-glibc`, `1.33-glibc`, `unstable-glibc`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/unstable/glibc/Dockerfile) +- [`1.33.0-musl`, `1.33-musl`, `unstable-musl`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/unstable/musl/Dockerfile) +- [`1.33.0`, `1.33`, `unstable`](https://github.com/docker-library/busybox/blob/3d11ce4d95521ccc2da21ebc4e10ebe161a02f63/unstable/uclibc/Dockerfile) # Quick reference (cont.) @@ -42,7 +46,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/busybox`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fbusybox) + [official-images repo's `library/busybox` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fbusybox) [official-images repo's `library/busybox` file](https://github.com/docker-library/official-images/blob/master/library/busybox) ([history](https://github.com/docker-library/official-images/commits/master/library/busybox)) - **Source of this description**: diff --git a/caddy/README.md b/caddy/README.md index 05e9dcddf236..7abc65c4ab14 100644 --- a/caddy/README.md +++ b/caddy/README.md @@ -20,7 +20,7 @@ WARNING: [the Caddy Docker Maintainers](https://github.com/caddyserver/caddy-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Caddy Community Forums](https://caddy.community) # Supported tags and respective `Dockerfile` links @@ -28,20 +28,43 @@ WARNING: ## Simple Tags -- [`2.0.0-alpine`, `2-alpine`, `alpine`](https://github.com/caddyserver/caddy-docker/blob/c09e27ca73c56565d4526eef27adbac9ba57575c/alpine/Dockerfile) -- [`2.0.0-builder`, `2-builder`, `builder`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/builder/Dockerfile) -- [`2.0.0-windowsservercore-1809`, `2-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/1809/Dockerfile) -- [`2.0.0-windowsservercore-ltsc2016`, `2-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/ltsc2016/Dockerfile) +- [`2.3.0-alpine`, `2-alpine`, `alpine`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/alpine/Dockerfile) +- [`2.3.0-builder-alpine`, `2-builder-alpine`, `builder-alpine`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/builder/Dockerfile) +- [`2.3.0-windowsservercore-1809`, `2-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/1809/Dockerfile) +- [`2.3.0-windowsservercore-ltsc2016`, `2-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/ltsc2016/Dockerfile) +- [`2.3.0-builder-windowsservercore-1809`, `2-builder-windowsservercore-1809`, `builder-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/windows-builder/1809/Dockerfile) +- [`2.3.0-builder-windowsservercore-ltsc2016`, `2-builder-windowsservercore-ltsc2016`, `builder-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/windows-builder/ltsc2016/Dockerfile) +- [`2.4.0-beta.2-alpine`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/alpine/Dockerfile) +- [`2.4.0-beta.2-builder-alpine`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/builder/Dockerfile) +- [`2.4.0-beta.2-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/1809/Dockerfile) +- [`2.4.0-beta.2-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/ltsc2016/Dockerfile) +- [`2.4.0-beta.2-builder-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows-builder/1809/Dockerfile) +- [`2.4.0-beta.2-builder-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows-builder/ltsc2016/Dockerfile) ## Shared Tags -- `2.0.0`, `2`, `latest`: - - [`2.0.0-alpine`](https://github.com/caddyserver/caddy-docker/blob/c09e27ca73c56565d4526eef27adbac9ba57575c/alpine/Dockerfile) - - [`2.0.0-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/1809/Dockerfile) - - [`2.0.0-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/ltsc2016/Dockerfile) -- `2.0.0-windowsservercore`, `2-windowsservercore`, `windowsservercore`: - - [`2.0.0-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/1809/Dockerfile) - - [`2.0.0-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/d9baf11b7abb9343891bb9c28f8cc7137ae94b68/windows/ltsc2016/Dockerfile) +- `2.3.0`, `2`, `latest`: + - [`2.3.0-alpine`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/alpine/Dockerfile) + - [`2.3.0-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/1809/Dockerfile) + - [`2.3.0-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/ltsc2016/Dockerfile) +- `2.3.0-builder`, `2-builder`, `builder`: + - [`2.3.0-builder-alpine`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/builder/Dockerfile) + - [`2.3.0-builder-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/windows-builder/1809/Dockerfile) + - [`2.3.0-builder-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/02028a9680f6df392d10272f0f701f1c07a38601/2.3/windows-builder/ltsc2016/Dockerfile) +- `2.3.0-windowsservercore`, `2-windowsservercore`, `windowsservercore`: + - [`2.3.0-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/1809/Dockerfile) + - [`2.3.0-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/2093c4a571bfe356447008d229195eb7063232b2/2.3/windows/ltsc2016/Dockerfile) +- `2.4.0-beta.2`: + - [`2.4.0-beta.2-alpine`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/alpine/Dockerfile) + - [`2.4.0-beta.2-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/1809/Dockerfile) + - [`2.4.0-beta.2-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/ltsc2016/Dockerfile) +- `2.4.0-beta.2-builder`: + - [`2.4.0-beta.2-builder-alpine`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/builder/Dockerfile) + - [`2.4.0-beta.2-builder-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows-builder/1809/Dockerfile) + - [`2.4.0-beta.2-builder-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows-builder/ltsc2016/Dockerfile) +- `2.4.0-beta.2-windowsservercore`: + - [`2.4.0-beta.2-windowsservercore-1809`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/1809/Dockerfile) + - [`2.4.0-beta.2-windowsservercore-ltsc2016`](https://github.com/caddyserver/caddy-docker/blob/384bfd3dac7009ad7095f511bef0a1528a2b2e8a/2.4/windows/ltsc2016/Dockerfile) # Quick reference (cont.) @@ -56,7 +79,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/caddy`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcaddy) + [official-images repo's `library/caddy` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcaddy) [official-images repo's `library/caddy` file](https://github.com/docker-library/official-images/blob/master/library/caddy) ([history](https://github.com/docker-library/official-images/commits/master/library/caddy)) - **Source of this description**: @@ -114,7 +137,7 @@ The default `Caddyfile` only listens to port `80`, and does not set up automatic ```console $ docker run -d -p 80:80 -p 443:443 \ - -v /site:/usr/share/caddy \ + -v /site:/srv \ -v caddy_data:/data \ -v caddy_config:/config \ caddy caddy file-server --domain example.com @@ -130,33 +153,33 @@ Most users deploying production sites will not want to rely on mounting files in ```Dockerfile # note: never use the :latest tag in a production site -FROM caddy:2.0.0 +FROM caddy: COPY Caddyfile /etc/caddy/Caddyfile -COPY site /site +COPY site /srv ``` #### Adding custom Caddy modules -Caddy is extendable through the use of "modules". See https://caddyserver.com/docs/extending-caddy for full details. +Caddy is extendable through the use of "modules". See https://caddyserver.com/docs/extending-caddy for full details. You can find a list of available modules on [the Caddy website's download page](https://caddyserver.com/download). You can use the `:builder` image as a short-cut to building a new Caddy binary: ```Dockerfile -FROM caddy:2.0.0-builder AS builder +FROM caddy:-builder AS builder -RUN caddy-builder \ - github.com/caddyserver/nginx-adapter \ - github.com/hairyhenderson/caddy-teapot-module@v0.0.1 +RUN xcaddy build \ + --with github.com/caddyserver/nginx-adapter \ + --with github.com/hairyhenderson/caddy-teapot-module@v0.0.3-0 -FROM caddy:2.0.0 +FROM caddy: COPY --from=builder /usr/bin/caddy /usr/bin/caddy ``` Note the second `FROM` instruction - this produces a much smaller image by simply overlaying the newly-built binary on top of the the regular `caddy` image. -The `caddy-builder` script is used to [build a new Caddy entrypoint](https://github.com/caddyserver/caddy/blob/71e81d262bc34545f73f1380bc5d078d83d1570f/cmd/caddy/main.go#L15..L25), with the provided modules. You can specify just a module name, or a name with a version (separated by `@`). +The [`xcaddy`](https://caddyserver.com/docs/build#xcaddy) tool is used to [build a new Caddy entrypoint](https://github.com/caddyserver/caddy/blob/4217217badf220d7d2c25f43f955fdc8454f2c64/cmd/caddy/main.go#L15..L25), with the provided modules. You can specify just a module name, or a name with a version (separated by `@`). You can also specify a specific version (can be a version tag or commit hash) of Caddy to build from. Read more about [`xcaddy` usage](https://github.com/caddyserver/xcaddy#command-usage). Note that the "standard" Caddy modules ([`github.com/caddyserver/caddy/master/modules/standard`](https://github.com/caddyserver/caddy/tree/master/modules/standard)) are always included. @@ -166,11 +189,36 @@ Caddy does not require a full restart when configuration is changed. Caddy comes When running Caddy in Docker, the recommended way to trigger a config reload is by executing the `caddy reload` command in the running container. -First, you'll need to determine your container ID or name. Then, pass the container ID to `docker exec`. +First, you'll need to determine your container ID or name. Then, pass the container ID to `docker exec`. The working directory is set to `/etc/caddy` so Caddy can find your Caddyfile without additional arguments. ```console $ caddy_container_id=$(docker ps | grep caddy | awk '{print $1;}') -$ docker exec $caddy_container_id caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile +$ docker exec -w /etc/caddy $caddy_container_id caddy reload +``` + +### Docker Compose example + +If you prefer to use `docker-compoose` to run your stack, here's a sample service definition. + +```yaml +version: "3.7" + +services: + caddy: + image: caddy: + restart: unless-stopped + ports: + - "80:80" + - "443:443" + volumes: + - $PWD/Caddyfile:/etc/caddy/Caddyfile + - $PWD/site:/srv + - caddy_data:/data + - caddy_config:/config + +volumes: + caddy_data: + caddy_config: ``` # Image Variants @@ -183,9 +231,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `caddy:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/caddy/content.md b/caddy/content.md index 6c0bbb7bebdb..95353a4b22f3 100644 --- a/caddy/content.md +++ b/caddy/content.md @@ -50,7 +50,7 @@ The default `Caddyfile` only listens to port `80`, and does not set up automatic ```console $ docker run -d -p 80:80 -p 443:443 \ - -v /site:/usr/share/caddy \ + -v /site:/srv \ -v caddy_data:/data \ -v caddy_config:/config \ %%IMAGE%% caddy file-server --domain example.com @@ -66,33 +66,33 @@ Most users deploying production sites will not want to rely on mounting files in ```Dockerfile # note: never use the :latest tag in a production site -FROM %%IMAGE%%:2.0.0 +FROM %%IMAGE%%: COPY Caddyfile /etc/caddy/Caddyfile -COPY site /site +COPY site /srv ``` #### Adding custom Caddy modules -Caddy is extendable through the use of "modules". See https://caddyserver.com/docs/extending-caddy for full details. +Caddy is extendable through the use of "modules". See https://caddyserver.com/docs/extending-caddy for full details. You can find a list of available modules on [the Caddy website's download page](https://caddyserver.com/download). You can use the `:builder` image as a short-cut to building a new Caddy binary: ```Dockerfile -FROM %%IMAGE%%:2.0.0-builder AS builder +FROM %%IMAGE%%:-builder AS builder -RUN caddy-builder \ - github.com/caddyserver/nginx-adapter \ - github.com/hairyhenderson/caddy-teapot-module@v0.0.1 +RUN xcaddy build \ + --with github.com/caddyserver/nginx-adapter \ + --with github.com/hairyhenderson/caddy-teapot-module@v0.0.3-0 -FROM %%IMAGE%%:2.0.0 +FROM %%IMAGE%%: COPY --from=builder /usr/bin/caddy /usr/bin/caddy ``` Note the second `FROM` instruction - this produces a much smaller image by simply overlaying the newly-built binary on top of the the regular `%%IMAGE%%` image. -The `caddy-builder` script is used to [build a new Caddy entrypoint](https://github.com/caddyserver/caddy/blob/71e81d262bc34545f73f1380bc5d078d83d1570f/cmd/caddy/main.go#L15..L25), with the provided modules. You can specify just a module name, or a name with a version (separated by `@`). +The [`xcaddy`](https://caddyserver.com/docs/build#xcaddy) tool is used to [build a new Caddy entrypoint](https://github.com/caddyserver/caddy/blob/4217217badf220d7d2c25f43f955fdc8454f2c64/cmd/caddy/main.go#L15..L25), with the provided modules. You can specify just a module name, or a name with a version (separated by `@`). You can also specify a specific version (can be a version tag or commit hash) of Caddy to build from. Read more about [`xcaddy` usage](https://github.com/caddyserver/xcaddy#command-usage). Note that the "standard" Caddy modules ([`github.com/caddyserver/caddy/master/modules/standard`](https://github.com/caddyserver/caddy/tree/master/modules/standard)) are always included. @@ -102,9 +102,34 @@ Caddy does not require a full restart when configuration is changed. Caddy comes When running Caddy in Docker, the recommended way to trigger a config reload is by executing the `caddy reload` command in the running container. -First, you'll need to determine your container ID or name. Then, pass the container ID to `docker exec`. +First, you'll need to determine your container ID or name. Then, pass the container ID to `docker exec`. The working directory is set to `/etc/caddy` so Caddy can find your Caddyfile without additional arguments. ```console $ caddy_container_id=$(docker ps | grep caddy | awk '{print $1;}') -$ docker exec $caddy_container_id caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile +$ docker exec -w /etc/caddy $caddy_container_id caddy reload +``` + +### Docker Compose example + +If you prefer to use `docker-compoose` to run your stack, here's a sample service definition. + +```yaml +version: "3.7" + +services: + caddy: + image: %%IMAGE%%: + restart: unless-stopped + ports: + - "80:80" + - "443:443" + volumes: + - $PWD/Caddyfile:/etc/caddy/Caddyfile + - $PWD/site:/srv + - caddy_data:/data + - caddy_config:/config + +volumes: + caddy_data: + caddy_config: ``` diff --git a/caddy/get-help.md b/caddy/get-help.md new file mode 100644 index 000000000000..982fbdf10126 --- /dev/null +++ b/caddy/get-help.md @@ -0,0 +1 @@ +[the Caddy Community Forums](https://caddy.community) diff --git a/cassandra/README.md b/cassandra/README.md index 30f47be9434c..907acbb7713b 100644 --- a/cassandra/README.md +++ b/cassandra/README.md @@ -20,14 +20,15 @@ WARNING: [the Docker Community](https://github.com/docker-library/cassandra) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.1.21`, `2.1`](https://github.com/docker-library/cassandra/blob/4c146a91f56dc3043284c817f1d61f152199482c/2.1/Dockerfile) -- [`2.2.16`, `2.2`, `2`](https://github.com/docker-library/cassandra/blob/4c146a91f56dc3043284c817f1d61f152199482c/2.2/Dockerfile) -- [`3.0.20`, `3.0`](https://github.com/docker-library/cassandra/blob/4c146a91f56dc3043284c817f1d61f152199482c/3.0/Dockerfile) -- [`3.11.6`, `3.11`, `3`, `latest`](https://github.com/docker-library/cassandra/blob/4c146a91f56dc3043284c817f1d61f152199482c/3.11/Dockerfile) +- [`4.0-rc1`, `4.0`](https://github.com/docker-library/cassandra/blob/f00a725cc0189ef166ac1d893227651bd81a6996/4.0/Dockerfile) +- [`3.11.10`, `3.11`, `3`, `latest`](https://github.com/docker-library/cassandra/blob/03bef93db2ff4b5a3cbc954618f08c44ddcb7568/3.11/Dockerfile) +- [`3.0.24`, `3.0`](https://github.com/docker-library/cassandra/blob/03bef93db2ff4b5a3cbc954618f08c44ddcb7568/3.0/Dockerfile) +- [`2.2.19`, `2.2`, `2`](https://github.com/docker-library/cassandra/blob/03bef93db2ff4b5a3cbc954618f08c44ddcb7568/2.2/Dockerfile) +- [`2.1.22`, `2.1`](https://github.com/docker-library/cassandra/blob/03bef93db2ff4b5a3cbc954618f08c44ddcb7568/2.1/Dockerfile) # Quick reference (cont.) @@ -42,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/cassandra`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcassandra) + [official-images repo's `library/cassandra` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcassandra) [official-images repo's `library/cassandra` file](https://github.com/docker-library/official-images/blob/master/library/cassandra) ([history](https://github.com/docker-library/official-images/commits/master/library/cassandra)) - **Source of this description**: diff --git a/centos/README.md b/centos/README.md index c1e018eed3b1..73a07ac6ea55 100644 --- a/centos/README.md +++ b/centos/README.md @@ -20,27 +20,14 @@ WARNING: [The CentOS Project](https://github.com/CentOS/sig-cloud-instance-images) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `centos8`, `8`, `centos8.1.1911`, `8.1.1911`](https://github.com/CentOS/sig-cloud-instance-images/blob/52cc14a6dd2efc45265417a4690964d32cf13857/docker/Dockerfile) -- [`centos7`, `7`](https://github.com/CentOS/sig-cloud-instance-images/blob/b521221b5c8ac3ac88698e77941a2414ce6e778d/docker/Dockerfile) +- [`latest`, `centos8`, `8`, `centos8.3.2011`, `8.3.2011`](https://github.com/CentOS/sig-cloud-instance-images/blob/ccd17799397027acf9ee6d660e75b8fce4c852e8/docker/Dockerfile) +- [`centos7`, `7`, `centos7.9.2009`, `7.9.2009`](https://github.com/CentOS/sig-cloud-instance-images/blob/b2d195220e1c5b181427c3172829c23ab9cd27eb/docker/Dockerfile) - [`centos6`, `6`](https://github.com/CentOS/sig-cloud-instance-images/blob/23b05f6a35520ebf338e4df918e4952830da068b/docker/Dockerfile) -- [`centos7.8.2003`, `7.8.2003`](https://github.com/CentOS/sig-cloud-instance-images/blob/216a920c467977bbd0f456d3bc381100a88b3768/docker/Dockerfile) -- [`centos7.7.1908`, `7.7.1908`](https://github.com/CentOS/sig-cloud-instance-images/blob/dcf7932cbda6dd9865d50bfe969927e3e1f0c671/docker/Dockerfile) -- [`centos7.6.1810`, `7.6.1810`](https://github.com/CentOS/sig-cloud-instance-images/blob/7c2e214edced0b2f22e663ab4175a80fc93acaa9/docker/Dockerfile) -- [`centos7.5.1804`, `7.5.1804`](https://github.com/CentOS/sig-cloud-instance-images/blob/0cea32a0018ac2d874960d9378a9745bf92affd2/docker/Dockerfile) -- [`centos7.4.1708`, `7.4.1708`](https://github.com/CentOS/sig-cloud-instance-images/blob/66add29c188e42d4d855f4d4acdb2b73d547edb6/docker/Dockerfile) -- [`centos7.3.1611`, `7.3.1611`](https://github.com/CentOS/sig-cloud-instance-images/blob/5bbaef9f60ab9e3eeb61acec631c2d91f8714fff/docker/Dockerfile) -- [`centos7.2.1511`, `7.2.1511`](https://github.com/CentOS/sig-cloud-instance-images/blob/a3c59bd4e98a7f9c063d993955c8ec19c5b1ceff/docker/Dockerfile) -- [`centos7.1.1503`, `7.1.1503`](https://github.com/CentOS/sig-cloud-instance-images/blob/bc561dfdd671d612dbb9f92e7e17dd8009befc44/docker/Dockerfile) -- [`centos7.0.1406`, `7.0.1406`](https://github.com/CentOS/sig-cloud-instance-images/blob/f1d1e0bd83baef08e257da50e6fb446e4dd1b90c/docker/Dockerfile) - [`centos6.10`, `6.10`](https://github.com/CentOS/sig-cloud-instance-images/blob/da050e2fc6c28d8d72d8bf78c49537247b5ddf76/docker/Dockerfile) -- [`centos6.9`, `6.9`](https://github.com/CentOS/sig-cloud-instance-images/blob/4f329fe087b0152df26344cecee9ba30b03b1a7b/docker/Dockerfile) -- [`centos6.8`, `6.8`](https://github.com/CentOS/sig-cloud-instance-images/blob/f32666d2af356ed6835942ed753a4970e18bca94/docker/Dockerfile) -- [`centos6.7`, `6.7`](https://github.com/CentOS/sig-cloud-instance-images/blob/d0b72df83f49da844f88aabebe3826372f675370/docker/Dockerfile) -- [`centos6.6`, `6.6`](https://github.com/CentOS/sig-cloud-instance-images/blob/8911843d9a6cc71aadd81e491f94618aded94f30/docker/Dockerfile) # Quick reference (cont.) @@ -55,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/centos`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcentos) + [official-images repo's `library/centos` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcentos) [official-images repo's `library/centos` file](https://github.com/docker-library/official-images/blob/master/library/centos) ([history](https://github.com/docker-library/official-images/commits/master/library/centos)) - **Source of this description**: diff --git a/chronograf/README.md b/chronograf/README.md index cd5c5c6a64e9..ca9942c319a1 100644 --- a/chronograf/README.md +++ b/chronograf/README.md @@ -20,16 +20,16 @@ WARNING: [InfluxData](https://github.com/influxdata/influxdata-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.6`, `1.6.2`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.6/Dockerfile) -- [`1.6-alpine`, `1.6.2-alpine`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.6/alpine/Dockerfile) -- [`1.7`, `1.7.17`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.7/Dockerfile) -- [`1.7-alpine`, `1.7.17-alpine`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.7/alpine/Dockerfile) -- [`1.8`, `1.8.4`, `latest`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.8/Dockerfile) -- [`1.8-alpine`, `1.8.4-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/4fc3aa594c3b78d07b5b1f0e8a2e9168a22b6d01/chronograf/1.8/alpine/Dockerfile) +- [`1.6`, `1.6.2`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.6/Dockerfile) +- [`1.6-alpine`, `1.6.2-alpine`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.6/alpine/Dockerfile) +- [`1.7`, `1.7.17`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.7/Dockerfile) +- [`1.7-alpine`, `1.7.17-alpine`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.7/alpine/Dockerfile) +- [`1.8`, `1.8.8`, `latest`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.8/Dockerfile) +- [`1.8-alpine`, `1.8.8-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/6bcdcc7b0d7dba08fab467648639986370cf32d0/chronograf/1.8/alpine/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/chronograf`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fchronograf) + [official-images repo's `library/chronograf` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fchronograf) [official-images repo's `library/chronograf` file](https://github.com/docker-library/official-images/blob/master/library/chronograf) ([history](https://github.com/docker-library/official-images/commits/master/library/chronograf)) - **Source of this description**: @@ -126,9 +126,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `chronograf:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/cirros/README.md b/cirros/README.md index 15b3068920af..a4d2c7982816 100644 --- a/cirros/README.md +++ b/cirros/README.md @@ -20,11 +20,11 @@ WARNING: [the Docker Community](https://github.com/tianon/docker-brew-cirros) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`0.5.1`, `0.5`, `0`, `latest`](https://github.com/tianon/docker-brew-cirros/blob/0f4ac5ae1e2b7bbff60b81b554f7578be1caec3b/arches/amd64/Dockerfile) +- [`0.5.2`, `0.5`, `0`, `latest`](https://github.com/tianon/docker-brew-cirros/blob/6b155af1eeb835ab219369aeec45139b2f4ba11b/arches/amd64/Dockerfile) # Quick reference (cont.) @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/cirros`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcirros) + [official-images repo's `library/cirros` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcirros) [official-images repo's `library/cirros` file](https://github.com/docker-library/official-images/blob/master/library/cirros) ([history](https://github.com/docker-library/official-images/commits/master/library/cirros)) - **Source of this description**: diff --git a/clearlinux/README.md b/clearlinux/README.md index fc2d64f22a85..fce1bdc014b6 100644 --- a/clearlinux/README.md +++ b/clearlinux/README.md @@ -20,11 +20,11 @@ WARNING: [Intel Corporation](https://github.com/clearlinux/docker-brew-clearlinux) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `base`](https://github.com/clearlinux/docker-brew-clearlinux/blob/beb54159cb365cc280c96751701d4084d5828ca3/Dockerfile) +- [`latest`, `base`](https://github.com/clearlinux/docker-brew-clearlinux/blob/053d66913b6055fd64947f74e7b2c9daede7b4cc/Dockerfile) # Quick reference (cont.) @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/clearlinux`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fclearlinux) + [official-images repo's `library/clearlinux` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fclearlinux) [official-images repo's `library/clearlinux` file](https://github.com/docker-library/official-images/blob/master/library/clearlinux) ([history](https://github.com/docker-library/official-images/commits/master/library/clearlinux)) - **Source of this description**: diff --git a/clefos/README.md b/clefos/README.md index 7624d57e65fb..e99174bde6af 100644 --- a/clefos/README.md +++ b/clefos/README.md @@ -20,7 +20,7 @@ WARNING: [The ClefOS Project](https://github.com/nealef/clefos) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/clefos`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fclefos) + [official-images repo's `library/clefos` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fclefos) [official-images repo's `library/clefos` file](https://github.com/docker-library/official-images/blob/master/library/clefos) ([history](https://github.com/docker-library/official-images/commits/master/library/clefos)) - **Source of this description**: diff --git a/clojure/README.md b/clojure/README.md index ccb3927fde59..476ef34f5a5e 100644 --- a/clojure/README.md +++ b/clojure/README.md @@ -20,37 +20,44 @@ WARNING: [the Docker Community](https://github.com/Quantisan/docker-clojure) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`openjdk-8`, `openjdk-8-lein`, `openjdk-8-lein-2.9.1`, `openjdk-8-stretch`, `openjdk-8-lein-stretch`, `openjdk-8-lein-2.9.1-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-stretch/lein/Dockerfile) -- [`openjdk-8-slim-buster`, `openjdk-8-lein-slim-buster`, `openjdk-8-lein-2.9.1-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-slim-buster/lein/Dockerfile) -- [`openjdk-8-boot`, `openjdk-8-boot-2.8.3`, `openjdk-8-boot-stretch`, `openjdk-8-boot-2.8.3-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-stretch/boot/Dockerfile) -- [`openjdk-8-boot-slim-buster`, `openjdk-8-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-slim-buster/boot/Dockerfile) -- [`openjdk-8-tools-deps`, `openjdk-8-tools-deps-1.10.1.502`, `openjdk-8-tools-deps-stretch`, `openjdk-8-tools-deps-1.10.1.502-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-stretch/tools-deps/Dockerfile) -- [`openjdk-8-tools-deps-slim-buster`, `openjdk-8-tools-deps-1.10.1.502-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-8-slim-buster/tools-deps/Dockerfile) -- [`openjdk-11`, `openjdk-11-lein`, `openjdk-11-lein-2.9.1`, `lein`, `lein-2.9.1`, `openjdk-11-stretch`, `openjdk-11-lein-stretch`, `openjdk-11-lein-2.9.1-stretch`, `lein-stretch`, `lein-2.9.1-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-stretch/lein/Dockerfile) -- [`openjdk-11-lein-slim-buster`, `openjdk-11-slim-buster`, `openjdk-11-lein-2.9.1-slim-buster`, `slim-buster`, `lein-slim-buster`, `lein-2.9.1-slim-buster`, `latest`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-slim-buster/lein/Dockerfile) -- [`openjdk-11-boot`, `openjdk-11-boot-2.8.3`, `boot`, `boot-2.8.3`, `openjdk-11-boot-stretch`, `openjdk-11-boot-2.8.3-stretch`, `boot-stretch`, `boot-2.8.3-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-stretch/boot/Dockerfile) -- [`openjdk-11-boot-slim-buster`, `openjdk-11-boot-2.8.3-slim-buster`, `boot-slim-buster`, `boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-slim-buster/boot/Dockerfile) -- [`openjdk-11-tools-deps`, `openjdk-11-tools-deps-1.10.1.502`, `tools-deps`, `tools-deps-1.10.1.502`, `openjdk-11-tools-deps-stretch`, `openjdk-11-tools-deps-1.10.1.502-stretch`, `tools-deps-stretch`, `tools-deps-1.10.1.502-stretch`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-stretch/tools-deps/Dockerfile) -- [`openjdk-11-tools-deps-slim-buster`, `openjdk-11-tools-deps-1.10.1.502-slim-buster`, `tools-deps-1.10.1.502-slim-buster`, `tools-deps-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-11-slim-buster/tools-deps/Dockerfile) -- [`openjdk-13`, `openjdk-13-lein`, `openjdk-13-lein-2.9.1`, `openjdk-13-slim-buster`, `openjdk-13-lein-slim-buster`, `openjdk-13-lein-2.9.1-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-slim-buster/lein/Dockerfile) -- [`openjdk-13-buster`, `openjdk-13-lein-buster`, `openjdk-13-lein-2.9.1-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-buster/lein/Dockerfile) -- [`openjdk-13-boot`, `openjdk-13-boot-2.8.3`, `openjdk-13-boot-slim-buster`, `openjdk-13-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-slim-buster/boot/Dockerfile) -- [`openjdk-13-boot-buster`, `openjdk-13-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-buster/boot/Dockerfile) -- [`openjdk-13-tools-deps`, `openjdk-13-tools-deps-1.10.1.502`, `openjdk-13-tools-deps-slim-buster`, `openjdk-13-tools-deps-1.10.1.502-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-slim-buster/tools-deps/Dockerfile) -- [`openjdk-13-tools-deps-buster`, `openjdk-13-tools-deps-1.10.1.502-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-13-buster/tools-deps/Dockerfile) -- [`openjdk-14`, `openjdk-14-lein`, `openjdk-14-lein-2.9.1`, `openjdk-14-slim-buster`, `openjdk-14-lein-slim-buster`, `openjdk-14-lein-2.9.1-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-slim-buster/lein/Dockerfile) -- [`openjdk-14-buster`, `openjdk-14-lein-buster`, `openjdk-14-lein-2.9.1-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-buster/lein/Dockerfile) -- [`openjdk-14-boot`, `openjdk-14-boot-2.8.3`, `openjdk-14-boot-slim-buster`, `openjdk-14-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-slim-buster/boot/Dockerfile) -- [`openjdk-14-boot-buster`, `openjdk-14-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-buster/boot/Dockerfile) -- [`openjdk-14-tools-deps`, `openjdk-14-tools-deps-1.10.1.502`, `openjdk-14-tools-deps-slim-buster`, `openjdk-14-tools-deps-1.10.1.502-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-slim-buster/tools-deps/Dockerfile) -- [`openjdk-14-tools-deps-buster`, `openjdk-14-tools-deps-1.10.1.502-buster`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-buster/tools-deps/Dockerfile) -- [`openjdk-14-alpine`, `openjdk-14-lein-alpine`, `openjdk-14-lein-2.9.1-alpine`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-alpine/lein/Dockerfile) -- [`openjdk-14-boot-alpine`, `openjdk-14-boot-2.8.3-alpine`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-alpine/boot/Dockerfile) -- [`openjdk-14-tools-deps-alpine`, `openjdk-14-tools-deps-1.10.1.502-alpine`](https://github.com/Quantisan/docker-clojure/blob/e96f6249cac065855a40a9f36ba88949e0a52d7d/target/openjdk-14-alpine/tools-deps/Dockerfile) +- [`latest`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-slim-buster/latest/Dockerfile) +- [`openjdk-8`, `openjdk-8-lein`, `openjdk-8-lein-2.9.5`, `openjdk-8-buster`, `openjdk-8-lein-buster`, `openjdk-8-lein-2.9.5-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-buster/lein/Dockerfile) +- [`openjdk-8-slim-buster`, `openjdk-8-lein-slim-buster`, `openjdk-8-lein-2.9.5-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-slim-buster/lein/Dockerfile) +- [`openjdk-8-boot`, `openjdk-8-boot-2.8.3`, `openjdk-8-boot-buster`, `openjdk-8-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-buster/boot/Dockerfile) +- [`openjdk-8-boot-slim-buster`, `openjdk-8-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-slim-buster/boot/Dockerfile) +- [`openjdk-8-tools-deps`, `openjdk-8-tools-deps-1.10.3.822`, `openjdk-8-tools-deps-buster`, `openjdk-8-tools-deps-1.10.3.822-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-buster/tools-deps/Dockerfile) +- [`openjdk-8-tools-deps-slim-buster`, `openjdk-8-tools-deps-1.10.3.822-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-8-slim-buster/tools-deps/Dockerfile) +- [`openjdk-11`, `openjdk-11-lein`, `openjdk-11-lein-2.9.5`, `lein`, `lein-2.9.5`, `openjdk-11-buster`, `openjdk-11-lein-buster`, `openjdk-11-lein-2.9.5-buster`, `lein-buster`, `lein-2.9.5-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-buster/lein/Dockerfile) +- [`openjdk-11-lein-slim-buster`, `openjdk-11-slim-buster`, `openjdk-11-lein-2.9.5-slim-buster`, `slim-buster`, `lein-slim-buster`, `lein-2.9.5-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-slim-buster/lein/Dockerfile) +- [`openjdk-11-boot`, `openjdk-11-boot-2.8.3`, `boot`, `boot-2.8.3`, `openjdk-11-boot-buster`, `openjdk-11-boot-2.8.3-buster`, `boot-buster`, `boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-buster/boot/Dockerfile) +- [`openjdk-11-boot-slim-buster`, `openjdk-11-boot-2.8.3-slim-buster`, `boot-slim-buster`, `boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-slim-buster/boot/Dockerfile) +- [`openjdk-11-tools-deps`, `openjdk-11-tools-deps-1.10.3.822`, `tools-deps`, `tools-deps-1.10.3.822`, `openjdk-11-tools-deps-buster`, `openjdk-11-tools-deps-1.10.3.822-buster`, `tools-deps-buster`, `tools-deps-1.10.3.822-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-buster/tools-deps/Dockerfile) +- [`openjdk-11-tools-deps-slim-buster`, `openjdk-11-tools-deps-1.10.3.822-slim-buster`, `tools-deps-1.10.3.822-slim-buster`, `tools-deps-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-11-slim-buster/tools-deps/Dockerfile) +- [`openjdk-15`, `openjdk-15-lein`, `openjdk-15-lein-2.9.5`, `openjdk-15-slim-buster`, `openjdk-15-lein-slim-buster`, `openjdk-15-lein-2.9.5-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-slim-buster/lein/Dockerfile) +- [`openjdk-15-buster`, `openjdk-15-lein-buster`, `openjdk-15-lein-2.9.5-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-buster/lein/Dockerfile) +- [`openjdk-15-boot`, `openjdk-15-boot-2.8.3`, `openjdk-15-boot-slim-buster`, `openjdk-15-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-slim-buster/boot/Dockerfile) +- [`openjdk-15-boot-buster`, `openjdk-15-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-buster/boot/Dockerfile) +- [`openjdk-15-tools-deps`, `openjdk-15-tools-deps-1.10.3.822`, `openjdk-15-tools-deps-slim-buster`, `openjdk-15-tools-deps-1.10.3.822-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-slim-buster/tools-deps/Dockerfile) +- [`openjdk-15-tools-deps-buster`, `openjdk-15-tools-deps-1.10.3.822-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-15-buster/tools-deps/Dockerfile) +- [`openjdk-16`, `openjdk-16-lein`, `openjdk-16-lein-2.9.5`, `openjdk-16-slim-buster`, `openjdk-16-lein-slim-buster`, `openjdk-16-lein-2.9.5-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-slim-buster/lein/Dockerfile) +- [`openjdk-16-buster`, `openjdk-16-lein-buster`, `openjdk-16-lein-2.9.5-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-buster/lein/Dockerfile) +- [`openjdk-16-boot`, `openjdk-16-boot-2.8.3`, `openjdk-16-boot-slim-buster`, `openjdk-16-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-slim-buster/boot/Dockerfile) +- [`openjdk-16-boot-buster`, `openjdk-16-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-buster/boot/Dockerfile) +- [`openjdk-16-tools-deps`, `openjdk-16-tools-deps-1.10.3.822`, `openjdk-16-tools-deps-slim-buster`, `openjdk-16-tools-deps-1.10.3.822-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-slim-buster/tools-deps/Dockerfile) +- [`openjdk-16-tools-deps-buster`, `openjdk-16-tools-deps-1.10.3.822-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-16-buster/tools-deps/Dockerfile) +- [`openjdk-17`, `openjdk-17-lein`, `openjdk-17-lein-2.9.5`, `openjdk-17-slim-buster`, `openjdk-17-lein-slim-buster`, `openjdk-17-lein-2.9.5-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-slim-buster/lein/Dockerfile) +- [`openjdk-17-buster`, `openjdk-17-lein-buster`, `openjdk-17-lein-2.9.5-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-buster/lein/Dockerfile) +- [`openjdk-17-boot`, `openjdk-17-boot-2.8.3`, `openjdk-17-boot-slim-buster`, `openjdk-17-boot-2.8.3-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-slim-buster/boot/Dockerfile) +- [`openjdk-17-boot-buster`, `openjdk-17-boot-2.8.3-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-buster/boot/Dockerfile) +- [`openjdk-17-tools-deps`, `openjdk-17-tools-deps-1.10.3.822`, `openjdk-17-tools-deps-slim-buster`, `openjdk-17-tools-deps-1.10.3.822-slim-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-slim-buster/tools-deps/Dockerfile) +- [`openjdk-17-tools-deps-buster`, `openjdk-17-tools-deps-1.10.3.822-buster`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-buster/tools-deps/Dockerfile) +- [`openjdk-17-alpine`, `openjdk-17-lein-alpine`, `openjdk-17-lein-2.9.5-alpine`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-alpine/lein/Dockerfile) +- [`openjdk-17-boot-alpine`, `openjdk-17-boot-2.8.3-alpine`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-alpine/boot/Dockerfile) +- [`openjdk-17-tools-deps-alpine`, `openjdk-17-tools-deps-1.10.3.822-alpine`](https://github.com/Quantisan/docker-clojure/blob/5a8063dd656e676f754bf746b053ed5bc5963c28/target/openjdk-17-alpine/tools-deps/Dockerfile) # Quick reference (cont.) @@ -65,7 +72,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/clojure`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fclojure) + [official-images repo's `library/clojure` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fclojure) [official-images repo's `library/clojure` file](https://github.com/docker-library/official-images/blob/master/library/clojure) ([history](https://github.com/docker-library/official-images/commits/master/library/clojure)) - **Source of this description**: @@ -157,7 +164,7 @@ The `clojure` images come in many flavors, each designed for a specific use case This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like buster or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. +Some of these tags may have names like buster in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. ## `clojure:-slim` @@ -165,9 +172,9 @@ This image does not contain the common packages contained in the default tag and ## `clojure:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/composer/README.md b/composer/README.md index e646be63c01e..d26361524a31 100644 --- a/composer/README.md +++ b/composer/README.md @@ -20,12 +20,12 @@ WARNING: [Rob Bast](https://github.com/alcohol), with [contributions](https://github.com/composer/docker/graphs/contributors) from the community. - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.10.6`, `1.10`, `1`, `latest`](https://github.com/composer/docker/blob/719eb94597f3608c4933fd781d2a8448f840d277/1.10/Dockerfile) -- [`1.9.3`, `1.9`](https://github.com/composer/docker/blob/6deedc6a8c89b17c9a6ca61a28c8b206513c76f8/1.9/Dockerfile) +- [`2.0.12`, `2.0`, `2`, `latest`](https://github.com/composer/docker/blob/a534fa6d3ca169c58d9622a36457e3e5c6301bae/2.0/Dockerfile) +- [`1.10.21`, `1.10`, `1`](https://github.com/composer/docker/blob/70a34a6e811942b9c55a57eb696c3ee49ca528e1/1.10/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/composer`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcomposer) + [official-images repo's `library/composer` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcomposer) [official-images repo's `library/composer` file](https://github.com/docker-library/official-images/blob/master/library/composer) ([history](https://github.com/docker-library/official-images/commits/master/library/composer)) - **Source of this description**: @@ -58,15 +58,13 @@ You can read more about Composer in our [official documentation](https://getcomp ### Basic usage -Running the `composer` image is as simple as follows: - ```console $ docker run --rm --interactive --tty \ --volume $PWD:/app \ - composer install + composer ``` -### Persistent cache / global configuration +### Persist cache / global configuration You can bind mount the Composer home directory from your host to the container to enable a persistent cache or share global configuration: @@ -74,12 +72,12 @@ You can bind mount the Composer home directory from your host to the container t $ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ - composer install + composer ``` **Note:** this relies on the fact that the `COMPOSER_HOME` value is set to `/tmp` in the image by default. -Or if you are following the XDG specification: +Or if your environment follows the XDG specification: ```console $ docker run --rm --interactive --tty \ @@ -88,7 +86,7 @@ $ docker run --rm --interactive --tty \ --volume ${COMPOSER_HOME:-$HOME/.config/composer}:$COMPOSER_HOME \ --volume ${COMPOSER_CACHE_DIR:-$HOME/.cache/composer}:$COMPOSER_CACHE_DIR \ --volume $PWD:/app \ - composer install + composer ``` ### Filesystem permissions @@ -99,9 +97,13 @@ By default, Composer runs as root inside the container. This can lead to permiss $ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ - composer install + composer ``` +See: https://docs.docker.com/engine/reference/run/#user for details. + +> Note: Docker for Mac behaves differently and this tip might not apply to Docker for Mac users. + ### Private repositories / SSH agent When you need to access private repositories, you will either need to share your configured credentials, or mount your `ssh-agent` socket inside the running container: @@ -112,12 +114,12 @@ $ eval $(ssh-agent); \ --volume $PWD:/app \ --volume $SSH_AUTH_SOCK:/ssh-auth.sock \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ - composer install + composer ``` **Note:** On OSX this requires Docker For Mac v2.2.0.0 or later, see [docker/for-mac#410](https://github.com/docker/for-mac/issues/410). -When combining the use of private repositories with running Composer as another user, you might run into non-existent user errors (thrown by ssh). To work around this, simply mount the host passwd and group files (read-only) into the container: +When combining the use of private repositories with running Composer as another user, you can run into non-existent user errors (thrown by ssh). To work around this, bind mount the host passwd and group files (read-only) into the container: ```console $ eval $(ssh-agent); \ @@ -128,7 +130,7 @@ $ eval $(ssh-agent); \ --volume /etc/group:/etc/group:ro \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ --user $(id -u):$(id -g) \ - composer install + composer ``` # Troubleshooting @@ -156,7 +158,7 @@ Suggestions: "config": { "platform": { "php": "MAJOR.MINOR.PATCH", - "ext-something": "1" + "ext-something": "MAJOR.MINOR.PATCH" } } } diff --git a/composer/content.md b/composer/content.md index 5965d1ccfc7a..048898e45768 100644 --- a/composer/content.md +++ b/composer/content.md @@ -10,15 +10,13 @@ You can read more about Composer in our [official documentation](https://getcomp ### Basic usage -Running the `composer` image is as simple as follows: - ```console $ docker run --rm --interactive --tty \ --volume $PWD:/app \ - %%IMAGE%% install + %%IMAGE%% ``` -### Persistent cache / global configuration +### Persist cache / global configuration You can bind mount the Composer home directory from your host to the container to enable a persistent cache or share global configuration: @@ -26,12 +24,12 @@ You can bind mount the Composer home directory from your host to the container t $ docker run --rm --interactive --tty \ --volume $PWD:/app \ --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \ - %%IMAGE%% install + %%IMAGE%% ``` **Note:** this relies on the fact that the `COMPOSER_HOME` value is set to `/tmp` in the image by default. -Or if you are following the XDG specification: +Or if your environment follows the XDG specification: ```console $ docker run --rm --interactive --tty \ @@ -40,7 +38,7 @@ $ docker run --rm --interactive --tty \ --volume ${COMPOSER_HOME:-$HOME/.config/composer}:$COMPOSER_HOME \ --volume ${COMPOSER_CACHE_DIR:-$HOME/.cache/composer}:$COMPOSER_CACHE_DIR \ --volume $PWD:/app \ - %%IMAGE%% install + %%IMAGE%% ``` ### Filesystem permissions @@ -51,9 +49,13 @@ By default, Composer runs as root inside the container. This can lead to permiss $ docker run --rm --interactive --tty \ --volume $PWD:/app \ --user $(id -u):$(id -g) \ - %%IMAGE%% install + %%IMAGE%% ``` +See: https://docs.docker.com/engine/reference/run/#user for details. + +> Note: Docker for Mac behaves differently and this tip might not apply to Docker for Mac users. + ### Private repositories / SSH agent When you need to access private repositories, you will either need to share your configured credentials, or mount your `ssh-agent` socket inside the running container: @@ -64,12 +66,12 @@ $ eval $(ssh-agent); \ --volume $PWD:/app \ --volume $SSH_AUTH_SOCK:/ssh-auth.sock \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ - %%IMAGE%% install + %%IMAGE%% ``` **Note:** On OSX this requires Docker For Mac v2.2.0.0 or later, see [docker/for-mac#410](https://github.com/docker/for-mac/issues/410). -When combining the use of private repositories with running Composer as another user, you might run into non-existent user errors (thrown by ssh). To work around this, simply mount the host passwd and group files (read-only) into the container: +When combining the use of private repositories with running Composer as another user, you can run into non-existent user errors (thrown by ssh). To work around this, bind mount the host passwd and group files (read-only) into the container: ```console $ eval $(ssh-agent); \ @@ -80,7 +82,7 @@ $ eval $(ssh-agent); \ --volume /etc/group:/etc/group:ro \ --env SSH_AUTH_SOCK=/ssh-auth.sock \ --user $(id -u):$(id -g) \ - %%IMAGE%% install + %%IMAGE%% ``` # Troubleshooting @@ -108,7 +110,7 @@ Suggestions: "config": { "platform": { "php": "MAJOR.MINOR.PATCH", - "ext-something": "1" + "ext-something": "MAJOR.MINOR.PATCH" } } } diff --git a/consul/README.md b/consul/README.md index bc4f5275a179..1fafb2847bf6 100644 --- a/consul/README.md +++ b/consul/README.md @@ -20,13 +20,14 @@ WARNING: [HashiCorp](https://github.com/hashicorp/docker-consul) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.8.0-beta2`, `beta`](https://github.com/hashicorp/docker-consul/blob/47c5def6b37c59a5e1ec01d3cd7d5c3ef074c52b/0.X/Dockerfile) -- [`1.7.3`, `1.7`, `latest`](https://github.com/hashicorp/docker-consul/blob/9cb67358af03c73222da3badebc7c69d765c456a/0.X/Dockerfile) -- [`1.6.5`, `1.6`](https://github.com/hashicorp/docker-consul/blob/5fdce521f44a1cd56d3f5fb92e5732f2ae516d3e/0.X/Dockerfile) +- [`1.10.0-beta1`, `1.10.0-beta`](https://github.com/hashicorp/docker-consul/blob/90e04347b5b4fd6d903dc1ad2412c0517ee9755b/0.X/Dockerfile) +- [`1.9.5`, `1.9`, `latest`](https://github.com/hashicorp/docker-consul/blob/d1e6c69aa3cc520d93bc7b7e2260f5e857e704d4/0.X/Dockerfile) +- [`1.8.10`, `1.8`](https://github.com/hashicorp/docker-consul/blob/69a324deb789e8cb68883e5d0d56ed97770a2538/0.X/Dockerfile) +- [`1.7.14`, `1.7`](https://github.com/hashicorp/docker-consul/blob/82ecb6b76d35371a787c3b15f3fc159ab3ed1009/0.X/Dockerfile) # Quick reference (cont.) @@ -41,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/consul`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fconsul) + [official-images repo's `library/consul` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fconsul) [official-images repo's `library/consul` file](https://github.com/docker-library/official-images/blob/master/library/consul) ([history](https://github.com/docker-library/official-images/commits/master/library/consul)) - **Source of this description**: @@ -58,7 +59,7 @@ Consul is a distributed, highly-available, and multi-datacenter aware tool for s # Consul and Docker -Consul has several moving parts so we'll start with a brief introduction to Consul's architecture and then detail how Consul interacts with Docker. Please see the [Consul Architecture](https://www.consul.io/docs/internals/architecture.html) guide for more detail on all these concepts. +Consul has several moving parts so we'll start with a brief introduction to Consul's architecture and then detail how Consul interacts with Docker. Please see the [Consul Architecture](https://www.consul.io/docs/architecture) guide for more detail on all these concepts. Each host in a Consul cluster runs the Consul agent, a long running daemon that can be started in client or server mode. Each cluster has at least 1 agent in server mode, and usually 3 or 5 for high availability. The server agents participate in a [consensus protocol](https://www.consul.io/docs/internals/consensus.html), maintain a centralized view of the cluster's state, and respond to queries from other agents in the cluster. The rest of the agents in client mode participate in a [gossip protocol](https://www.consul.io/docs/internals/gossip.html) to discover other agents and check them for failures, and they forward queries about the cluster to the server agents. @@ -76,7 +77,7 @@ Consul always runs under [dumb-init](https://github.com/Yelp/dumb-init), which h Running the Consul container with no arguments will give you a Consul server in [development mode](https://www.consul.io/docs/agent/options.html#_dev). The provided entry point script will also look for Consul subcommands and run `consul` as the correct user and with that subcommand. For example, you can execute `docker run consul members` and it will run the `consul members` command inside the container. The entry point also adds some special configuration options as detailed in the sections below when running the `agent` subcommand. Any other command gets `exec`-ed inside the container under `dumb-init`. -The container exposes `VOLUME /consul/data`, which is a path were Consul will place its persisted state. This isn't used in any way when running in development mode. For client agents, this stores some information about the cluster and the client's health checks in case the container is restarted. For server agents, this stores the client information plus snapshots and data related to the consensus algorithm and other state like Consul's key/value store and catalog. For servers it is highly desirable to keep this volume's data around when restarting containers to recover from outage scenarios. If this is bind mounted then ownership will be changed to the consul user when the container starts. +The container exposes `VOLUME /consul/data`, which is a path where Consul will place its persisted state. This isn't used in any way when running in development mode. For client agents, this stores some information about the cluster and the client's health checks in case the container is restarted. For server agents, this stores the client information plus snapshots and data related to the consensus algorithm and other state like Consul's key/value store and catalog. For servers it is highly desirable to keep this volume's data around when restarting containers to recover from outage scenarios. If this is bind mounted then ownership will be changed to the consul user when the container starts. The container has a Consul configuration directory set up at `/consul/config` and the agent will load any configuration files placed here by binding a volume or by composing a new image and adding files. Alternatively, configuration can be added by passing the configuration JSON via environment variable `CONSUL_LOCAL_CONFIG`. If this is bind mounted then ownership will be changed to the consul user when the container starts. diff --git a/consul/content.md b/consul/content.md index 1beacc20e035..5535d7a67745 100644 --- a/consul/content.md +++ b/consul/content.md @@ -9,7 +9,7 @@ Consul is a distributed, highly-available, and multi-datacenter aware tool for s # Consul and Docker -Consul has several moving parts so we'll start with a brief introduction to Consul's architecture and then detail how Consul interacts with Docker. Please see the [Consul Architecture](https://www.consul.io/docs/internals/architecture.html) guide for more detail on all these concepts. +Consul has several moving parts so we'll start with a brief introduction to Consul's architecture and then detail how Consul interacts with Docker. Please see the [Consul Architecture](https://www.consul.io/docs/architecture) guide for more detail on all these concepts. Each host in a Consul cluster runs the Consul agent, a long running daemon that can be started in client or server mode. Each cluster has at least 1 agent in server mode, and usually 3 or 5 for high availability. The server agents participate in a [consensus protocol](https://www.consul.io/docs/internals/consensus.html), maintain a centralized view of the cluster's state, and respond to queries from other agents in the cluster. The rest of the agents in client mode participate in a [gossip protocol](https://www.consul.io/docs/internals/gossip.html) to discover other agents and check them for failures, and they forward queries about the cluster to the server agents. @@ -27,7 +27,7 @@ Consul always runs under [dumb-init](https://github.com/Yelp/dumb-init), which h Running the Consul container with no arguments will give you a Consul server in [development mode](https://www.consul.io/docs/agent/options.html#_dev). The provided entry point script will also look for Consul subcommands and run `consul` as the correct user and with that subcommand. For example, you can execute `docker run %%IMAGE%% members` and it will run the `consul members` command inside the container. The entry point also adds some special configuration options as detailed in the sections below when running the `agent` subcommand. Any other command gets `exec`-ed inside the container under `dumb-init`. -The container exposes `VOLUME /consul/data`, which is a path were Consul will place its persisted state. This isn't used in any way when running in development mode. For client agents, this stores some information about the cluster and the client's health checks in case the container is restarted. For server agents, this stores the client information plus snapshots and data related to the consensus algorithm and other state like Consul's key/value store and catalog. For servers it is highly desirable to keep this volume's data around when restarting containers to recover from outage scenarios. If this is bind mounted then ownership will be changed to the consul user when the container starts. +The container exposes `VOLUME /consul/data`, which is a path where Consul will place its persisted state. This isn't used in any way when running in development mode. For client agents, this stores some information about the cluster and the client's health checks in case the container is restarted. For server agents, this stores the client information plus snapshots and data related to the consensus algorithm and other state like Consul's key/value store and catalog. For servers it is highly desirable to keep this volume's data around when restarting containers to recover from outage scenarios. If this is bind mounted then ownership will be changed to the consul user when the container starts. The container has a Consul configuration directory set up at `/consul/config` and the agent will load any configuration files placed here by binding a volume or by composing a new image and adding files. Alternatively, configuration can be added by passing the configuration JSON via environment variable `CONSUL_LOCAL_CONFIG`. If this is bind mounted then ownership will be changed to the consul user when the container starts. diff --git a/convertigo/README-short.txt b/convertigo/README-short.txt index baa852d773b2..3d2df5140a57 100644 --- a/convertigo/README-short.txt +++ b/convertigo/README-short.txt @@ -1 +1 @@ -Open source Low Code Application Platform featuring MXDP/MBaaS for full-stack development. \ No newline at end of file +Open source Low Code & No Code Application Platform featuring MXDP/MBaaS for full-stack development. \ No newline at end of file diff --git a/convertigo/README.md b/convertigo/README.md index 1f6e8cc1d74a..7cd394c2964d 100644 --- a/convertigo/README.md +++ b/convertigo/README.md @@ -20,11 +20,11 @@ WARNING: [Convertigo](https://github.com/convertigo/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`7.8.0`, `7.8`, `latest`](https://github.com/convertigo/convertigo/blob/ffc9ab045f2e9bcc1103fb0bd00042d2527eeae5/docker/default/Dockerfile) +- [`7.9.2`, `7.9`, `latest`](https://github.com/convertigo/convertigo/blob/754b85da127e3887aa7605c3a1e616b948dc02d3/docker/default/Dockerfile) # Quick reference (cont.) @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/convertigo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fconvertigo) + [official-images repo's `library/convertigo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fconvertigo) [official-images repo's `library/convertigo` file](https://github.com/docker-library/official-images/blob/master/library/convertigo) ([history](https://github.com/docker-library/official-images/commits/master/library/convertigo)) - **Source of this description**: @@ -47,11 +47,12 @@ WARNING: # What is Convertigo Mobility Platform ? -Convertigo is an open source Low Code Application Platform (LCAP) featuring MXDP (Multi eXperience Development Platform) / MBaaS (Mobile Back end as a Service) for full-stack mobile and web application development. The platform is used to build complex Cross-platform Enterprise Mobile apps in a few days. Convertigo platform is composed of several components: +Convertigo is an open source fullstack Low Code & No Code platform.. The platform is used to build complex Cross-platform Enterprise Mobile apps in a few days. Convertigo platform is composed of several components: 1. **Convertigo MBaaS**: The back-end MBaaS server part. Handles back-end connectors, micro-services execution, offline data device synchronization and serves Mobile Web apps. Runs as a Docker container with the `convertigo` image 2. **Convertigo Studio**: Runs on a Windows or a MacOS workstation, Eclipse based IDE, used to program MBaaS micro-services workflows and optionaly use the "Mobile Builder" edition to build Mobile apps UIs in a MXDP (Multi eXperience Development Platform) Low code mode. Can be directly downloaded from [Sourceforge.net](https://sourceforge.net/projects/convertigo/files/latest/download) -3. **Convertigo SDKs**: Can be used with third party Mobile development tools such as Xcode (iOS) Android Studio (Android) and Visual Studio (Windows Mobile, Windows UWP and Xamarin). SDKS are available on each platform standard repository (Bintray for Android, Cocoapods for iOS and Nuget for .NET) +3. **Convertigo SDKs**: Can be used with third party Mobile development tools such as Xcode (iOS) Android Studio (Android). SDKS are available on each platform standard repository (Bintray for Android, Cocoapods for iOS and Nuget for .NET) +4. **Convertigo Forms**: The No Code App Builder to build form based apps as PWAs or Web applications with a Web Based NoCode studio intented for non technical developpers (Citizen Developpers) Convertigo Community edition brought to you by Convertigo SA (Paris & San Francisco). The platform is currently used by more than 100K developers worldwide, building enterprise class mobile apps. diff --git a/convertigo/content.md b/convertigo/content.md index c3cb38d55fd6..b05fa5562e63 100644 --- a/convertigo/content.md +++ b/convertigo/content.md @@ -1,10 +1,11 @@ # What is Convertigo Mobility Platform ? -Convertigo is an open source Low Code Application Platform (LCAP) featuring MXDP (Multi eXperience Development Platform) / MBaaS (Mobile Back end as a Service) for full-stack mobile and web application development. The platform is used to build complex Cross-platform Enterprise Mobile apps in a few days. Convertigo platform is composed of several components: +Convertigo is an open source fullstack Low Code & No Code platform.. The platform is used to build complex Cross-platform Enterprise Mobile apps in a few days. Convertigo platform is composed of several components: 1. **Convertigo MBaaS**: The back-end MBaaS server part. Handles back-end connectors, micro-services execution, offline data device synchronization and serves Mobile Web apps. Runs as a Docker container with the `convertigo` image 2. **Convertigo Studio**: Runs on a Windows or a MacOS workstation, Eclipse based IDE, used to program MBaaS micro-services workflows and optionaly use the "Mobile Builder" edition to build Mobile apps UIs in a MXDP (Multi eXperience Development Platform) Low code mode. Can be directly downloaded from [Sourceforge.net](https://sourceforge.net/projects/convertigo/files/latest/download) -3. **Convertigo SDKs**: Can be used with third party Mobile development tools such as Xcode (iOS) Android Studio (Android) and Visual Studio (Windows Mobile, Windows UWP and Xamarin). SDKS are available on each platform standard repository (Bintray for Android, Cocoapods for iOS and Nuget for .NET) +3. **Convertigo SDKs**: Can be used with third party Mobile development tools such as Xcode (iOS) Android Studio (Android). SDKS are available on each platform standard repository (Bintray for Android, Cocoapods for iOS and Nuget for .NET) +4. **Convertigo Forms**: The No Code App Builder to build form based apps as PWAs or Web applications with a Web Based NoCode studio intented for non technical developpers (Citizen Developpers) Convertigo Community edition brought to you by Convertigo SA (Paris & San Francisco). The platform is currently used by more than 100K developers worldwide, building enterprise class mobile apps. diff --git a/couchbase/README.md b/couchbase/README.md index ceafaf3dd04c..ac2b70de45c8 100644 --- a/couchbase/README.md +++ b/couchbase/README.md @@ -20,13 +20,15 @@ WARNING: [the Couchbase Docker Team](https://github.com/couchbase/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `enterprise`, `6.5.1`, `enterprise-6.5.1`](https://github.com/couchbase/docker/blob/46de65611374973ecf7ec28b0c582a8175d3bda0/enterprise/couchbase-server/6.5.1/Dockerfile) -- [`enterprise-6.5.0`](https://github.com/couchbase/docker/blob/46de65611374973ecf7ec28b0c582a8175d3bda0/enterprise/couchbase-server/6.5.0/Dockerfile) -- [`community`, `community-6.5.1`](https://github.com/couchbase/docker/blob/f17df7695bbd6efb756b90b683bd5f34d08b5708/community/couchbase-server/6.5.1/Dockerfile) +- [`7.0.0-beta`, `enterprise-7.0.0-beta`](https://github.com/couchbase/docker/blob/705652faaef8f56988ba13d181cb00109c7263d4/enterprise/couchbase-server/7.0.0-beta/Dockerfile) +- [`community-7.0.0-beta`](https://github.com/couchbase/docker/blob/705652faaef8f56988ba13d181cb00109c7263d4/community/couchbase-server/7.0.0-beta/Dockerfile) +- [`latest`, `enterprise`, `6.6.2`, `enterprise-6.6.2`](https://github.com/couchbase/docker/blob/9258627737f48d0b7c1015f48fdfd6242aefba6c/enterprise/couchbase-server/6.6.2/Dockerfile) +- [`community`, `community-6.6.0`](https://github.com/couchbase/docker/blob/78cbcaa2c90ce4c975299e7cbfdce146a7bab081/community/couchbase-server/6.6.0/Dockerfile) +- [`6.0.5`, `enterprise-6.0.5`](https://github.com/couchbase/docker/blob/fdd43ff22dbb4b10f262e95acef6b945dfacf214/enterprise/couchbase-server/6.0.5/Dockerfile) # Quick reference (cont.) @@ -41,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/couchbase`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcouchbase) + [official-images repo's `library/couchbase` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcouchbase) [official-images repo's `library/couchbase` file](https://github.com/docker-library/official-images/blob/master/library/couchbase) ([history](https://github.com/docker-library/official-images/commits/master/library/couchbase)) - **Source of this description**: diff --git a/couchdb/README.md b/couchdb/README.md index 8579f4681ef7..aadc383eb1ca 100644 --- a/couchdb/README.md +++ b/couchdb/README.md @@ -20,13 +20,13 @@ WARNING: [Apache CouchDB](https://github.com/apache/couchdb-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `3.1.0`, `3.1`, `3`](https://github.com/apache/couchdb-docker/blob/01e1c16bb405c1174393c76a7ebc3792b0c5e2c9/3.1.0/Dockerfile) -- [`3.0.1`, `3.0`](https://github.com/apache/couchdb-docker/blob/01e1c16bb405c1174393c76a7ebc3792b0c5e2c9/3.0.1/Dockerfile) -- [`2.3.1`, `2.3`, `2`](https://github.com/apache/couchdb-docker/blob/01e1c16bb405c1174393c76a7ebc3792b0c5e2c9/2.3.1/Dockerfile) +- [`latest`, `3.1.1`, `3.1`, `3`](https://github.com/apache/couchdb-docker/blob/e3ca492e13f65ffd72593ac3d7c43c737787e2b2/3.1.1/Dockerfile) +- [`3.0.1`, `3.0`](https://github.com/apache/couchdb-docker/blob/e3ca492e13f65ffd72593ac3d7c43c737787e2b2/3.0.1/Dockerfile) +- [`2.3.1`, `2.3`, `2`](https://github.com/apache/couchdb-docker/blob/e3ca492e13f65ffd72593ac3d7c43c737787e2b2/2.3.1/Dockerfile) # Quick reference (cont.) @@ -34,14 +34,14 @@ WARNING: [https://github.com/apache/couchdb-docker/issues](https://github.com/apache/couchdb-docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/couchdb/), [`arm64v8`](https://hub.docker.com/r/arm64v8/couchdb/), [`ppc64le`](https://hub.docker.com/r/ppc64le/couchdb/) + [`amd64`](https://hub.docker.com/r/amd64/couchdb/), [`arm64v8`](https://hub.docker.com/r/arm64v8/couchdb/) - **Published image artifact details**: [repo-info repo's `repos/couchdb/` directory](https://github.com/docker-library/repo-info/blob/master/repos/couchdb) ([history](https://github.com/docker-library/repo-info/commits/master/repos/couchdb)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/couchdb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcouchdb) + [official-images repo's `library/couchdb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcouchdb) [official-images repo's `library/couchdb` file](https://github.com/docker-library/official-images/blob/master/library/couchdb) ([history](https://github.com/docker-library/official-images/commits/master/library/couchdb)) - **Source of this description**: diff --git a/crate/README-short.txt b/crate/README-short.txt index 202e0d538cbc..b978a5dd8473 100644 --- a/crate/README-short.txt +++ b/crate/README-short.txt @@ -1 +1 @@ -CrateDB is a distributed SQL database handles massive amounts of machine data in real-time. +CrateDB is a distributed SQL database that handles massive amounts of machine data in real-time. diff --git a/crate/README.md b/crate/README.md index 98b3d8d25754..892db6fcd07f 100644 --- a/crate/README.md +++ b/crate/README.md @@ -20,13 +20,17 @@ WARNING: [Crate.io](https://github.com/crate/docker-crate) - **Where to get help**: - [project documentation](https://crate.io/docs/), [StackOverflow](https://stackoverflow.com/tags/crate), [Slack](https://crate.io/docs/support/slackin/), or [paid support](https://crate.io/pricing/) + [project documentation](https://crate.io/docs/), [StackOverflow](https://stackoverflow.com/tags/cratedb), [support channels](https://crate.io/support/) # Supported tags and respective `Dockerfile` links -- [`4.1.5`, `4.1`, `latest`](https://github.com/crate/docker-crate/blob/1d2060119c573f07b861f808c0aa89331fa80cd5/Dockerfile) +- [`4.5.0`, `4.5`, `latest`](https://github.com/crate/docker-crate/blob/b9ab45a34c6ad5bf936e460cc9374c2916761abb/Dockerfile) +- [`4.4.3`, `4.4`](https://github.com/crate/docker-crate/blob/2ccc43c2b34cd4182b7757298f97dd21f123b2d9/Dockerfile) +- [`4.3.4`, `4.3`](https://github.com/crate/docker-crate/blob/eae5f171ef089074d42d033af2988714a87190b6/Dockerfile) +- [`4.2.7`, `4.2`](https://github.com/crate/docker-crate/blob/441cd8bb0115a268f30633839bc29d813dfaa0db/Dockerfile) +- [`4.1.8`, `4.1`](https://github.com/crate/docker-crate/blob/fbe46a3c699dfe79242e659626a39b09325d58ab/Dockerfile) - [`4.0.12`, `4.0`](https://github.com/crate/docker-crate/blob/7791cda08fbf054ab2ce7a988f8811074b8c3bf4/Dockerfile) -- [`3.3.5`, `3.3`](https://github.com/crate/docker-crate/blob/f5c527fb12df004e3fc620fd9d91b97686f56ef8/Dockerfile) +- [`3.3.5`, `3.3`](https://github.com/crate/docker-crate/blob/896c3f63e8e3d4746019e379a7aefb5225b050e3/Dockerfile) # Quick reference (cont.) @@ -41,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/crate`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcrate) + [official-images repo's `library/crate` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcrate) [official-images repo's `library/crate` file](https://github.com/docker-library/official-images/blob/master/library/crate) ([history](https://github.com/docker-library/official-images/commits/master/library/crate)) - **Source of this description**: @@ -53,30 +57,38 @@ WARNING: [CrateDB](http://github.com/crate/crate) is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time. -Features of CrateDB: +CrateDB offers the scalability and flexibility typically associated with a NoSQL database, is designed to run on inexpensive commodity servers and can be deployed and run on any sort of network - from personal computers to multi-region hybrid clouds. + +The smallest CrateDB clusters can easily ingest tens of thousands of records per second. The data can be queried, ad-hoc, in parallel across the whole cluster in real time. + +# Features - Standard SQL plus dynamic schemas, queryable objects, geospatial features, time series data, first-class BLOB support, and realtime full-text search. -- Horizontally scalable, highly available, and fault tolerant clusters that run very well in virtualized and containerised environments. +- Dynamic schemas, queryable objects, geospatial features, time series data support, and realtime full-text search providing functionality for handling both relational and document oriented nested data structures. +- Horizontally scalable, highly available and fault tolerant clusters that run very well in virtualized and containerised environments. - Extremely fast distributed query execution. - Auto-partitioning, auto-sharding, and auto-replication. - Self-healing and auto-rebalancing. -- CrateDB offers the scalability and flexibility typically associated with a NoSQL database and is designed to run on inexpensive commodity servers and can be deployed and run across any sort of network. From personal computers to multi-region hybrid clouds. -The smallest CrateDB clusters can easily ingest tens of thousands of records per second. And this data can be queried, ad-hoc, in parallel across the whole cluster in real time. +# Screenshots + +CrateDB provides an [Admin UI](https://crate.io/docs/crate/admin-ui/): + +![Screenshots of the CrateDB Admin UI](https://raw.githubusercontent.com/crate/crate/master/crate-admin.gif) -# How to Use This Image +# Try CrateDB Spin up this Docker image like so: ```console -$ docker run -p 4200:4200 crate +$ docker run --publish 4200:4200 --publish 5432:5432 crate -Cdiscovery.type=single-node ``` -Once you're up and running, head on over to [the introductory docs](https://crate.io/docs/crate/getting-started/en/latest/first-use/index.html). +Visit the [getting started](https://crate.io/docs/crate/tutorials/en/latest/install-run/) page to see all the available download and install options. -See also: +Once you're up and running, head over to the [introductory docs](https://crate.io/docs/crate/tutorials/). To interact with CrateDB, you can use the Admin UI [web console](https://crate.io/docs/crate/admin-ui/en/latest/console.html#sql-console) or the [CrateDB shell](https://crate.io/docs/crate/crash/) CLI tool. Alternatively, review the list of recommended [clients and tools](https://crate.io/docs/crate/clients-tools/) that work with CrateDB. -- [Getting Started With CrateDB on Docker](https://crate.io/docs/crate/guide/en/latest/deployment/containers/docker.html) +For container-specific documentation, check out the [CrateDB on Docker how-to guide](https://crate.io/docs/crate/howtos/en/latest/deployment/containers/docker.html) or the [CrateDB on Kubernetes how-to guide](https://crate.io/docs/crate/howtos/en/latest/deployment/containers/kubernetes.html). ## Issues @@ -94,7 +106,7 @@ For issues with CrateDB itself, report issues via [the `crate` GitHub issue trac This image is primarily maintained by [Crate.io](http://crate.io/), but we welcome community contributions! -See the [developer docs](https://github.com/crate/docker-crate/blob/master/DEVELOP.rst) and the [contribution docs](https://github.com/crate/docker-crate/blob/master/CONTRIBUTING.rst) for more information. +See the [contribution docs](https://github.com/crate/docker-crate/blob/master/CONTRIBUTING.rst) for more information. # License diff --git a/crate/content.md b/crate/content.md index 6be84d1dd990..01d2d44cbee6 100644 --- a/crate/content.md +++ b/crate/content.md @@ -4,30 +4,38 @@ [CrateDB](http://github.com/crate/crate) is a distributed SQL database that makes it simple to store and analyze massive amounts of machine data in real-time. -Features of CrateDB: +CrateDB offers the scalability and flexibility typically associated with a NoSQL database, is designed to run on inexpensive commodity servers and can be deployed and run on any sort of network - from personal computers to multi-region hybrid clouds. + +The smallest CrateDB clusters can easily ingest tens of thousands of records per second. The data can be queried, ad-hoc, in parallel across the whole cluster in real time. + +# Features - Standard SQL plus dynamic schemas, queryable objects, geospatial features, time series data, first-class BLOB support, and realtime full-text search. -- Horizontally scalable, highly available, and fault tolerant clusters that run very well in virtualized and containerised environments. +- Dynamic schemas, queryable objects, geospatial features, time series data support, and realtime full-text search providing functionality for handling both relational and document oriented nested data structures. +- Horizontally scalable, highly available and fault tolerant clusters that run very well in virtualized and containerised environments. - Extremely fast distributed query execution. - Auto-partitioning, auto-sharding, and auto-replication. - Self-healing and auto-rebalancing. -- CrateDB offers the scalability and flexibility typically associated with a NoSQL database and is designed to run on inexpensive commodity servers and can be deployed and run across any sort of network. From personal computers to multi-region hybrid clouds. -The smallest CrateDB clusters can easily ingest tens of thousands of records per second. And this data can be queried, ad-hoc, in parallel across the whole cluster in real time. +# Screenshots + +CrateDB provides an [Admin UI](https://crate.io/docs/crate/admin-ui/): + +![Screenshots of the CrateDB Admin UI](https://raw.githubusercontent.com/crate/crate/master/crate-admin.gif) -# How to Use This Image +# Try CrateDB Spin up this Docker image like so: ```console -$ docker run -p 4200:4200 %%IMAGE%% +$ docker run --publish 4200:4200 --publish 5432:5432 %%IMAGE%% -Cdiscovery.type=single-node ``` -Once you're up and running, head on over to [the introductory docs](https://crate.io/docs/crate/getting-started/en/latest/first-use/index.html). +Visit the [getting started](https://crate.io/docs/crate/tutorials/en/latest/install-run/) page to see all the available download and install options. -See also: +Once you're up and running, head over to the [introductory docs](https://crate.io/docs/crate/tutorials/). To interact with CrateDB, you can use the Admin UI [web console](https://crate.io/docs/crate/admin-ui/en/latest/console.html#sql-console) or the [CrateDB shell](https://crate.io/docs/crate/crash/) CLI tool. Alternatively, review the list of recommended [clients and tools](https://crate.io/docs/crate/clients-tools/) that work with CrateDB. -- [Getting Started With CrateDB on Docker](https://crate.io/docs/crate/guide/en/latest/deployment/containers/docker.html) +For container-specific documentation, check out the [CrateDB on Docker how-to guide](https://crate.io/docs/crate/howtos/en/latest/deployment/containers/docker.html) or the [CrateDB on Kubernetes how-to guide](https://crate.io/docs/crate/howtos/en/latest/deployment/containers/kubernetes.html). ## Issues @@ -45,4 +53,4 @@ For issues with CrateDB itself, report issues via [the `crate` GitHub issue trac This image is primarily maintained by [Crate.io](http://crate.io/), but we welcome community contributions! -See the [developer docs](https://github.com/crate/docker-crate/blob/master/DEVELOP.rst) and the [contribution docs](https://github.com/crate/docker-crate/blob/master/CONTRIBUTING.rst) for more information. +See the [contribution docs](https://github.com/crate/docker-crate/blob/master/CONTRIBUTING.rst) for more information. diff --git a/crate/get-help.md b/crate/get-help.md index a6480382c8f3..f0a4f772474c 100644 --- a/crate/get-help.md +++ b/crate/get-help.md @@ -1 +1 @@ -[project documentation](https://crate.io/docs/), [StackOverflow](https://stackoverflow.com/tags/crate), [Slack](https://crate.io/docs/support/slackin/), or [paid support](https://crate.io/pricing/) +[project documentation](https://crate.io/docs/), [StackOverflow](https://stackoverflow.com/tags/cratedb), [support channels](https://crate.io/support/) diff --git a/crux/README.md b/crux/README.md index 505e73fbea19..cd72bf8eb096 100644 --- a/crux/README.md +++ b/crux/README.md @@ -14,13 +14,19 @@ WARNING: --> +# **DEPRECATION NOTICE** + +This image is deprecated due to maintainer inactivity (last updated Nov 2018; [docker-library/official-images#5073](https://github.com/docker-library/official-images/pull/5073)). + +See [docker-library/official-images#7130](https://github.com/docker-library/official-images/pull/7130) for discussion around an in-progress upstream update. + # Quick reference - **Maintained by**: [Docker Crux](https://github.com/cruxlinux/docker-crux) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -40,7 +46,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/crux`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fcrux) + [official-images repo's `library/crux` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcrux) [official-images repo's `library/crux` file](https://github.com/docker-library/official-images/blob/master/library/crux) ([history](https://github.com/docker-library/official-images/commits/master/library/crux)) - **Source of this description**: diff --git a/crux/deprecated.md b/crux/deprecated.md new file mode 100644 index 000000000000..dc5f41aff099 --- /dev/null +++ b/crux/deprecated.md @@ -0,0 +1,3 @@ +This image is deprecated due to maintainer inactivity (last updated Nov 2018; [docker-library/official-images#5073](https://github.com/docker-library/official-images/pull/5073)). + +See [docker-library/official-images#7130](https://github.com/docker-library/official-images/pull/7130) for discussion around an in-progress upstream update. diff --git a/debian/README.md b/debian/README.md index c329cf1b56de..19c8b55a0748 100644 --- a/debian/README.md +++ b/debian/README.md @@ -20,38 +20,34 @@ WARNING: Debian Developers [tianon](https://qa.debian.org/developer.php?login=tianon) and [paultag](https://qa.debian.org/developer.php?login=paultag) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`bullseye`, `bullseye-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/bullseye/Dockerfile) -- [`bullseye-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/bullseye/backports/Dockerfile) -- [`bullseye-slim`, `bullseye-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/bullseye/slim/Dockerfile) -- [`buster`, `buster-20200514`, `10.4`, `10`, `latest`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/buster/Dockerfile) -- [`buster-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/buster/backports/Dockerfile) -- [`buster-slim`, `buster-20200514-slim`, `10.4-slim`, `10-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/buster/slim/Dockerfile) -- [`experimental`, `experimental-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/experimental/Dockerfile) -- [`jessie`, `jessie-20200514`, `8.11`, `8`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/jessie/Dockerfile) -- [`jessie-slim`, `jessie-20200514-slim`, `8.11-slim`, `8-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/jessie/slim/Dockerfile) -- [`oldoldstable`, `oldoldstable-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/oldoldstable/Dockerfile) -- [`oldoldstable-slim`, `oldoldstable-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/oldoldstable/slim/Dockerfile) -- [`oldstable`, `oldstable-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/oldstable/Dockerfile) -- [`oldstable-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/oldstable/backports/Dockerfile) -- [`oldstable-slim`, `oldstable-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/oldstable/slim/Dockerfile) -- [`rc-buggy`, `rc-buggy-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/rc-buggy/Dockerfile) -- [`sid`, `sid-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/sid/Dockerfile) -- [`sid-slim`, `sid-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/sid/slim/Dockerfile) -- [`stable`, `stable-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stable/Dockerfile) -- [`stable-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stable/backports/Dockerfile) -- [`stable-slim`, `stable-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stable/slim/Dockerfile) -- [`stretch`, `stretch-20200514`, `9.12`, `9`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stretch/Dockerfile) -- [`stretch-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stretch/backports/Dockerfile) -- [`stretch-slim`, `stretch-20200514-slim`, `9.12-slim`, `9-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/stretch/slim/Dockerfile) -- [`testing`, `testing-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/testing/Dockerfile) -- [`testing-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/testing/backports/Dockerfile) -- [`testing-slim`, `testing-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/testing/slim/Dockerfile) -- [`unstable`, `unstable-20200514`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/unstable/Dockerfile) -- [`unstable-slim`, `unstable-20200514-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/18cb4d0418be1c80fb19141b69ac2e0600b2d601/unstable/slim/Dockerfile) +- [`bullseye`, `bullseye-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/bullseye/Dockerfile) +- [`bullseye-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/bullseye/backports/Dockerfile) +- [`bullseye-slim`, `bullseye-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/bullseye/slim/Dockerfile) +- [`buster`, `buster-20210408`, `10.9`, `10`, `latest`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/buster/Dockerfile) +- [`buster-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/buster/backports/Dockerfile) +- [`buster-slim`, `buster-20210408-slim`, `10.9-slim`, `10-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/buster/slim/Dockerfile) +- [`experimental`, `experimental-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/experimental/Dockerfile) +- [`oldstable`, `oldstable-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/oldstable/Dockerfile) +- [`oldstable-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/oldstable/backports/Dockerfile) +- [`oldstable-slim`, `oldstable-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/oldstable/slim/Dockerfile) +- [`rc-buggy`, `rc-buggy-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/rc-buggy/Dockerfile) +- [`sid`, `sid-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/sid/Dockerfile) +- [`sid-slim`, `sid-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/sid/slim/Dockerfile) +- [`stable`, `stable-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stable/Dockerfile) +- [`stable-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stable/backports/Dockerfile) +- [`stable-slim`, `stable-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stable/slim/Dockerfile) +- [`stretch`, `stretch-20210408`, `9.13`, `9`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stretch/Dockerfile) +- [`stretch-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stretch/backports/Dockerfile) +- [`stretch-slim`, `stretch-20210408-slim`, `9.13-slim`, `9-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/stretch/slim/Dockerfile) +- [`testing`, `testing-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/testing/Dockerfile) +- [`testing-backports`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/testing/backports/Dockerfile) +- [`testing-slim`, `testing-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/testing/slim/Dockerfile) +- [`unstable`, `unstable-20210408`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/unstable/Dockerfile) +- [`unstable-slim`, `unstable-20210408-slim`](https://github.com/debuerreotype/docker-debian-artifacts/blob/0590e3720f7f87992202bfcca4c13c374ff304bc/unstable/slim/Dockerfile) # Quick reference (cont.) @@ -66,7 +62,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/debian`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fdebian) + [official-images repo's `library/debian` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdebian) [official-images repo's `library/debian` file](https://github.com/docker-library/official-images/blob/master/library/debian) ([history](https://github.com/docker-library/official-images/commits/master/library/debian)) - **Source of this description**: @@ -104,7 +100,7 @@ ENV LANG en_US.utf8 ## How It's Made -The rootfs tarballs for this image are built using [the reproducible-Debian-rootfs tool, `debuerreotype`](https://github.com/debuerreotype/debuerreotype), with an explicit goal being that they are transparent and reproducible. Using the same toolchain, it should be possible to regenerate (clean-room!) the same tarballs used for building the official Debian images. [The `build.sh` script in that debuerreotype repository](https://github.com/debuerreotype/debuerreotype/blob/master/build.sh) (and the `build-all.sh` companion/wrapper) is the canonical entrypoint used for creating the artifacts published in this image. +The rootfs tarballs for this image are built using [the reproducible-Debian-rootfs tool, `debuerreotype`](https://github.com/debuerreotype/debuerreotype), with an explicit goal being that they are transparent and reproducible. Using the same toolchain, it should be possible to regenerate (clean-room!) the same tarballs used for building the official Debian images. [The `examples/debian.sh` script in that debuerreotype repository](https://github.com/debuerreotype/debuerreotype/blob/master/examples/debian.sh) (and the `debian-all.sh` companion/wrapper) is the canonical entrypoint used for creating the artifacts published in this image (via a process similar to the `docker-run.sh` included in the root of that repository). Additionally, the scripts in [https://github.com/debuerreotype/docker-debian-artifacts](https://github.com/debuerreotype/docker-debian-artifacts) are used to create each tag's `Dockerfile` and collect architecture-specific tarballs into [`dist-ARCH` branches on the same repository](https://github.com/debuerreotype/docker-debian-artifacts/branches), which also contain extra metadata about the artifacts included in each build, such as explicit package versions included in the base image (`rootfs.manifest`), the exact snapshot.debian.org timestamp used for `debuerreotype` invocation (`rootfs.debuerreotype-epoch`), the `sources.list` found in the image (`rootfs.sources-list`) and the one used during image creation (`rootfs.sources-list-snapshot`), etc. diff --git a/debian/content.md b/debian/content.md index 4cc9cd2fe353..aea24310d641 100644 --- a/debian/content.md +++ b/debian/content.md @@ -30,7 +30,7 @@ ENV LANG en_US.utf8 ## How It's Made -The rootfs tarballs for this image are built using [the reproducible-Debian-rootfs tool, `debuerreotype`](https://github.com/debuerreotype/debuerreotype), with an explicit goal being that they are transparent and reproducible. Using the same toolchain, it should be possible to regenerate (clean-room!) the same tarballs used for building the official Debian images. [The `build.sh` script in that debuerreotype repository](https://github.com/debuerreotype/debuerreotype/blob/master/build.sh) (and the `build-all.sh` companion/wrapper) is the canonical entrypoint used for creating the artifacts published in this image. +The rootfs tarballs for this image are built using [the reproducible-Debian-rootfs tool, `debuerreotype`](https://github.com/debuerreotype/debuerreotype), with an explicit goal being that they are transparent and reproducible. Using the same toolchain, it should be possible to regenerate (clean-room!) the same tarballs used for building the official Debian images. [The `examples/debian.sh` script in that debuerreotype repository](https://github.com/debuerreotype/debuerreotype/blob/master/examples/debian.sh) (and the `debian-all.sh` companion/wrapper) is the canonical entrypoint used for creating the artifacts published in this image (via a process similar to the `docker-run.sh` included in the root of that repository). Additionally, the scripts in [%%GITHUB-REPO%%](%%GITHUB-REPO%%) are used to create each tag's `Dockerfile` and collect architecture-specific tarballs into [`dist-ARCH` branches on the same repository](%%GITHUB-REPO%%/branches), which also contain extra metadata about the artifacts included in each build, such as explicit package versions included in the base image (`rootfs.manifest`), the exact snapshot.debian.org timestamp used for `debuerreotype` invocation (`rootfs.debuerreotype-epoch`), the `sources.list` found in the image (`rootfs.sources-list`) and the one used during image creation (`rootfs.sources-list-snapshot`), etc. diff --git a/docker/README.md b/docker/README.md index 2a87030ac20e..f03b57e0bbf0 100644 --- a/docker/README.md +++ b/docker/README.md @@ -20,14 +20,18 @@ WARNING: [Tianon (of the Docker Project)](https://github.com/docker-library/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`19.03.9`, `19.03`, `19`, `stable`, `test`, `latest`](https://github.com/docker-library/docker/blob/cdd23554f9417055ca2a18805fa9ad5716209934/19.03/Dockerfile) -- [`19.03.9-dind`, `19.03-dind`, `19-dind`, `stable-dind`, `test-dind`, `dind`](https://github.com/docker-library/docker/blob/a73d96e731e2dd5d6822c99a9af4dcbfbbedb2be/19.03/dind/Dockerfile) -- [`19.03.9-dind-rootless`, `19.03-dind-rootless`, `19-dind-rootless`, `stable-dind-rootless`, `test-dind-rootless`, `dind-rootless`](https://github.com/docker-library/docker/blob/25c81c65fe4e971ff75e67df38e8b9970b523f6e/19.03/dind-rootless/Dockerfile) -- [`19.03.9-git`, `19.03-git`, `19-git`, `stable-git`, `test-git`, `git`](https://github.com/docker-library/docker/blob/7a67842e7ff12c1426ae6a67ac1b7a701b51f3df/19.03/git/Dockerfile) +- [`20.10.6`, `20.10`, `20`, `latest`](https://github.com/docker-library/docker/blob/f6a0c427f0354dcf5870c430c72c8f1d6b4e6d5e/20.10/Dockerfile) +- [`20.10.6-dind`, `20.10-dind`, `20-dind`, `dind`](https://github.com/docker-library/docker/blob/094faa88f437cafef7aeb0cc36e75b59046cc4b9/20.10/dind/Dockerfile) +- [`20.10.6-dind-rootless`, `20.10-dind-rootless`, `20-dind-rootless`, `dind-rootless`](https://github.com/docker-library/docker/blob/f6a0c427f0354dcf5870c430c72c8f1d6b4e6d5e/20.10/dind-rootless/Dockerfile) +- [`20.10.6-git`, `20.10-git`, `20-git`, `git`](https://github.com/docker-library/docker/blob/387e351394bfad74bceebf8303c6c8e39c3d4ed4/20.10/git/Dockerfile) +- [`19.03.15`, `19.03`, `19`](https://github.com/docker-library/docker/blob/835c371c516ebdf67adc0c76bbfb38bf9d3e586c/19.03/Dockerfile) +- [`19.03.15-dind`, `19.03-dind`, `19-dind`](https://github.com/docker-library/docker/blob/b1d2628005e12e79079c025c3653cba248d6f264/19.03/dind/Dockerfile) +- [`19.03.15-dind-rootless`, `19.03-dind-rootless`, `19-dind-rootless`](https://github.com/docker-library/docker/blob/835c371c516ebdf67adc0c76bbfb38bf9d3e586c/19.03/dind-rootless/Dockerfile) +- [`19.03.15-git`, `19.03-git`, `19-git`](https://github.com/docker-library/docker/blob/12d1c2763b54d29137ec448a3e4ad1a9aefae1a0/19.03/git/Dockerfile) # Quick reference (cont.) @@ -42,7 +46,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/docker`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fdocker) + [official-images repo's `library/docker` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdocker) [official-images repo's `library/docker` file](https://github.com/docker-library/official-images/blob/master/library/docker) ([history](https://github.com/docker-library/official-images/commits/master/library/docker)) - **Source of this description**: @@ -64,7 +68,7 @@ If you are still convinced that you need Docker-in-Docker and not just access to # How to use this image -[![asciicast](https://asciinema.org/a/24707.png)](https://asciinema.org/a/24707) +[![asciicast](https://asciinema.org/a/378669.svg)](https://asciinema.org/a/378669) ## TLS @@ -238,10 +242,42 @@ $ docker run --privileged --name some-docker -d \ docker:dind --storage-driver overlay2 ``` +## Runtime Settings Considerations + +Inspired by the [official systemd `docker.service` configuration](https://github.com/docker/docker-ce-packaging/blob/57ae892b13de399171fc33f878b70e72855747e6/systemd/docker.service#L30-L45), you may want to consider different values for the following runtime configuration options, especially for production Docker instances: + +```console +$ docker run --privileged --name some-docker -d \ + ... \ + --ulimit nofile=-1 \ + --ulimit nproc=-1 \ + --ulimit core=-1 \ + --pids-limit -1 \ + --oom-score-adj -500 \ + docker:dind +``` + +Some of these will not be supported based on the settings on the host's `dockerd`, such as `--ulimit nofile=-1`, giving errors that look like `error setting rlimit type 7: operation not permitted`, and some may inherit sane values from the host `dockerd` instance or may not apply for your usage of Docker-in-Docker (for example, you likely want to set `--oom-score-adj` to a value that's higher than `dockerd` on the host so that your Docker-in-Docker instance is killed before the host Docker instance is). + ## Rootless For more information about using the experimental "rootless" image variants, see [docker-library/docker#174](https://github.com/docker-library/docker/pull/174). +**Note:** just like the regular `dind` images, `--privileged` is required for Docker-in-Docker to function properly ([docker-library/docker#151](https://github.com/docker-library/docker/issues/151#issuecomment-483185972) & [docker-library/docker#281](https://github.com/docker-library/docker/issues/281#issuecomment-744766015)). For `19.03.x` rootless images, an argument of `--experimental` is required for `dockerd` ([docker/docker#40759](https://github.com/docker/docker/pull/40759)). + +Basic example usage: + +```console +$ docker run -d --name some-docker --privileged docker:dind-rootless +$ docker logs --tail=3 some-docker # to verify the daemon has finished generating TLS certificates and is listening successfully +time="xxx" level=info msg="Daemon has completed initialization" +time="xxx" level=info msg="API listen on /run/user/1000/docker.sock" +time="xxx" level=info msg="API listen on [::]:2376" +$ docker exec -it some-docker docker-entrypoint.sh sh # using "docker-entrypoint.sh" which auto-sets "DOCKER_HOST" appropriately +/ $ docker info --format '{{ json .SecurityOptions }}' +["name=seccomp,profile=default","name=rootless"] +``` + ## Where to Store Data Important note: There are several ways to store data used by applications that run in Docker containers. We encourage users of the `docker` images to familiarize themselves with the options available, including: diff --git a/docker/content.md b/docker/content.md index 05269f95e5ea..8236370bc637 100644 --- a/docker/content.md +++ b/docker/content.md @@ -14,7 +14,7 @@ If you are still convinced that you need Docker-in-Docker and not just access to # How to use this image -[![asciicast](https://asciinema.org/a/24707.png)](https://asciinema.org/a/24707) +[![asciicast](https://asciinema.org/a/378669.svg)](https://asciinema.org/a/378669) ## TLS @@ -188,10 +188,42 @@ $ docker run --privileged --name some-docker -d \ %%IMAGE%%:dind --storage-driver overlay2 ``` +## Runtime Settings Considerations + +Inspired by the [official systemd `docker.service` configuration](https://github.com/docker/docker-ce-packaging/blob/57ae892b13de399171fc33f878b70e72855747e6/systemd/docker.service#L30-L45), you may want to consider different values for the following runtime configuration options, especially for production Docker instances: + +```console +$ docker run --privileged --name some-docker -d \ + ... \ + --ulimit nofile=-1 \ + --ulimit nproc=-1 \ + --ulimit core=-1 \ + --pids-limit -1 \ + --oom-score-adj -500 \ + %%IMAGE%%:dind +``` + +Some of these will not be supported based on the settings on the host's `dockerd`, such as `--ulimit nofile=-1`, giving errors that look like `error setting rlimit type 7: operation not permitted`, and some may inherit sane values from the host `dockerd` instance or may not apply for your usage of Docker-in-Docker (for example, you likely want to set `--oom-score-adj` to a value that's higher than `dockerd` on the host so that your Docker-in-Docker instance is killed before the host Docker instance is). + ## Rootless For more information about using the experimental "rootless" image variants, see [docker-library/docker#174](https://github.com/docker-library/docker/pull/174). +**Note:** just like the regular `dind` images, `--privileged` is required for Docker-in-Docker to function properly ([docker-library/docker#151](https://github.com/docker-library/docker/issues/151#issuecomment-483185972) & [docker-library/docker#281](https://github.com/docker-library/docker/issues/281#issuecomment-744766015)). For `19.03.x` rootless images, an argument of `--experimental` is required for `dockerd` ([docker/docker#40759](https://github.com/docker/docker/pull/40759)). + +Basic example usage: + +```console +$ docker run -d --name some-docker --privileged docker:dind-rootless +$ docker logs --tail=3 some-docker # to verify the daemon has finished generating TLS certificates and is listening successfully +time="xxx" level=info msg="Daemon has completed initialization" +time="xxx" level=info msg="API listen on /run/user/1000/docker.sock" +time="xxx" level=info msg="API listen on [::]:2376" +$ docker exec -it some-docker docker-entrypoint.sh sh # using "docker-entrypoint.sh" which auto-sets "DOCKER_HOST" appropriately +/ $ docker info --format '{{ json .SecurityOptions }}' +["name=seccomp,profile=default","name=rootless"] +``` + ## Where to Store Data Important note: There are several ways to store data used by applications that run in Docker containers. We encourage users of the `%%REPO%%` images to familiarize themselves with the options available, including: diff --git a/drupal/README.md b/drupal/README.md index 4263cd897321..a1bad745313c 100644 --- a/drupal/README.md +++ b/drupal/README.md @@ -20,19 +20,25 @@ WARNING: [the Docker Community](https://github.com/docker-library/drupal) (*not* the Drupal Community or the Drupal Security Team) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8.8.6-apache`, `8.8-apache`, `8-apache`, `apache`, `8.8.6`, `8.8`, `8`, `latest`](https://github.com/docker-library/drupal/blob/6b0f9aae2811ecf6d0a65cea3a42c8f7d7087b05/8.8/apache/Dockerfile) -- [`8.8.6-fpm`, `8.8-fpm`, `8-fpm`, `fpm`](https://github.com/docker-library/drupal/blob/6b0f9aae2811ecf6d0a65cea3a42c8f7d7087b05/8.8/fpm/Dockerfile) -- [`8.8.6-fpm-alpine`, `8.8-fpm-alpine`, `8-fpm-alpine`, `fpm-alpine`](https://github.com/docker-library/drupal/blob/6b0f9aae2811ecf6d0a65cea3a42c8f7d7087b05/8.8/fpm-alpine/Dockerfile) -- [`8.7.14-apache`, `8.7-apache`, `8.7.14`, `8.7`](https://github.com/docker-library/drupal/blob/a238069a74de3039f8effb25f59224fbeaf93646/8.7/apache/Dockerfile) -- [`8.7.14-fpm`, `8.7-fpm`](https://github.com/docker-library/drupal/blob/a238069a74de3039f8effb25f59224fbeaf93646/8.7/fpm/Dockerfile) -- [`8.7.14-fpm-alpine`, `8.7-fpm-alpine`](https://github.com/docker-library/drupal/blob/a238069a74de3039f8effb25f59224fbeaf93646/8.7/fpm-alpine/Dockerfile) -- [`7.70-apache`, `7-apache`, `7.70`, `7`](https://github.com/docker-library/drupal/blob/f4aeae69c752b0cfcbc038f0f2e3316291937968/7/apache/Dockerfile) -- [`7.70-fpm`, `7-fpm`](https://github.com/docker-library/drupal/blob/f4aeae69c752b0cfcbc038f0f2e3316291937968/7/fpm/Dockerfile) -- [`7.70-fpm-alpine`, `7-fpm-alpine`](https://github.com/docker-library/drupal/blob/f4aeae69c752b0cfcbc038f0f2e3316291937968/7/fpm-alpine/Dockerfile) +- [`9.1.7-php8.0-apache-buster`, `9.1-php8.0-apache-buster`, `9-php8.0-apache-buster`, `php8.0-apache-buster`, `9.1.7-php8.0-apache`, `9.1-php8.0-apache`, `9-php8.0-apache`, `php8.0-apache`, `9.1.7-apache-buster`, `9.1-apache-buster`, `9-apache-buster`, `apache-buster`, `9.1.7-apache`, `9.1-apache`, `9-apache`, `apache`, `9.1.7`, `9.1`, `9`, `latest`, `9.1.7-php8.0`, `9.1-php8.0`, `9-php8.0`, `php8.0`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php8.0/apache-buster/Dockerfile) +- [`9.1.7-php8.0-fpm-buster`, `9.1-php8.0-fpm-buster`, `9-php8.0-fpm-buster`, `php8.0-fpm-buster`, `9.1.7-php8.0-fpm`, `9.1-php8.0-fpm`, `9-php8.0-fpm`, `php8.0-fpm`, `9.1.7-fpm-buster`, `9.1-fpm-buster`, `9-fpm-buster`, `fpm-buster`, `9.1.7-fpm`, `9.1-fpm`, `9-fpm`, `fpm`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php8.0/fpm-buster/Dockerfile) +- [`9.1.7-php8.0-fpm-alpine3.12`, `9.1-php8.0-fpm-alpine3.12`, `9-php8.0-fpm-alpine3.12`, `php8.0-fpm-alpine3.12`, `9.1.7-php8.0-fpm-alpine`, `9.1-php8.0-fpm-alpine`, `9-php8.0-fpm-alpine`, `php8.0-fpm-alpine`, `9.1.7-fpm-alpine3.12`, `9.1-fpm-alpine3.12`, `9-fpm-alpine3.12`, `fpm-alpine3.12`, `9.1.7-fpm-alpine`, `9.1-fpm-alpine`, `9-fpm-alpine`, `fpm-alpine`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php8.0/fpm-alpine3.12/Dockerfile) +- [`9.1.7-php7.4-apache-buster`, `9.1-php7.4-apache-buster`, `9-php7.4-apache-buster`, `php7.4-apache-buster`, `9.1.7-php7.4-apache`, `9.1-php7.4-apache`, `9-php7.4-apache`, `php7.4-apache`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php7.4/apache-buster/Dockerfile) +- [`9.1.7-php7.4-fpm-buster`, `9.1-php7.4-fpm-buster`, `9-php7.4-fpm-buster`, `php7.4-fpm-buster`, `9.1.7-php7.4-fpm`, `9.1-php7.4-fpm`, `9-php7.4-fpm`, `php7.4-fpm`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php7.4/fpm-buster/Dockerfile) +- [`9.1.7-php7.4-fpm-alpine3.12`, `9.1-php7.4-fpm-alpine3.12`, `9-php7.4-fpm-alpine3.12`, `php7.4-fpm-alpine3.12`, `9.1.7-php7.4-fpm-alpine`, `9.1-php7.4-fpm-alpine`, `9-php7.4-fpm-alpine`, `php7.4-fpm-alpine`](https://github.com/docker-library/drupal/blob/680831527ba3ff1aa7376331a1a427060ef852de/9.1/php7.4/fpm-alpine3.12/Dockerfile) +- [`9.0.12-php7.4-apache-buster`, `9.0-php7.4-apache-buster`, `9.0.12-php7.4-apache`, `9.0-php7.4-apache`, `9.0.12-apache-buster`, `9.0-apache-buster`, `9.0.12-apache`, `9.0-apache`, `9.0.12`, `9.0`, `9.0.12-php7.4`, `9.0-php7.4`](https://github.com/docker-library/drupal/blob/d750be00b2663b182a046eab99b8bedee8b5bad4/9.0/php7.4/apache-buster/Dockerfile) +- [`9.0.12-php7.4-fpm-buster`, `9.0-php7.4-fpm-buster`, `9.0.12-php7.4-fpm`, `9.0-php7.4-fpm`, `9.0.12-fpm-buster`, `9.0-fpm-buster`, `9.0.12-fpm`, `9.0-fpm`](https://github.com/docker-library/drupal/blob/d750be00b2663b182a046eab99b8bedee8b5bad4/9.0/php7.4/fpm-buster/Dockerfile) +- [`9.0.12-php7.4-fpm-alpine3.12`, `9.0-php7.4-fpm-alpine3.12`, `9.0.12-php7.4-fpm-alpine`, `9.0-php7.4-fpm-alpine`, `9.0.12-fpm-alpine3.12`, `9.0-fpm-alpine3.12`, `9.0.12-fpm-alpine`, `9.0-fpm-alpine`](https://github.com/docker-library/drupal/blob/d750be00b2663b182a046eab99b8bedee8b5bad4/9.0/php7.4/fpm-alpine3.12/Dockerfile) +- [`8.9.14-php7.4-apache-buster`, `8.9-php7.4-apache-buster`, `8-php7.4-apache-buster`, `8.9.14-php7.4-apache`, `8.9-php7.4-apache`, `8-php7.4-apache`, `8.9.14-apache-buster`, `8.9-apache-buster`, `8-apache-buster`, `8.9.14-apache`, `8.9-apache`, `8-apache`, `8.9.14`, `8.9`, `8`, `8.9.14-php7.4`, `8.9-php7.4`, `8-php7.4`](https://github.com/docker-library/drupal/blob/d01381e2db61932cab9f6d03339579b21ce278e3/8.9/php7.4/apache-buster/Dockerfile) +- [`8.9.14-php7.4-fpm-buster`, `8.9-php7.4-fpm-buster`, `8-php7.4-fpm-buster`, `8.9.14-php7.4-fpm`, `8.9-php7.4-fpm`, `8-php7.4-fpm`, `8.9.14-fpm-buster`, `8.9-fpm-buster`, `8-fpm-buster`, `8.9.14-fpm`, `8.9-fpm`, `8-fpm`](https://github.com/docker-library/drupal/blob/d01381e2db61932cab9f6d03339579b21ce278e3/8.9/php7.4/fpm-buster/Dockerfile) +- [`8.9.14-php7.4-fpm-alpine3.12`, `8.9-php7.4-fpm-alpine3.12`, `8-php7.4-fpm-alpine3.12`, `8.9.14-php7.4-fpm-alpine`, `8.9-php7.4-fpm-alpine`, `8-php7.4-fpm-alpine`, `8.9.14-fpm-alpine3.12`, `8.9-fpm-alpine3.12`, `8-fpm-alpine3.12`, `8.9.14-fpm-alpine`, `8.9-fpm-alpine`, `8-fpm-alpine`](https://github.com/docker-library/drupal/blob/d01381e2db61932cab9f6d03339579b21ce278e3/8.9/php7.4/fpm-alpine3.12/Dockerfile) +- [`7.80-php7.4-apache-buster`, `7-php7.4-apache-buster`, `7.80-php7.4-apache`, `7-php7.4-apache`, `7.80-apache-buster`, `7-apache-buster`, `7.80-apache`, `7-apache`, `7.80`, `7`, `7.80-php7.4`, `7-php7.4`](https://github.com/docker-library/drupal/blob/b453189a044128ca01caab4d1e0b73c0505fdc7a/7/php7.4/apache-buster/Dockerfile) +- [`7.80-php7.4-fpm-buster`, `7-php7.4-fpm-buster`, `7.80-php7.4-fpm`, `7-php7.4-fpm`, `7.80-fpm-buster`, `7-fpm-buster`, `7.80-fpm`, `7-fpm`](https://github.com/docker-library/drupal/blob/b453189a044128ca01caab4d1e0b73c0505fdc7a/7/php7.4/fpm-buster/Dockerfile) +- [`7.80-php7.4-fpm-alpine3.12`, `7-php7.4-fpm-alpine3.12`, `7.80-php7.4-fpm-alpine`, `7-php7.4-fpm-alpine`, `7.80-fpm-alpine3.12`, `7-fpm-alpine3.12`, `7.80-fpm-alpine`, `7-fpm-alpine`](https://github.com/docker-library/drupal/blob/b453189a044128ca01caab4d1e0b73c0505fdc7a/7/php7.4/fpm-alpine3.12/Dockerfile) # Quick reference (cont.) @@ -47,7 +53,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/drupal`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fdrupal) + [official-images repo's `library/drupal` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdrupal) [official-images repo's `library/drupal` file](https://github.com/docker-library/official-images/blob/master/library/drupal) ([history](https://github.com/docker-library/official-images/commits/master/library/drupal)) - **Source of this description**: @@ -221,13 +227,21 @@ The `drupal` images come in many flavors, each designed for a specific use case. This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -## `drupal:-alpine` +Some of these tags may have names like buster in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +## `drupal:-fpm` -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant contains PHP-FPM, which is a FastCGI implementation for PHP. See [the PHP-FPM website](https://php-fpm.org/) for more information about PHP-FPM. -To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +In order to use this image variant, some kind of reverse proxy (such as NGINX, Apache, or other tool which speaks the FastCGI protocol) will be required. + +Some potentially helpful resources: + +- [PHP-FPM.org](https://php-fpm.org/) +- [simplified example by @md5](https://gist.github.com/md5/d9206eacb5a0ff5d6be0) +- [very detailed article by Pascal Landau](https://www.pascallandau.com/blog/php-php-fpm-and-nginx-on-docker-in-windows-10/) +- [Stack Overflow discussion](https://stackoverflow.com/q/29905953/433558) +- [Apache httpd Wiki example](https://wiki.apache.org/httpd/PHPFPMWordpress) # License diff --git a/drupal/variant-fpm.md b/drupal/variant-fpm.md new file mode 120000 index 000000000000..5ed64ee63493 --- /dev/null +++ b/drupal/variant-fpm.md @@ -0,0 +1 @@ +../php/variant-fpm.md \ No newline at end of file diff --git a/eclipse-mosquitto/README.md b/eclipse-mosquitto/README.md index 1907e21d4787..b7e6fb3f5777 100644 --- a/eclipse-mosquitto/README.md +++ b/eclipse-mosquitto/README.md @@ -20,12 +20,15 @@ WARNING: [the Eclipse Foundation](https://github.com/eclipse/mosquitto) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.6.9`, `1.6`, `latest`](https://github.com/eclipse/mosquitto/blob/68c1e51035467ade10533c7bb88aa9765241c104/docker/1.6/Dockerfile) -- [`1.5.9`, `1.5`](https://github.com/eclipse/mosquitto/blob/68c1e51035467ade10533c7bb88aa9765241c104/docker/1.5/Dockerfile) +- [`2.0.10`, `2.0`, `2`, `latest`](https://github.com/eclipse/mosquitto/blob/1c79920d78321c69add9d6d6f879dd73387bc25e/docker/2.0/Dockerfile) +- [`2.0.10-openssl`, `2.0-openssl`, `2-openssl`, `openssl`](https://github.com/eclipse/mosquitto/blob/1c79920d78321c69add9d6d6f879dd73387bc25e/docker/2.0-openssl/Dockerfile) +- [`1.6.14`, `1.6`](https://github.com/eclipse/mosquitto/blob/1c79920d78321c69add9d6d6f879dd73387bc25e/docker/1.6/Dockerfile) +- [`1.6.14-openssl`, `1.6-openssl`](https://github.com/eclipse/mosquitto/blob/1c79920d78321c69add9d6d6f879dd73387bc25e/docker/1.6-openssl/Dockerfile) +- [`1.5.11`, `1.5`](https://github.com/eclipse/mosquitto/blob/1c79920d78321c69add9d6d6f879dd73387bc25e/docker/1.5/Dockerfile) # Quick reference (cont.) @@ -40,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/eclipse-mosquitto`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Feclipse-mosquitto) + [official-images repo's `library/eclipse-mosquitto` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Feclipse-mosquitto) [official-images repo's `library/eclipse-mosquitto` file](https://github.com/docker-library/official-images/blob/master/library/eclipse-mosquitto) ([history](https://github.com/docker-library/official-images/commits/master/library/eclipse-mosquitto)) - **Source of this description**: diff --git a/eggdrop/README.md b/eggdrop/README.md index 3c61a187b585..633fe274c445 100644 --- a/eggdrop/README.md +++ b/eggdrop/README.md @@ -20,12 +20,13 @@ WARNING: [Eggheads (the Eggdrop community)](https://github.com/eggheads/eggdrop-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`develop`](https://github.com/eggheads/eggdrop-docker/blob/14411e45f599536a86d9f023c0fa09f3dd2f5454/develop/Dockerfile) -- [`1.8`, `1.8.4`, `stable`, `latest`](https://github.com/eggheads/eggdrop-docker/blob/14411e45f599536a86d9f023c0fa09f3dd2f5454/1.8/Dockerfile) +- [`develop`](https://github.com/eggheads/eggdrop-docker/blob/f65a97bc6d85e74d1094f1d75c7979aec53cb4fa/develop/Dockerfile) +- [`1.8`, `1.8.4`](https://github.com/eggheads/eggdrop-docker/blob/14411e45f599536a86d9f023c0fa09f3dd2f5454/1.8/Dockerfile) +- [`1.9`, `1.9.0`, `stable`, `latest`](https://github.com/eggheads/eggdrop-docker/blob/f65a97bc6d85e74d1094f1d75c7979aec53cb4fa/1.9/Dockerfile) # Quick reference (cont.) @@ -40,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/eggdrop`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Feggdrop) + [official-images repo's `library/eggdrop` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Feggdrop) [official-images repo's `library/eggdrop` file](https://github.com/docker-library/official-images/blob/master/library/eggdrop) ([history](https://github.com/docker-library/official-images/commits/master/library/eggdrop)) - **Source of this description**: diff --git a/elasticsearch/README.md b/elasticsearch/README.md index a4ac3114051c..ac61c0665f1c 100644 --- a/elasticsearch/README.md +++ b/elasticsearch/README.md @@ -24,8 +24,8 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`7.7.0`](https://github.com/docker-library/elasticsearch/blob/9a07fe301328cb6dfc6cc6aeed784bdc51c31eca/7/Dockerfile) -- [`6.8.9`](https://github.com/docker-library/elasticsearch/blob/9a07fe301328cb6dfc6cc6aeed784bdc51c31eca/6/Dockerfile) +- [`7.12.0`](https://github.com/docker-library/elasticsearch/blob/7a4ec49b0bee1e610e79076c5941b9376acba764/7/Dockerfile) +- [`6.8.15`](https://github.com/docker-library/elasticsearch/blob/e1bc20d3147ba582bfaaf3e289ca1070797736f6/6/Dockerfile) # Quick reference (cont.) @@ -33,14 +33,14 @@ WARNING: For issues with Elasticsearch Docker Image or Elasticsearch: https://github.com/elastic/elasticsearch/issues - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/elasticsearch/) + [`amd64`](https://hub.docker.com/r/amd64/elasticsearch/), [`arm64v8`](https://hub.docker.com/r/arm64v8/elasticsearch/) - **Published image artifact details**: [repo-info repo's `repos/elasticsearch/` directory](https://github.com/docker-library/repo-info/blob/master/repos/elasticsearch) ([history](https://github.com/docker-library/repo-info/commits/master/repos/elasticsearch)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/elasticsearch`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Felasticsearch) + [official-images repo's `library/elasticsearch` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Felasticsearch) [official-images repo's `library/elasticsearch` file](https://github.com/docker-library/official-images/blob/master/library/elasticsearch) ([history](https://github.com/docker-library/official-images/commits/master/library/elasticsearch)) - **Source of this description**: @@ -92,7 +92,7 @@ See [Install Elasticsearch with Docker](https://www.elastic.co/guide/en/elastics # License -View [license information](https://github.com/elastic/elasticsearch/blob/6.4/licenses/ELASTIC-LICENSE.txt) for the software contained in this image. +View [license information](https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE-2.0.txt) for the software contained in this image. As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/elasticsearch/license.md b/elasticsearch/license.md index 7f2d2887af8c..7582667b8260 100644 --- a/elasticsearch/license.md +++ b/elasticsearch/license.md @@ -1 +1 @@ -View [license information](https://github.com/elastic/elasticsearch/blob/6.4/licenses/ELASTIC-LICENSE.txt) for the software contained in this image. +View [license information](https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE-2.0.txt) for the software contained in this image. diff --git a/elixir/README.md b/elixir/README.md index c29297a68726..ea8a7ef65bcf 100644 --- a/elixir/README.md +++ b/elixir/README.md @@ -20,34 +20,35 @@ WARNING: [the Docker Community](https://github.com/c0b/docker-elixir), [with Elixir's support](https://github.com/docker-library/official-images/pull/1398#issuecomment-180484549) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.10.3`, `1.10`, `latest`](https://github.com/c0b/docker-elixir/blob/fcf3a05b730e55b805b85aa571048e72dc82fe1e/1.10/Dockerfile) -- [`1.10.3-slim`, `1.10-slim`, `slim`](https://github.com/c0b/docker-elixir/blob/fcf3a05b730e55b805b85aa571048e72dc82fe1e/1.10/slim/Dockerfile) -- [`1.10.3-alpine`, `1.10-alpine`, `alpine`](https://github.com/c0b/docker-elixir/blob/fcf3a05b730e55b805b85aa571048e72dc82fe1e/1.10/alpine/Dockerfile) -- [`1.9.4`, `1.9`](https://github.com/c0b/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/Dockerfile) -- [`1.9.4-slim`, `1.9-slim`](https://github.com/c0b/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/slim/Dockerfile) -- [`1.9.4-alpine`, `1.9-alpine`](https://github.com/c0b/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/alpine/Dockerfile) -- [`1.8.2`, `1.8`](https://github.com/c0b/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/Dockerfile) -- [`1.8.2-slim`, `1.8-slim`](https://github.com/c0b/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/slim/Dockerfile) -- [`1.8.2-alpine`, `1.8-alpine`](https://github.com/c0b/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/alpine/Dockerfile) -- [`1.8.2-otp-22`, `1.8-otp-22`](https://github.com/c0b/docker-elixir/blob/6dc5ffd3b4c2915096887b45ba8e71d391ce2398/1.8/otp-22/Dockerfile) -- [`1.8.2-otp-22-alpine`, `1.8-otp-22-alpine`](https://github.com/c0b/docker-elixir/blob/6dc5ffd3b4c2915096887b45ba8e71d391ce2398/1.8/otp-22-alpine/Dockerfile) -- [`1.7.4`, `1.7`](https://github.com/c0b/docker-elixir/blob/2b7dd2845d27a6dad57bf0047b305375d6182402/1.7/Dockerfile) -- [`1.7.4-slim`, `1.7-slim`](https://github.com/c0b/docker-elixir/blob/7c1f05ca3fd47bdc86cab3f0310068646a31dcac/1.7/slim/Dockerfile) -- [`1.7.4-alpine`, `1.7-alpine`](https://github.com/c0b/docker-elixir/blob/2b7dd2845d27a6dad57bf0047b305375d6182402/1.7/alpine/Dockerfile) -- [`1.6.6`, `1.6`](https://github.com/c0b/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/Dockerfile) -- [`1.6.6-slim`, `1.6-slim`](https://github.com/c0b/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/slim/Dockerfile) -- [`1.6.6-alpine`, `1.6-alpine`](https://github.com/c0b/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/alpine/Dockerfile) -- [`1.6.6-otp-21`, `1.6-otp-21`](https://github.com/c0b/docker-elixir/blob/b57a72d04ddd1f1b4e2e3f5b70e44e37def4db31/1.6/otp-21/Dockerfile) -- [`1.6.6-otp-21-alpine`, `1.6-otp-21-alpine`](https://github.com/c0b/docker-elixir/blob/084efbdda747411b3a41c231deaff03c437e5aad/1.6/otp-21-alpine/Dockerfile) -- [`1.5.3`, `1.5`](https://github.com/c0b/docker-elixir/blob/f2528c0158d465f96f311faa19aff3cffb4e7f25/1.5/Dockerfile) -- [`1.5.3-slim`, `1.5-slim`](https://github.com/c0b/docker-elixir/blob/f2528c0158d465f96f311faa19aff3cffb4e7f25/1.5/slim/Dockerfile) -- [`1.5.3-alpine`, `1.5-alpine`](https://github.com/c0b/docker-elixir/blob/f2528c0158d465f96f311faa19aff3cffb4e7f25/1.5/alpine/Dockerfile) -- [`1.4.5`, `1.4`](https://github.com/c0b/docker-elixir/blob/8f1888ae05506b9ad12e1b97f084a15e7588f442/1.4/Dockerfile) -- [`1.4.5-slim`, `1.4-slim`](https://github.com/c0b/docker-elixir/blob/8f1888ae05506b9ad12e1b97f084a15e7588f442/1.4/slim/Dockerfile) +- [`1.12.0-rc.1`, `1.12.0-rc`, `1.12`](https://github.com/erlef/docker-elixir/blob/33fd7ec657db1995822f5c36fc3a33daf4028b41/1.12/Dockerfile) +- [`1.12.0-rc.1-slim`, `1.12.0-rc-slim`, `1.12-slim`](https://github.com/erlef/docker-elixir/blob/33fd7ec657db1995822f5c36fc3a33daf4028b41/1.12/slim/Dockerfile) +- [`1.12.0-rc.1-alpine`, `1.12.0-rc-alpine`, `1.12-alpine`](https://github.com/erlef/docker-elixir/blob/33fd7ec657db1995822f5c36fc3a33daf4028b41/1.12/alpine/Dockerfile) +- [`1.11.4`, `1.11`, `latest`](https://github.com/erlef/docker-elixir/blob/045351a425a16578309053fa8f729f046fcd616f/1.11/Dockerfile) +- [`1.11.4-slim`, `1.11-slim`, `slim`](https://github.com/erlef/docker-elixir/blob/045351a425a16578309053fa8f729f046fcd616f/1.11/slim/Dockerfile) +- [`1.11.4-alpine`, `1.11-alpine`, `alpine`](https://github.com/erlef/docker-elixir/blob/045351a425a16578309053fa8f729f046fcd616f/1.11/alpine/Dockerfile) +- [`1.10.4`, `1.10`](https://github.com/erlef/docker-elixir/blob/a8d582c328db5864a4e8e5f869900e3a52265f38/1.10/Dockerfile) +- [`1.10.4-slim`, `1.10-slim`](https://github.com/erlef/docker-elixir/blob/a8d582c328db5864a4e8e5f869900e3a52265f38/1.10/slim/Dockerfile) +- [`1.10.4-alpine`, `1.10-alpine`](https://github.com/erlef/docker-elixir/blob/a8d582c328db5864a4e8e5f869900e3a52265f38/1.10/alpine/Dockerfile) +- [`1.9.4`, `1.9`](https://github.com/erlef/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/Dockerfile) +- [`1.9.4-slim`, `1.9-slim`](https://github.com/erlef/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/slim/Dockerfile) +- [`1.9.4-alpine`, `1.9-alpine`](https://github.com/erlef/docker-elixir/blob/0d9f47458468a8bf1407374731cbec077ab6f895/1.9/alpine/Dockerfile) +- [`1.8.2`, `1.8`](https://github.com/erlef/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/Dockerfile) +- [`1.8.2-slim`, `1.8-slim`](https://github.com/erlef/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/slim/Dockerfile) +- [`1.8.2-alpine`, `1.8-alpine`](https://github.com/erlef/docker-elixir/blob/4122b4840bd762d1434424e1ec693929b0198c98/1.8/alpine/Dockerfile) +- [`1.8.2-otp-22`, `1.8-otp-22`](https://github.com/erlef/docker-elixir/blob/6dc5ffd3b4c2915096887b45ba8e71d391ce2398/1.8/otp-22/Dockerfile) +- [`1.8.2-otp-22-alpine`, `1.8-otp-22-alpine`](https://github.com/erlef/docker-elixir/blob/6dc5ffd3b4c2915096887b45ba8e71d391ce2398/1.8/otp-22-alpine/Dockerfile) +- [`1.7.4`, `1.7`](https://github.com/erlef/docker-elixir/blob/2b7dd2845d27a6dad57bf0047b305375d6182402/1.7/Dockerfile) +- [`1.7.4-slim`, `1.7-slim`](https://github.com/erlef/docker-elixir/blob/7c1f05ca3fd47bdc86cab3f0310068646a31dcac/1.7/slim/Dockerfile) +- [`1.7.4-alpine`, `1.7-alpine`](https://github.com/erlef/docker-elixir/blob/2b7dd2845d27a6dad57bf0047b305375d6182402/1.7/alpine/Dockerfile) +- [`1.6.6`, `1.6`](https://github.com/erlef/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/Dockerfile) +- [`1.6.6-slim`, `1.6-slim`](https://github.com/erlef/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/slim/Dockerfile) +- [`1.6.6-alpine`, `1.6-alpine`](https://github.com/erlef/docker-elixir/blob/0936291249c7e11d4618a17a2b452045c9e6233a/1.6/alpine/Dockerfile) +- [`1.6.6-otp-21`, `1.6-otp-21`](https://github.com/erlef/docker-elixir/blob/b57a72d04ddd1f1b4e2e3f5b70e44e37def4db31/1.6/otp-21/Dockerfile) +- [`1.6.6-otp-21-alpine`, `1.6-otp-21-alpine`](https://github.com/erlef/docker-elixir/blob/373b3a8017bd774b7d193818a326de0fde7f6733/1.6/otp-21-alpine/Dockerfile) # Quick reference (cont.) @@ -62,7 +63,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/elixir`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Felixir) + [official-images repo's `library/elixir` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Felixir) [official-images repo's `library/elixir` file](https://github.com/docker-library/official-images/blob/master/library/elixir) ([history](https://github.com/docker-library/official-images/commits/master/library/elixir)) - **Source of this description**: @@ -121,9 +122,9 @@ This image does not contain the common packages contained in the default tag and ## `elixir:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/erlang/README.md b/erlang/README.md index a940c470aa6a..fa6febadbfa4 100644 --- a/erlang/README.md +++ b/erlang/README.md @@ -20,23 +20,26 @@ WARNING: [the Docker Community](https://github.com/erlang/docker-erlang-otp) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`23.0.1`, `23.0`, `23`, `latest`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/23/Dockerfile) -- [`23.0.1-slim`, `23.0-slim`, `23-slim`, `slim`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/23/slim/Dockerfile) -- [`23.0.1-alpine`, `23.0-alpine`, `23-alpine`, `alpine`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/23/alpine/Dockerfile) -- [`22.3.4.1`, `22.3.4`, `22.3`, `22`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/22/Dockerfile) -- [`22.3.4.1-slim`, `22.3.4-slim`, `22.3-slim`, `22-slim`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/22/slim/Dockerfile) -- [`22.3.4.1-alpine`, `22.3.4-alpine`, `22.3-alpine`, `22-alpine`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/22/alpine/Dockerfile) -- [`21.3.8.16`, `21.3.8`, `21.3`, `21`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/21/Dockerfile) -- [`21.3.8.16-slim`, `21.3.8-slim`, `21.3-slim`, `21-slim`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/21/slim/Dockerfile) -- [`21.3.8.16-alpine`, `21.3.8-alpine`, `21.3-alpine`, `21-alpine`](https://github.com/erlang/docker-erlang-otp/blob/4c6605055beca4454ca1dadf24a6efd34114e1ce/21/alpine/Dockerfile) -- [`20.3.8.26`, `20.3.8`, `20.3`, `20`](https://github.com/erlang/docker-erlang-otp/blob/b06bf8de34e693b3698f3a22e8ff864dc320b380/20/Dockerfile) +- [`24.0-rc3.0.0`, `24.0-rc3.0`, `24.0-rc3`, `24`](https://github.com/erlang/docker-erlang-otp/blob/a696b7a5dbabe787ef1ce59a95713fc4906e0cac/24/Dockerfile) +- [`24.0-rc3.0.0-slim`, `24.0-rc3.0-slim`, `24.0-rc3-slim`, `24-slim`](https://github.com/erlang/docker-erlang-otp/blob/a696b7a5dbabe787ef1ce59a95713fc4906e0cac/24/slim/Dockerfile) +- [`24.0-rc3.0.0-alpine`, `24.0-rc3.0-alpine`, `24.0-rc3-alpine`, `24-alpine`](https://github.com/erlang/docker-erlang-otp/blob/a696b7a5dbabe787ef1ce59a95713fc4906e0cac/24/alpine/Dockerfile) +- [`23.3.1.0`, `23.3.1`, `23.3`, `23`, `latest`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/23/Dockerfile) +- [`23.3.1.0-slim`, `23.3.1-slim`, `23.3-slim`, `23-slim`, `slim`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/23/slim/Dockerfile) +- [`23.3.1.0-alpine`, `23.3.1-alpine`, `23.3-alpine`, `23-alpine`, `alpine`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/23/alpine/Dockerfile) +- [`22.3.4.17`, `22.3.4`, `22.3`, `22`](https://github.com/erlang/docker-erlang-otp/blob/f03f5a6d7dd17896eb3a6167a980898d14daec12/22/Dockerfile) +- [`22.3.4.17-slim`, `22.3.4-slim`, `22.3-slim`, `22-slim`](https://github.com/erlang/docker-erlang-otp/blob/f03f5a6d7dd17896eb3a6167a980898d14daec12/22/slim/Dockerfile) +- [`22.3.4.17-alpine`, `22.3.4-alpine`, `22.3-alpine`, `22-alpine`](https://github.com/erlang/docker-erlang-otp/blob/f03f5a6d7dd17896eb3a6167a980898d14daec12/22/alpine/Dockerfile) +- [`21.3.8.22`, `21.3.8`, `21.3`, `21`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/21/Dockerfile) +- [`21.3.8.22-slim`, `21.3.8-slim`, `21.3-slim`, `21-slim`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/21/slim/Dockerfile) +- [`21.3.8.22-alpine`, `21.3.8-alpine`, `21.3-alpine`, `21-alpine`](https://github.com/erlang/docker-erlang-otp/blob/c9980a3c044a636521478061c33df5b78d07d22b/21/alpine/Dockerfile) +- [`20.3.8.26`, `20.3.8`, `20.3`, `20`](https://github.com/erlang/docker-erlang-otp/blob/29d80b396454961b64fb481fc3b06aeb63919cc3/20/Dockerfile) - [`20.3.8.26-slim`, `20.3.8-slim`, `20.3-slim`, `20-slim`](https://github.com/erlang/docker-erlang-otp/blob/b06bf8de34e693b3698f3a22e8ff864dc320b380/20/slim/Dockerfile) -- [`20.3.8.26-alpine`, `20.3.8-alpine`, `20.3-alpine`, `20-alpine`](https://github.com/erlang/docker-erlang-otp/blob/b06bf8de34e693b3698f3a22e8ff864dc320b380/20/alpine/Dockerfile) -- [`19.3.6.13`, `19.3.6`, `19.3`, `19`](https://github.com/erlang/docker-erlang-otp/blob/e91894d9d9c3651382834b77978a05fa057338fb/19/Dockerfile) +- [`20.3.8.26-alpine`, `20.3.8-alpine`, `20.3-alpine`, `20-alpine`](https://github.com/erlang/docker-erlang-otp/blob/29d80b396454961b64fb481fc3b06aeb63919cc3/20/alpine/Dockerfile) +- [`19.3.6.13`, `19.3.6`, `19.3`, `19`](https://github.com/erlang/docker-erlang-otp/blob/29d80b396454961b64fb481fc3b06aeb63919cc3/19/Dockerfile) - [`19.3.6.13-slim`, `19.3.6-slim`, `19.3-slim`, `19-slim`](https://github.com/erlang/docker-erlang-otp/blob/e91894d9d9c3651382834b77978a05fa057338fb/19/slim/Dockerfile) - [`18.3.4.11`, `18.3.4`, `18.3`, `18`](https://github.com/erlang/docker-erlang-otp/blob/e91894d9d9c3651382834b77978a05fa057338fb/18/Dockerfile) - [`18.3.4.11-slim`, `18.3.4-slim`, `18.3-slim`, `18-slim`](https://github.com/erlang/docker-erlang-otp/blob/e91894d9d9c3651382834b77978a05fa057338fb/18/slim/Dockerfile) @@ -54,7 +57,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/erlang`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ferlang) + [official-images repo's `library/erlang` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ferlang) [official-images repo's `library/erlang` file](https://github.com/docker-library/official-images/blob/master/library/erlang) ([history](https://github.com/docker-library/official-images/commits/master/library/erlang)) - **Source of this description**: @@ -125,9 +128,9 @@ This image does not contain the common packages contained in the default tag and ## `erlang:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/euleros/README.md b/euleros/README.md index 9ee88660fc1c..e2f05c841f1b 100644 --- a/euleros/README.md +++ b/euleros/README.md @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/euleros`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Feuleros) + [official-images repo's `library/euleros` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Feuleros) [official-images repo's `library/euleros` file](https://github.com/docker-library/official-images/blob/master/library/euleros) ([history](https://github.com/docker-library/official-images/commits/master/library/euleros)) - **Source of this description**: diff --git a/express-gateway/README.md b/express-gateway/README.md index 7f6d3c8df6fa..cdcf9146b3b6 100644 --- a/express-gateway/README.md +++ b/express-gateway/README.md @@ -20,7 +20,7 @@ WARNING: [the Express Gateway Team](https://github.com/ExpressGateway/express-gateway) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/express-gateway`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fexpress-gateway) + [official-images repo's `library/express-gateway` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fexpress-gateway) [official-images repo's `library/express-gateway` file](https://github.com/docker-library/official-images/blob/master/library/express-gateway) ([history](https://github.com/docker-library/official-images/commits/master/library/express-gateway)) - **Source of this description**: diff --git a/fedora/README.md b/fedora/README.md index 6b68bd4fdf5e..b42c09201232 100644 --- a/fedora/README.md +++ b/fedora/README.md @@ -20,18 +20,15 @@ WARNING: [Fedora Release Engineering](https://github.com/fedora-cloud/docker-brew-fedora) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`26`](https://github.com/fedora-cloud/docker-brew-fedora/blob/035aa2a3970e4e10a9a6ae0b79322b882bfe50d3/x86_64/Dockerfile) -- [`27`](https://github.com/fedora-cloud/docker-brew-fedora/blob/e1796b2753d5a5731de5915661e4639c4342b950/x86_64/Dockerfile) -- [`28`](https://github.com/fedora-cloud/docker-brew-fedora/blob/aa106da2be30656a7ccb32b96f6788031ce8656f/x86_64/Dockerfile) -- [`29`](https://github.com/fedora-cloud/docker-brew-fedora/blob/4dbc2ccd3b4d52258981eaf12043025054d53023/x86_64/Dockerfile) -- [`30`](https://github.com/fedora-cloud/docker-brew-fedora/blob/ec092e1e4679f955d142b91f85ecd30a4f14a6ed/x86_64/Dockerfile) -- [`latest`, `31`](https://github.com/fedora-cloud/docker-brew-fedora/blob/dfd9c5c8cb3b98de83f697446ad5885df1476d73/x86_64/Dockerfile) -- [`32`](https://github.com/fedora-cloud/docker-brew-fedora/blob/d44f7abdc99edb550771c154ab81ce8f12e11172/x86_64/Dockerfile) -- [`rawhide`, `33`](https://github.com/fedora-cloud/docker-brew-fedora/blob/54c8f0cfa2dcedcd2165fecb101e9e4ba9c2c499/x86_64/Dockerfile) +- [`31`](https://github.com/fedora-cloud/docker-brew-fedora/blob/619a9d98269d556d030648ad486bb2c9f50f1768/x86_64/Dockerfile) +- [`32`](https://github.com/fedora-cloud/docker-brew-fedora/blob/7d59b0538a60562d1756644b02e51451a311ccdc/x86_64/Dockerfile) +- [`latest`, `33`](https://github.com/fedora-cloud/docker-brew-fedora/blob/84e8f980c203961f94e12e85bd2cee8fff08b70f/x86_64/Dockerfile) +- [`34`](https://github.com/fedora-cloud/docker-brew-fedora/blob/fbf3385cf226b655a7e785c238232ea165badca7/x86_64/Dockerfile) +- [`rawhide`, `35`](https://github.com/fedora-cloud/docker-brew-fedora/blob/5af98888c93fe29c5c738df708e9864d47e8e492/x86_64/Dockerfile) # Quick reference (cont.) @@ -46,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/fedora`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ffedora) + [official-images repo's `library/fedora` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ffedora) [official-images repo's `library/fedora` file](https://github.com/docker-library/official-images/blob/master/library/fedora) ([history](https://github.com/docker-library/official-images/commits/master/library/fedora)) - **Source of this description**: diff --git a/flink/README.md b/flink/README.md index 16821f13a56b..19bfeeb14cb1 100644 --- a/flink/README.md +++ b/flink/README.md @@ -17,22 +17,28 @@ WARNING: # Quick reference - **Maintained by**: - [members of the Apache Flink community](https://github.com/docker-flink/docker-flink) + [Apache Flink](https://flink.apache.org/community.html#people) - **Where to get help**: - [Community & Project Info](https://flink.apache.org/community.html) + [Official Apache Flink Mailing lists](https://flink.apache.org/community.html#mailing-lists) and [StackOverflow (tag `apache-flink`)](https://stackoverflow.com/questions/tagged/apache-flink) # Supported tags and respective `Dockerfile` links -- [`1.9.3-scala_2.11`, `1.9-scala_2.11`](https://github.com/apache/flink-docker/blob/379970e8d2a9e138d1291d83b47e7ea643421b3a/1.9/scala_2.11-debian/Dockerfile) -- [`1.9.3-scala_2.12`, `1.9-scala_2.12`, `1.9.3`, `1.9`](https://github.com/apache/flink-docker/blob/379970e8d2a9e138d1291d83b47e7ea643421b3a/1.9/scala_2.12-debian/Dockerfile) -- [`1.10.1-scala_2.11`, `1.10-scala_2.11`, `scala_2.11`](https://github.com/apache/flink-docker/blob/31794825ad02db8b0eb961372c74a309a4504bcd/1.10/scala_2.11-debian/Dockerfile) -- [`1.10.1-scala_2.12`, `1.10-scala_2.12`, `scala_2.12`, `1.10.1`, `1.10`, `latest`](https://github.com/apache/flink-docker/blob/31794825ad02db8b0eb961372c74a309a4504bcd/1.10/scala_2.12-debian/Dockerfile) +- [`1.12.2-scala_2.11-java8`, `1.12-scala_2.11-java8`, `scala_2.11-java8`, `1.12.2-scala_2.11`, `1.12-scala_2.11`, `scala_2.11`](https://github.com/apache/flink-docker/blob/d9f24a0501b5ddd014a38e7262863e19d152086b/1.12/scala_2.11-java8-debian/Dockerfile) +- [`1.12.2-scala_2.11-java11`, `1.12-scala_2.11-java11`, `scala_2.11-java11`](https://github.com/apache/flink-docker/blob/d9f24a0501b5ddd014a38e7262863e19d152086b/1.12/scala_2.11-java11-debian/Dockerfile) +- [`1.12.2-scala_2.12-java8`, `1.12-scala_2.12-java8`, `scala_2.12-java8`, `1.12.2-scala_2.12`, `1.12-scala_2.12`, `scala_2.12`, `1.12.2-java8`, `1.12-java8`, `java8`, `1.12.2`, `1.12`, `latest`](https://github.com/apache/flink-docker/blob/d9f24a0501b5ddd014a38e7262863e19d152086b/1.12/scala_2.12-java8-debian/Dockerfile) +- [`1.12.2-scala_2.12-java11`, `1.12-scala_2.12-java11`, `scala_2.12-java11`, `1.12.2-java11`, `1.12-java11`, `java11`](https://github.com/apache/flink-docker/blob/d9f24a0501b5ddd014a38e7262863e19d152086b/1.12/scala_2.12-java11-debian/Dockerfile) +- [`1.11.3-scala_2.11-java8`, `1.11-scala_2.11-java8`, `1.11.3-scala_2.11`, `1.11-scala_2.11`](https://github.com/apache/flink-docker/blob/7035f03679b11352f2fdecd9f6a9bb0ec8bc2022/1.11/scala_2.11-java8-debian/Dockerfile) +- [`1.11.3-scala_2.11-java11`, `1.11-scala_2.11-java11`](https://github.com/apache/flink-docker/blob/7035f03679b11352f2fdecd9f6a9bb0ec8bc2022/1.11/scala_2.11-java11-debian/Dockerfile) +- [`1.11.3-scala_2.12-java8`, `1.11-scala_2.12-java8`, `1.11.3-scala_2.12`, `1.11-scala_2.12`, `1.11.3-java8`, `1.11-java8`, `1.11.3`, `1.11`](https://github.com/apache/flink-docker/blob/7035f03679b11352f2fdecd9f6a9bb0ec8bc2022/1.11/scala_2.12-java8-debian/Dockerfile) +- [`1.11.3-scala_2.12-java11`, `1.11-scala_2.12-java11`, `1.11.3-java11`, `1.11-java11`](https://github.com/apache/flink-docker/blob/7035f03679b11352f2fdecd9f6a9bb0ec8bc2022/1.11/scala_2.12-java11-debian/Dockerfile) +- [`1.10.3-scala_2.11`, `1.10-scala_2.11`](https://github.com/apache/flink-docker/blob/2a89b61a261f803f8785fd5dd882b7f50ec33fce/1.10/scala_2.11-debian/Dockerfile) +- [`1.10.3-scala_2.12`, `1.10-scala_2.12`, `1.10.3`, `1.10`](https://github.com/apache/flink-docker/blob/2a89b61a261f803f8785fd5dd882b7f50ec33fce/1.10/scala_2.12-debian/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/docker-flink/docker-flink/issues](https://github.com/docker-flink/docker-flink/issues) + https://issues.apache.org/jira/browse/FLINK - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/flink/) @@ -42,7 +48,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/flink`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fflink) + [official-images repo's `library/flink` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fflink) [official-images repo's `library/flink` file](https://github.com/docker-library/official-images/blob/master/library/flink) ([history](https://github.com/docker-library/official-images/commits/master/library/flink)) - **Source of this description**: @@ -50,87 +56,13 @@ WARNING: # What is Apache Flink? -Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. - -Learn more about Flink at [https://flink.apache.org/](https://flink.apache.org/) - -> [wikipedia.org/wiki/Apache_Flink](https://en.wikipedia.org/wiki/Apache_Flink) +[Apache Flink](https://flink.apache.org/) is an open source stream processing framework with powerful stream- and batch-processing capabilities. ![logo](https://raw.githubusercontent.com/docker-library/docs/71398f44551617e3934a86b4b7a3c770ae093b59/flink/logo.png) -# Flink Docker image tags - -Starting with Flink 1.5, images without "hadoop" in the tag are the "Hadoop-free" variant of Flink. If you require Hadoop support (such as its HDFS filesystem implementation), you should reference an image whose tag includes the Hadoop version you need. - -# How to use this Docker image - -## Running a JobManager or a TaskManager - -You can run a JobManager (master). - -```console -$ docker run --name flink_jobmanager -d -t flink jobmanager -``` - -You can also run a TaskManager (worker). Notice that workers need to register with the JobManager directly or via ZooKeeper so the master starts to send them tasks to execute. - -```console -$ docker run --name flink_taskmanager -d -t flink taskmanager -``` - -## Running a cluster using Docker Compose - -With Docker Compose you can create a Flink cluster: - -```yml -version: "2.1" -services: - jobmanager: - image: ${FLINK_DOCKER_IMAGE_NAME:-flink} - expose: - - "6123" - ports: - - "8081:8081" - command: jobmanager - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager - - taskmanager: - image: ${FLINK_DOCKER_IMAGE_NAME:-flink} - expose: - - "6121" - - "6122" - depends_on: - - jobmanager - command: taskmanager - links: - - "jobmanager:jobmanager" - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager -``` - -and just run `docker-compose up`. - -Scale the cluster up or down to *N* TaskManagers: - -```console -docker-compose scale taskmanager= -``` - -## Configuration - -These are the default ports used by the Flink image: - -- The Web Client is on port `8081` -- JobManager RPC port `6123` -- TaskManagers RPC port `6122` -- TaskManagers Data port `6121` - -# About this repository - -This repository is available on [github.com/docker-flink/docker-flink](https://github.com/docker-flink/docker-flink), and the official build is on the [Docker Hub](https://hub.docker.com/_/flink/). +# How to use Apache Flink with Docker? -This repository is maintained by members of the Apache Flink community. +Please refer to the official [Apache Flink documentation](https://ci.apache.org/projects/flink/flink-docs-master/) about [how to use Apache Flink with Docker](https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/docker.html). # License @@ -138,7 +70,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use https://www.apache.org/licenses/LICENSE-2.0 -Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. +Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of [The Apache Software Foundation](https://apache.org/). As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/flink/content.md b/flink/content.md index 8959bd47ac58..5c74bfede002 100644 --- a/flink/content.md +++ b/flink/content.md @@ -1,83 +1,9 @@ # What is Apache Flink? -Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. - -Learn more about Flink at [https://flink.apache.org/](https://flink.apache.org/) - -> [wikipedia.org/wiki/Apache_Flink](https://en.wikipedia.org/wiki/Apache_Flink) +[Apache Flink](https://flink.apache.org/) is an open source stream processing framework with powerful stream- and batch-processing capabilities. %%LOGO%% -# Flink Docker image tags - -Starting with Flink 1.5, images without "hadoop" in the tag are the "Hadoop-free" variant of Flink. If you require Hadoop support (such as its HDFS filesystem implementation), you should reference an image whose tag includes the Hadoop version you need. - -# How to use this Docker image - -## Running a JobManager or a TaskManager - -You can run a JobManager (master). - -```console -$ docker run --name flink_jobmanager -d -t %%IMAGE%% jobmanager -``` - -You can also run a TaskManager (worker). Notice that workers need to register with the JobManager directly or via ZooKeeper so the master starts to send them tasks to execute. - -```console -$ docker run --name flink_taskmanager -d -t %%IMAGE%% taskmanager -``` - -## Running a cluster using Docker Compose - -With Docker Compose you can create a Flink cluster: - -```yml -version: "2.1" -services: - jobmanager: - image: ${FLINK_DOCKER_IMAGE_NAME:-flink} - expose: - - "6123" - ports: - - "8081:8081" - command: jobmanager - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager - - taskmanager: - image: ${FLINK_DOCKER_IMAGE_NAME:-flink} - expose: - - "6121" - - "6122" - depends_on: - - jobmanager - command: taskmanager - links: - - "jobmanager:jobmanager" - environment: - - JOB_MANAGER_RPC_ADDRESS=jobmanager -``` - -and just run `docker-compose up`. - -Scale the cluster up or down to *N* TaskManagers: - -```console -docker-compose scale taskmanager= -``` - -## Configuration - -These are the default ports used by the Flink image: - -- The Web Client is on port `8081` -- JobManager RPC port `6123` -- TaskManagers RPC port `6122` -- TaskManagers Data port `6121` - -# About this repository - -This repository is available on [github.com/docker-flink/docker-flink](https://github.com/docker-flink/docker-flink), and the official build is on the [Docker Hub](https://hub.docker.com/_/flink/). +# How to use Apache Flink with Docker? -This repository is maintained by members of the Apache Flink community. +Please refer to the official [Apache Flink documentation](https://ci.apache.org/projects/flink/flink-docs-master/) about [how to use Apache Flink with Docker](https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/docker.html). diff --git a/flink/get-help.md b/flink/get-help.md index 7a0301b156b0..3d41cd9541e5 100644 --- a/flink/get-help.md +++ b/flink/get-help.md @@ -1 +1 @@ -[Community & Project Info](https://flink.apache.org/community.html) +[Official Apache Flink Mailing lists](https://flink.apache.org/community.html#mailing-lists) and [StackOverflow (tag `apache-flink`)](https://stackoverflow.com/questions/tagged/apache-flink) diff --git a/flink/github-repo b/flink/github-repo index 410f54164315..423374b73a25 100644 --- a/flink/github-repo +++ b/flink/github-repo @@ -1 +1 @@ -https://github.com/docker-flink/docker-flink +https://github.com/apache/flink-docker diff --git a/flink/issues.md b/flink/issues.md new file mode 100644 index 000000000000..628f3dfb14ad --- /dev/null +++ b/flink/issues.md @@ -0,0 +1 @@ +https://issues.apache.org/jira/browse/FLINK diff --git a/flink/license.md b/flink/license.md index d1a78fb78c3c..b639adefc537 100644 --- a/flink/license.md +++ b/flink/license.md @@ -2,4 +2,4 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use https://www.apache.org/licenses/LICENSE-2.0 -Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. +Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of [The Apache Software Foundation](https://apache.org/). diff --git a/flink/maintainer.md b/flink/maintainer.md index f00911460ab4..89974abbb612 100644 --- a/flink/maintainer.md +++ b/flink/maintainer.md @@ -1 +1 @@ -[members of the Apache Flink community](%%GITHUB-REPO%%) +[Apache Flink](https://flink.apache.org/community.html#people) diff --git a/fluentd/README.md b/fluentd/README.md index 63e706e75b63..37ab8f886ef3 100644 --- a/fluentd/README.md +++ b/fluentd/README.md @@ -20,7 +20,7 @@ WARNING: [Fluentd](https://github.com/fluent/fluentd-docker-image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/fluentd`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ffluentd) + [official-images repo's `library/fluentd` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ffluentd) [official-images repo's `library/fluentd` file](https://github.com/docker-library/official-images/blob/master/library/fluentd) ([history](https://github.com/docker-library/official-images/commits/master/library/fluentd)) - **Source of this description**: diff --git a/friendica/README.md b/friendica/README.md index 917a64955d04..6c62ce66694d 100644 --- a/friendica/README.md +++ b/friendica/README.md @@ -20,16 +20,22 @@ WARNING: [nupplaPhil](https://github.com/friendica/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2020.03-apache`, `apache`, `stable-apache`, `2020.03`, `latest`, `stable`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.03/apache/Dockerfile) -- [`2020.03-fpm`, `fpm`, `stable-fpm`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.03/fpm/Dockerfile) -- [`2020.03-fpm-alpine`, `fpm-alpine`, `stable-fpm-alpine`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.03/fpm-alpine/Dockerfile) -- [`2020.06-dev-apache`, `dev-apache`, `2020.06-dev`, `dev`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.06-dev/apache/Dockerfile) -- [`2020.06-dev-fpm`, `dev-fpm`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.06-dev/fpm/Dockerfile) -- [`2020.06-dev-fpm-alpine`, `dev-fpm-alpine`](https://github.com/friendica/docker/blob/ad99a985409c5ef4eefb5903b1ec81096dc8f613/2020.06-dev/fpm-alpine/Dockerfile) +- [`2020.09-apache`, `2020.09`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2020.09/apache/Dockerfile) +- [`2020.09-fpm`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2020.09/fpm/Dockerfile) +- [`2020.09-fpm-alpine`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2020.09/fpm-alpine/Dockerfile) +- [`2021.01-apache`, `apache`, `stable-apache`, `2021.01`, `latest`, `stable`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.01/apache/Dockerfile) +- [`2021.01-fpm`, `fpm`, `stable-fpm`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.01/fpm/Dockerfile) +- [`2021.01-fpm-alpine`, `fpm-alpine`, `stable-fpm-alpine`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.01/fpm-alpine/Dockerfile) +- [`2021.03-dev-apache`, `dev-apache`, `2021.03-dev`, `dev`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-dev/apache/Dockerfile) +- [`2021.03-dev-fpm`, `dev-fpm`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-dev/fpm/Dockerfile) +- [`2021.03-dev-fpm-alpine`, `dev-fpm-alpine`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-dev/fpm-alpine/Dockerfile) +- [`2021.03-rc-apache`, `rc-apache`, `2021.03-rc`, `rc`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-rc/apache/Dockerfile) +- [`2021.03-rc-fpm`, `rc-fpm`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-rc/fpm/Dockerfile) +- [`2021.03-rc-fpm-alpine`, `rc-fpm-alpine`](https://github.com/friendica/docker/blob/88db303a9ad22024d505b28390af384e28a5a624/2021.03-rc/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -37,14 +43,14 @@ WARNING: [https://github.com/friendica/docker/issues](https://github.com/friendica/docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/friendica/), [`arm32v5`](https://hub.docker.com/r/arm32v5/friendica/), [`arm32v6`](https://hub.docker.com/r/arm32v6/friendica/), [`arm32v7`](https://hub.docker.com/r/arm32v7/friendica/), [`arm64v8`](https://hub.docker.com/r/arm64v8/friendica/), [`i386`](https://hub.docker.com/r/i386/friendica/), [`ppc64le`](https://hub.docker.com/r/ppc64le/friendica/) + [`amd64`](https://hub.docker.com/r/amd64/friendica/), [`arm32v5`](https://hub.docker.com/r/arm32v5/friendica/), [`arm32v6`](https://hub.docker.com/r/arm32v6/friendica/), [`arm32v7`](https://hub.docker.com/r/arm32v7/friendica/), [`arm64v8`](https://hub.docker.com/r/arm64v8/friendica/), [`i386`](https://hub.docker.com/r/i386/friendica/), [`mips64le`](https://hub.docker.com/r/mips64le/friendica/), [`ppc64le`](https://hub.docker.com/r/ppc64le/friendica/), [`s390x`](https://hub.docker.com/r/s390x/friendica/) - **Published image artifact details**: [repo-info repo's `repos/friendica/` directory](https://github.com/docker-library/repo-info/blob/master/repos/friendica) ([history](https://github.com/docker-library/repo-info/commits/master/repos/friendica)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/friendica`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ffriendica) + [official-images repo's `library/friendica` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ffriendica) [official-images repo's `library/friendica` file](https://github.com/docker-library/official-images/blob/master/library/friendica) ([history](https://github.com/docker-library/official-images/commits/master/library/friendica)) - **Source of this description**: @@ -88,24 +94,23 @@ $ docker run -d friendica:fpm As the fastCGI-Process is not capable of serving static files (style sheets, images, ...) the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the docker-compose section. -## Using the cron job +## Background tasks -There are three options to enable the cron-job for Friendica: +Friendica requires background tasks to fetch and send all kind of messages and maintain the complete instance. This setup is crucial for the Friendica node. There are two options to enable background tasks for Friendica: -- Using the default Image and activate the cron-job (see [Installation](https://friendi.ca/resources/installation/), sector `Activating scheduled tasks`) -- Using the default image (apache, fpm, fpm-alpine) and creating **two** container (one for cron and one for the main app) -- Using one of the additional, prepared [`cron dockerfiles`](https://github.com/friendica/docker/tree/master/.examples/dockerfiles/cron) +- Using the default Image and manually setup background tasks (see Friendica [Install](https://github.com/friendica/friendica/blob/2021.03-rc/doc/Install.md#required-background-tasks)) +- Using the default image (apache, fpm, fpm-alpine) and starting a dedicated `cron` instance and use `cron.sh` as startup command (like this [Example](https://github.com/friendica/docker/blob/stable/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml)) ## Possible Environment Variables **Friendica Settings** -- `FRIENDICA_URL` The Friendica URL. +- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ). - `FRIENDICA_TZ` The default localization of the Friendica server. - `FRIENDICA_LANG` The default language of the Friendica server. - `FRIENDICA_SITENAME` The Sitename of the Friendica server. - `FRIENDICA_NO_VALIDATION` If set to `true`, the URL and E-Mail validation will be disabled. -- `FRIENDICA_DATA` If set to `true`, the fileystem will be used instead of the DB backend. +- `FRIENDICA_DATA` Set the name of the storage provider (e.g `Filesystem` to use filesystem), default ist the DB backend. - `FRIENDICA_DATA_DIR` The data directory of the Friendica server (Default: /var/www/data). **Friendica Logging** @@ -144,13 +149,14 @@ You have to set a valid SMTP-MTA for the `SMTP` environment variable to enable m The following environment variables are possible for the SMTP examples. - `SMTP` Address of the SMTP Mail-Gateway. (**required**) +- `SMTP_PORT` Port of the SMTP Mail-Gateway. (Default: 587) - `SMTP_DOMAIN` The sender domain. (**required** - e.g. `friendica.local`) - `SMTP_FROM` Sender user-part of the address. (Default: `no-reply` - e.g. no-reply@friendica.local) - `SMTP_TLS` Use TLS for connecting the SMTP Mail-Gateway. (Default: empty) - `SMTP_STARTTLS` Use STARTTLS for connecting the SMTP Mail-Gateway. (Default: empty) +- `SMTP_AUTH` Auth mode for the SMTP Mail-Gateway. (Default: `On`) - `SMTP_AUTH_USER` Username for the SMTP Mail-Gateway. (Default: empty) - `SMTP_AUTH_PASS` Password for the SMTP Mail-Gateway. (Default: empty) -- `SMTP_AUTH_METHOD` Authentication method for the SMTP Mail-Gateway. (Default: empty/plain text) ## Database settings @@ -186,12 +192,73 @@ $ docker run -d \ The Friendica image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable the automatic installation, you have to the following environment variables: +- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ). - `FRIENDICA_ADMIN_MAIL` E-Mail address of the administrator. - `MYSQL_USER` Username for the database user using mysql / mariadb. - `MYSQL_PASSWORD` Password for the database user using mysql / mariadb. - `MYSQL_DATABASE` Name of the database using mysql / mariadb. - `MYSQL_HOST` Hostname of the database server using mysql / mariadb. +# Docker Secrets + +As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: + +```yaml +version: '3.2' + +services: + db: + image: mariadb + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_DATABASE_FILE=/run/secrets/mysql_database + - MYSQL_USER_FILE=/run/secrets/mysql_user + - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password + secrets: + - mysql_database + - mysql_password + - mysql_user + + app: + image: friendica + restart: always + volumes: + - friendica:/var/www/html + ports: + - "8080:80" + environment: + - MYSQL_HOST=db + - MYSQL_DATABASE_FILE=/run/secrets/mysql_database + - MYSQL_USER_FILE=/run/secrets/mysql_user + - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password + - FRIENDICA_ADMIN_MAIL_FILE=/run/secrets/friendica_admin_mail + depends_on: + - db + secrets: + - friendica_admin_mail + - mysql_database + - mysql_password + - mysql_user + +volumes: + db: + friendica: + +secrets: + friendica_admin_mail: + file: ./friendica_admin_mail.txt # put admin email to this file + mysql_database: + file: ./mysql_database.txt # put mysql database name to this file + mysql_password: + file: ./mysql_password.txt # put mysql password to this file + mysql_user: + file: ./mysql_user.txt # put mysql username to this file +``` + +Currently, this is only supported for `FRIENDICA_ADMIN_MAIL`, `MYSQL_DATABASE`, `MYSQL_PASSWORD`, `MYSQL_USER`. + # Maintenance of the image ## Updating to a newer version @@ -349,9 +416,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `friendica:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/friendica/content.md b/friendica/content.md index 88bc4e9388ce..bb858be531de 100644 --- a/friendica/content.md +++ b/friendica/content.md @@ -36,24 +36,23 @@ $ docker run -d %%IMAGE%%:fpm As the fastCGI-Process is not capable of serving static files (style sheets, images, ...) the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the docker-compose section. -## Using the cron job +## Background tasks -There are three options to enable the cron-job for Friendica: +Friendica requires background tasks to fetch and send all kind of messages and maintain the complete instance. This setup is crucial for the Friendica node. There are two options to enable background tasks for Friendica: -- Using the default Image and activate the cron-job (see [Installation](https://friendi.ca/resources/installation/), sector `Activating scheduled tasks`) -- Using the default image (apache, fpm, fpm-alpine) and creating **two** container (one for cron and one for the main app) -- Using one of the additional, prepared [`cron dockerfiles`](https://github.com/friendica/docker/tree/master/.examples/dockerfiles/cron) +- Using the default Image and manually setup background tasks (see Friendica [Install](https://github.com/friendica/friendica/blob/2021.03-rc/doc/Install.md#required-background-tasks)) +- Using the default image (apache, fpm, fpm-alpine) and starting a dedicated `cron` instance and use `cron.sh` as startup command (like this [Example](https://github.com/friendica/docker/blob/stable/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml)) ## Possible Environment Variables **Friendica Settings** -- `FRIENDICA_URL` The Friendica URL. +- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ). - `FRIENDICA_TZ` The default localization of the Friendica server. - `FRIENDICA_LANG` The default language of the Friendica server. - `FRIENDICA_SITENAME` The Sitename of the Friendica server. - `FRIENDICA_NO_VALIDATION` If set to `true`, the URL and E-Mail validation will be disabled. -- `FRIENDICA_DATA` If set to `true`, the fileystem will be used instead of the DB backend. +- `FRIENDICA_DATA` Set the name of the storage provider (e.g `Filesystem` to use filesystem), default ist the DB backend. - `FRIENDICA_DATA_DIR` The data directory of the Friendica server (Default: /var/www/data). **Friendica Logging** @@ -92,13 +91,14 @@ You have to set a valid SMTP-MTA for the `SMTP` environment variable to enable m The following environment variables are possible for the SMTP examples. - `SMTP` Address of the SMTP Mail-Gateway. (**required**) +- `SMTP_PORT` Port of the SMTP Mail-Gateway. (Default: 587) - `SMTP_DOMAIN` The sender domain. (**required** - e.g. `friendica.local`) - `SMTP_FROM` Sender user-part of the address. (Default: `no-reply` - e.g. no-reply@friendica.local) - `SMTP_TLS` Use TLS for connecting the SMTP Mail-Gateway. (Default: empty) - `SMTP_STARTTLS` Use STARTTLS for connecting the SMTP Mail-Gateway. (Default: empty) +- `SMTP_AUTH` Auth mode for the SMTP Mail-Gateway. (Default: `On`) - `SMTP_AUTH_USER` Username for the SMTP Mail-Gateway. (Default: empty) - `SMTP_AUTH_PASS` Password for the SMTP Mail-Gateway. (Default: empty) -- `SMTP_AUTH_METHOD` Authentication method for the SMTP Mail-Gateway. (Default: empty/plain text) ## Database settings @@ -134,12 +134,73 @@ $ docker run -d \ The Friendica image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable the automatic installation, you have to the following environment variables: +- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ). - `FRIENDICA_ADMIN_MAIL` E-Mail address of the administrator. - `MYSQL_USER` Username for the database user using mysql / mariadb. - `MYSQL_PASSWORD` Password for the database user using mysql / mariadb. - `MYSQL_DATABASE` Name of the database using mysql / mariadb. - `MYSQL_HOST` Hostname of the database server using mysql / mariadb. +# Docker Secrets + +As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: + +```yaml +version: '3.2' + +services: + db: + image: mariadb + restart: always + volumes: + - db:/var/lib/mysql + environment: + - MYSQL_DATABASE_FILE=/run/secrets/mysql_database + - MYSQL_USER_FILE=/run/secrets/mysql_user + - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password + secrets: + - mysql_database + - mysql_password + - mysql_user + + app: + image: friendica + restart: always + volumes: + - friendica:/var/www/html + ports: + - "8080:80" + environment: + - MYSQL_HOST=db + - MYSQL_DATABASE_FILE=/run/secrets/mysql_database + - MYSQL_USER_FILE=/run/secrets/mysql_user + - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password + - FRIENDICA_ADMIN_MAIL_FILE=/run/secrets/friendica_admin_mail + depends_on: + - db + secrets: + - friendica_admin_mail + - mysql_database + - mysql_password + - mysql_user + +volumes: + db: + friendica: + +secrets: + friendica_admin_mail: + file: ./friendica_admin_mail.txt # put admin email to this file + mysql_database: + file: ./mysql_database.txt # put mysql database name to this file + mysql_password: + file: ./mysql_password.txt # put mysql password to this file + mysql_user: + file: ./mysql_user.txt # put mysql username to this file +``` + +Currently, this is only supported for `FRIENDICA_ADMIN_MAIL`, `MYSQL_DATABASE`, `MYSQL_PASSWORD`, `MYSQL_USER`. + # Maintenance of the image ## Updating to a newer version diff --git a/fsharp/README.md b/fsharp/README.md index ac080d301ffb..dcbb6dfb4a28 100644 --- a/fsharp/README.md +++ b/fsharp/README.md @@ -20,13 +20,13 @@ WARNING: [the F# Community](https://github.com/fsprojects/docker-fsharp) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `10`, `10.7`, `10.7.0`](https://github.com/fsprojects/docker-fsharp/blob/6ced4c004bac9d5a024eefbc1d90219c78ce784b/10.7.0/mono/Dockerfile) -- [`4`, `4.1`, `4.1.34`](https://github.com/fsprojects/docker-fsharp/blob/6ced4c004bac9d5a024eefbc1d90219c78ce784b/4.1.34/mono/Dockerfile) -- [`netcore`, `10-netcore`, `10.7-netcore`, `10.7.0-netcore`](https://github.com/fsprojects/docker-fsharp/blob/6ced4c004bac9d5a024eefbc1d90219c78ce784b/10.7.0/netcore/Dockerfile) +- [`latest`, `10`, `10.10`, `10.10.0`](https://github.com/fsprojects/docker-fsharp/blob/a47a73b4b99d85720e191680e29f1bd1d62724ea/10.10.0/mono/Dockerfile) +- [`4`, `4.1`, `4.1.34`](https://github.com/fsprojects/docker-fsharp/blob/a47a73b4b99d85720e191680e29f1bd1d62724ea/4.1.34/mono/Dockerfile) +- [`netcore`, `10-netcore`, `10.10-netcore`, `10.10.0-netcore`](https://github.com/fsprojects/docker-fsharp/blob/a47a73b4b99d85720e191680e29f1bd1d62724ea/10.10.0/netcore/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/fsharp`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ffsharp) + [official-images repo's `library/fsharp` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ffsharp) [official-images repo's `library/fsharp` file](https://github.com/docker-library/official-images/blob/master/library/fsharp) ([history](https://github.com/docker-library/official-images/commits/master/library/fsharp)) - **Source of this description**: diff --git a/gazebo/README.md b/gazebo/README.md index 619b76b3a9c2..9d9a12c768d1 100644 --- a/gazebo/README.md +++ b/gazebo/README.md @@ -20,24 +20,24 @@ WARNING: [the Open Source Robotics Foundation](https://github.com/osrf/docker_images) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`gzserver7`, `gzserver7-xenial`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/7/ubuntu/xenial/gzserver7/Dockerfile) -- [`libgazebo7`, `libgazebo7-xenial`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/7/ubuntu/xenial/libgazebo7/Dockerfile) -- [`gzserver9-xenial`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/ubuntu/xenial/gzserver9/Dockerfile) -- [`libgazebo9-xenial`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/ubuntu/xenial/libgazebo9/Dockerfile) -- [`gzserver9`, `gzserver9-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/ubuntu/bionic/gzserver9/Dockerfile) -- [`libgazebo9`, `libgazebo9-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/ubuntu/bionic/libgazebo9/Dockerfile) -- [`gzserver9-stretch`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/debian/stretch/gzserver9/Dockerfile) -- [`libgazebo9-stretch`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/9/debian/stretch/libgazebo9/Dockerfile) -- [`gzserver10`, `gzserver10-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/10/ubuntu/bionic/gzserver10/Dockerfile) -- [`libgazebo10`, `libgazebo10-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/10/ubuntu/bionic/libgazebo10/Dockerfile) -- [`gzserver11-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/11/ubuntu/bionic/gzserver11/Dockerfile) -- [`libgazebo11-bionic`](https://github.com/osrf/docker_images/blob/6f18102d57b424ce454f61e4ac432e3d6d71f670/gazebo/11/ubuntu/bionic/libgazebo11/Dockerfile) -- [`gzserver11`, `gzserver11-focal`](https://github.com/osrf/docker_images/blob/43e969496f5cabe19dd658c18c85f742bdaf6923/gazebo/11/ubuntu/focal/gzserver11/Dockerfile) -- [`libgazebo11`, `libgazebo11-focal`, `latest`](https://github.com/osrf/docker_images/blob/43e969496f5cabe19dd658c18c85f742bdaf6923/gazebo/11/ubuntu/focal/libgazebo11/Dockerfile) +- [`gzserver7`, `gzserver7-xenial`](https://github.com/osrf/docker_images/blob/c2b11f03428e862ab6c8f106823fac7d9d9ac48c/gazebo/7/ubuntu/xenial/gzserver7/Dockerfile) +- [`libgazebo7`, `libgazebo7-xenial`](https://github.com/osrf/docker_images/blob/c2b11f03428e862ab6c8f106823fac7d9d9ac48c/gazebo/7/ubuntu/xenial/libgazebo7/Dockerfile) +- [`gzserver9-xenial`](https://github.com/osrf/docker_images/blob/d521594aab0f506c90998ab79bc4dbc9c20e39b8/gazebo/9/ubuntu/xenial/gzserver9/Dockerfile) +- [`libgazebo9-xenial`](https://github.com/osrf/docker_images/blob/d521594aab0f506c90998ab79bc4dbc9c20e39b8/gazebo/9/ubuntu/xenial/libgazebo9/Dockerfile) +- [`gzserver9`, `gzserver9-bionic`](https://github.com/osrf/docker_images/blob/14c917e2aba1d985be1d62672669a577c0cc2eaa/gazebo/9/ubuntu/bionic/gzserver9/Dockerfile) +- [`libgazebo9`, `libgazebo9-bionic`](https://github.com/osrf/docker_images/blob/14c917e2aba1d985be1d62672669a577c0cc2eaa/gazebo/9/ubuntu/bionic/libgazebo9/Dockerfile) +- [`gzserver9-stretch`](https://github.com/osrf/docker_images/blob/a6c5b63e1ba4291e94b91ac5ff067c0d3f7d3c37/gazebo/9/debian/stretch/gzserver9/Dockerfile) +- [`libgazebo9-stretch`](https://github.com/osrf/docker_images/blob/a6c5b63e1ba4291e94b91ac5ff067c0d3f7d3c37/gazebo/9/debian/stretch/libgazebo9/Dockerfile) +- [`gzserver10`, `gzserver10-bionic`](https://github.com/osrf/docker_images/blob/c2b11f03428e862ab6c8f106823fac7d9d9ac48c/gazebo/10/ubuntu/bionic/gzserver10/Dockerfile) +- [`libgazebo10`, `libgazebo10-bionic`](https://github.com/osrf/docker_images/blob/c2b11f03428e862ab6c8f106823fac7d9d9ac48c/gazebo/10/ubuntu/bionic/libgazebo10/Dockerfile) +- [`gzserver11-bionic`](https://github.com/osrf/docker_images/blob/48051c3f57c5c632407920a4beec2c2953f1b6f5/gazebo/11/ubuntu/bionic/gzserver11/Dockerfile) +- [`libgazebo11-bionic`](https://github.com/osrf/docker_images/blob/48051c3f57c5c632407920a4beec2c2953f1b6f5/gazebo/11/ubuntu/bionic/libgazebo11/Dockerfile) +- [`gzserver11`, `gzserver11-focal`](https://github.com/osrf/docker_images/blob/163a37c8a124c3e46872f7904c0fddf251d81160/gazebo/11/ubuntu/focal/gzserver11/Dockerfile) +- [`libgazebo11`, `libgazebo11-focal`, `latest`](https://github.com/osrf/docker_images/blob/163a37c8a124c3e46872f7904c0fddf251d81160/gazebo/11/ubuntu/focal/libgazebo11/Dockerfile) # Quick reference (cont.) @@ -52,7 +52,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/gazebo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgazebo) + [official-images repo's `library/gazebo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgazebo) [official-images repo's `library/gazebo` file](https://github.com/docker-library/official-images/blob/master/library/gazebo) ([history](https://github.com/docker-library/official-images/commits/master/library/gazebo)) - **Source of this description**: diff --git a/gcc/README.md b/gcc/README.md index a46b0f880762..a4091209e25b 100644 --- a/gcc/README.md +++ b/gcc/README.md @@ -20,11 +20,11 @@ WARNING: [the Docker Community](https://github.com/docker-library/gcc) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`10.1.0`, `10.1`, `10`, `latest`](https://github.com/docker-library/gcc/blob/97b046b578bd86cae5414d80b3ad0027c590aebd/10/Dockerfile) +- [`10.3.0`, `10.3`, `10`, `latest`](https://github.com/docker-library/gcc/blob/15b89bbc6190e30a0dd657473e0cc9bfbd13610d/10/Dockerfile) - [`9.3.0`, `9.3`, `9`](https://github.com/docker-library/gcc/blob/05aef2fc627328e12bbf77aca44fd399a22c7fc4/9/Dockerfile) - [`8.4.0`, `8.4`, `8`](https://github.com/docker-library/gcc/blob/05aef2fc627328e12bbf77aca44fd399a22c7fc4/8/Dockerfile) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/gcc`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgcc) + [official-images repo's `library/gcc` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgcc) [official-images repo's `library/gcc` file](https://github.com/docker-library/official-images/blob/master/library/gcc) ([history](https://github.com/docker-library/official-images/commits/master/library/gcc)) - **Source of this description**: diff --git a/generate-repo-stub-readme.sh b/generate-repo-stub-readme.sh index e327106c9061..eae8a2d1b0ec 100755 --- a/generate-repo-stub-readme.sh +++ b/generate-repo-stub-readme.sh @@ -63,22 +63,37 @@ t=$'\t' branch='master' toTest=( - "https://img.shields.io/github/workflow/status/$githubRepoName/GitHub%20CI/$branch?label=GitHub%20CI" "https://github.com/$githubRepoName/actions?query=workflow%3A%22GitHub+CI%22+branch%3A$branch" - "https://img.shields.io/travis/$githubRepoName/$branch.svg?label=Travis%20CI" "https://travis-ci.org/$githubRepoName/branches" - "https://img.shields.io/appveyor/ci/$githubRepoName/$branch.svg?label=AppVeyor" "https://ci.appveyor.com/project/$githubRepoName" - "https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/$repo.svg?label=Automated%20update.sh" "https://doi-janky.infosiftr.net/job/update.sh/job/$repo/" + # "image badge URL" + # "image badge link/href" + # "badge test URL (to determine whether badge applies)" + + "https://img.shields.io/github/workflow/status/$githubRepoName/GitHub%20CI/$branch?label=GitHub%20CI" + "https://github.com/$githubRepoName/actions?query=workflow%3A%22GitHub+CI%22+branch%3A$branch" + "https://github.com/$githubRepoName/blob/$branch/.github/workflows/ci.yml" + + "https://img.shields.io/travis/$githubRepoName/$branch.svg?label=Travis%20CI" + "https://travis-ci.org/$githubRepoName/branches" + "https://github.com/$githubRepoName/blob/$branch/.travis.yml" + + "https://img.shields.io/appveyor/ci/$githubRepoName/$branch.svg?label=AppVeyor" + "https://ci.appveyor.com/project/$githubRepoName" + "https://github.com/$githubRepoName/blob/$branch/.appveyor.yml" + + "https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/$repo.svg?label=Automated%20update.sh" + "https://doi-janky.infosiftr.net/job/update.sh/job/$repo/" + "https://doi-janky.infosiftr.net/job/update.sh/job/$repo/" ) -_check_shields_io_image() { - wget -qO- "$1" 2>/dev/null \ - | grep -qvE 'unknown|invalid|access denied|not found' +_wget_spider() { + wget -q -o /dev/null -O /dev/null --spider "$@" } set -- "${toTest[@]}" while [ "$#" -gt 0 ]; do image="$1"; shift url="$1"; shift - if _check_shields_io_image "$image"; then + testUrl="$1"; shift + if _wget_spider "$testUrl"; then badges+=( "-${t}[![build status badge]($image)]($url)" ) fi done @@ -89,22 +104,16 @@ if [ -n "$arches" ]; then i=0 for arch in $arches put-shared; do if [ "$arch" = 'put-shared' ]; then - jenkinsLink= - for jenkinsJob in "job/put-shared/job/light/job/$repo" 'job/put-shared/job/heavy'; do - jenkinsImage="https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/$jenkinsJob.svg?label=$arch" - if _check_shields_io_image "$jenkinsImage"; then - jenkinsLink="https://doi-janky.infosiftr.net/$jenkinsJob/" - break - fi - done - if [ -z "$jenkinsLink" ]; then - continue + jenkinsJob="job/put-shared/job/light/job/$repo" + if ! _wget_spider "https://doi-janky.infosiftr.net/$jenkinsJob/"; then + jenkinsJob='job/put-shared/job/heavy' fi else - jenkinsLink="https://doi-janky.infosiftr.net/job/multiarch/job/$arch/job/$repo/" - jenkinsImage="https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/$arch/job/$repo.svg?label=$arch" + jenkinsJob="job/multiarch/job/$arch/job/$repo" fi - if _check_shields_io_image "$jenkinsImage"; then + jenkinsLink="https://doi-janky.infosiftr.net/$jenkinsJob/" + jenkinsImage="https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/$jenkinsJob.svg?label=$arch" + if _wget_spider "$jenkinsLink"; then archTable="${archTable:-|} [![$arch build status badge]($jenkinsImage)]($jenkinsLink) |" (( i = (i + 1) % 4 )) || : # modulo here needs to match the number of colums used below if [ "$i" = 0 ]; then diff --git a/geonetwork/README.md b/geonetwork/README.md index 7820ebefa55e..94b6d41a8af8 100644 --- a/geonetwork/README.md +++ b/geonetwork/README.md @@ -20,15 +20,15 @@ WARNING: [GeoNetwork opensource](https://github.com/geonetwork/docker-geonetwork) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.10.2`, `3.10`, `latest`](https://github.com/geonetwork/docker-geonetwork/blob/f81b111fbe3d765ee56f61c5474099764ee07004/3.10.2/Dockerfile) -- [`3.10.2-postgres`, `3.10-postgres`, `postgres`](https://github.com/geonetwork/docker-geonetwork/blob/f81b111fbe3d765ee56f61c5474099764ee07004/3.10.2/postgres/Dockerfile) +- [`3.10.6`, `3.10`, `3`, `latest`](https://github.com/geonetwork/docker-geonetwork/blob/a737bd2c96b3d960ba6c9cade863d2330386847a/3.10.6/Dockerfile) +- [`3.10.6-postgres`, `3.10-postgres`, `3-postgres`, `postgres`](https://github.com/geonetwork/docker-geonetwork/blob/a737bd2c96b3d960ba6c9cade863d2330386847a/3.10.6/postgres/Dockerfile) - [`3.8.3`, `3.8`](https://github.com/geonetwork/docker-geonetwork/blob/af81a4ff8f592d27b4911ad20d569379864ee85f/3.8.3/Dockerfile) - [`3.8.3-postgres`, `3.8-postgres`](https://github.com/geonetwork/docker-geonetwork/blob/af81a4ff8f592d27b4911ad20d569379864ee85f/3.8.3/postgres/Dockerfile) -- [`4.0.0-alpha.1`, `4.0.0-alpha`, `4.0-alpha`, `4-alpha`](https://github.com/geonetwork/docker-geonetwork/blob/322b19a848bdc0ab227e40f2e1b84dec059550bb/4.0.0-alpha.1/Dockerfile) +- [`4.0.3`, `4.0`, `4`](https://github.com/geonetwork/docker-geonetwork/blob/aa5074ff3d7f7da7f856135ffa3cb979b1631f66/4.0.3/Dockerfile) # Quick reference (cont.) @@ -43,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/geonetwork`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgeonetwork) + [official-images repo's `library/geonetwork` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgeonetwork) [official-images repo's `library/geonetwork` file](https://github.com/docker-library/official-images/blob/master/library/geonetwork) ([history](https://github.com/docker-library/official-images/commits/master/library/geonetwork)) - **Source of this description**: @@ -83,24 +83,24 @@ $ docker run --name some-geonetwork -d -p 8080:8080 geonetwork Then, if you are running docker on Linux, you may access geonetwork at http://localhost:8080/geonetwork. Otherwise, replace `localhost` by the address of your docker machine. -## Set the data directory +## Set the data directory and H2 db file -The data directory is the location on the file system where the catalog stores much of its custom configuration and uploaded files. It is also where it stores a number of support files, used for various purposes (e.g.: Lucene index, spatial index, thumbnails). +The data directory is the location on the file system where the catalog stores much of its custom configuration and uploaded files. It is also where it stores a number of support files, used for various purposes (e.g.: Lucene index, spatial index, thumbnails). The default variant also uses a local H2 database to store the metadata catalog itself. -By default, geonetwork sets the data directory on `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`, but you may override this value by injecting an environment variable into the container: - `-e DATA_DIR=...` (defaults to `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`) +By default, geonetwork sets the data directory on `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data` and H2 database file to the tomcat bin dir `/usr/local/tomcat/gn.h2.db`, but you may override these values by injecting environment variables into the container: - `-e DATA_DIR=...` (defaults to `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`) and `-e GEONETWORK_DB_NAME=...` (defaults to `gn` which sets up database `gn.h2.db` in tomcat bin dir `/usr/local/tomcat`). Note that setting the database location via `GEONETWORK_DB_NAME` only works from version 3.10.3 onwards. -For instance, to set the data directory to `/var/lib/geonetwork_data`: +## Persisting data + +To set the data directory to `/var/lib/geonetwork/data` and H2 database file to `/var/lib/geonetwork/db/gn.h2.db` so they both persist through restarts: ```console -$ docker run --name some-geonetwork -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork_data geonetwork +$ docker run --name some-geonetwork -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork/data -e GEONETWORK_DB_NAME=/var/lib/geonetwork/db/gn geonetwork ``` -## Persist data - -If you want the data directory to live beyond restarts, or even destruction of the container, you can mount a directory from the docker engine's host into the container. - `-v /host/path:/path/to/data/directory`. For instance this, will mount the host directory `/host/geonetwork-docker` into `/var/lib/geonetwork_data` on the container: +If you want the data directory to live beyond restarts, or even destruction of the container, you can mount a directory from the docker engine's host into the container. - `-v /host/path:/path/to/data/directory`. For instance this, will mount the host directory `/host/geonetwork-docker` into `/var/lib/geonetwork` on the container: ```console -$ docker run --name some-geonetwork -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork_data -v /host/geonetwork-docker:/var/lib/geonetwork_data geonetwork +$ docker run --name some-geonetwork -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork/data -e GEONETWORK_DB_NAME=/var/lib/geonetwork/db/gn -v /host/geonetwork-docker:/var/lib/geonetwork geonetwork ``` ## ... via [`docker stack deploy`](https://docs.docker.com/engine/reference/commandline/stack_deploy/) or [`docker-compose`](https://github.com/docker/compose) diff --git a/geonetwork/content.md b/geonetwork/content.md index 679083fdbe10..2da1202a0ea8 100644 --- a/geonetwork/content.md +++ b/geonetwork/content.md @@ -32,24 +32,24 @@ $ docker run --name some-%%REPO%% -d -p 8080:8080 %%IMAGE%% Then, if you are running docker on Linux, you may access geonetwork at http://localhost:8080/geonetwork. Otherwise, replace `localhost` by the address of your docker machine. -## Set the data directory +## Set the data directory and H2 db file -The data directory is the location on the file system where the catalog stores much of its custom configuration and uploaded files. It is also where it stores a number of support files, used for various purposes (e.g.: Lucene index, spatial index, thumbnails). +The data directory is the location on the file system where the catalog stores much of its custom configuration and uploaded files. It is also where it stores a number of support files, used for various purposes (e.g.: Lucene index, spatial index, thumbnails). The default variant also uses a local H2 database to store the metadata catalog itself. -By default, geonetwork sets the data directory on `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`, but you may override this value by injecting an environment variable into the container: - `-e DATA_DIR=...` (defaults to `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`) +By default, geonetwork sets the data directory on `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data` and H2 database file to the tomcat bin dir `/usr/local/tomcat/gn.h2.db`, but you may override these values by injecting environment variables into the container: - `-e DATA_DIR=...` (defaults to `/usr/local/tomcat/webapps/geonetwork/WEB-INF/data`) and `-e GEONETWORK_DB_NAME=...` (defaults to `gn` which sets up database `gn.h2.db` in tomcat bin dir `/usr/local/tomcat`). Note that setting the database location via `GEONETWORK_DB_NAME` only works from version 3.10.3 onwards. -For instance, to set the data directory to `/var/lib/geonetwork_data`: +## Persisting data + +To set the data directory to `/var/lib/geonetwork/data` and H2 database file to `/var/lib/geonetwork/db/gn.h2.db` so they both persist through restarts: ```console -$ docker run --name some-%%REPO%% -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork_data %%IMAGE%% +$ docker run --name some-%%REPO%% -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork/data -e GEONETWORK_DB_NAME=/var/lib/geonetwork/db/gn %%IMAGE%% ``` -## Persist data - -If you want the data directory to live beyond restarts, or even destruction of the container, you can mount a directory from the docker engine's host into the container. - `-v /host/path:/path/to/data/directory`. For instance this, will mount the host directory `/host/geonetwork-docker` into `/var/lib/geonetwork_data` on the container: +If you want the data directory to live beyond restarts, or even destruction of the container, you can mount a directory from the docker engine's host into the container. - `-v /host/path:/path/to/data/directory`. For instance this, will mount the host directory `/host/geonetwork-docker` into `/var/lib/geonetwork` on the container: ```console -$ docker run --name some-%%REPO%% -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork_data -v /host/geonetwork-docker:/var/lib/geonetwork_data %%IMAGE%% +$ docker run --name some-%%REPO%% -d -p 8080:8080 -e DATA_DIR=/var/lib/geonetwork/data -e GEONETWORK_DB_NAME=/var/lib/geonetwork/db/gn -v /host/geonetwork-docker:/var/lib/geonetwork %%IMAGE%% ``` ## %%STACK%% diff --git a/ghost/README.md b/ghost/README.md index 77d8ae83886c..b43645201ce7 100644 --- a/ghost/README.md +++ b/ghost/README.md @@ -20,14 +20,16 @@ WARNING: [the Docker Community](https://github.com/docker-library/ghost) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.17.1`, `3.17`, `3`, `latest`](https://github.com/docker-library/ghost/blob/e395a5a01987c10fd462c676875469489e103f93/3/debian/Dockerfile) -- [`3.17.1-alpine`, `3.17-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/ghost/blob/e395a5a01987c10fd462c676875469489e103f93/3/alpine/Dockerfile) -- [`2.38.1`, `2.38`, `2`](https://github.com/docker-library/ghost/blob/5798d6bd9c3b359954d90d173154cc36ba6f8337/2/debian/Dockerfile) -- [`2.38.1-alpine`, `2.38-alpine`, `2-alpine`](https://github.com/docker-library/ghost/blob/5798d6bd9c3b359954d90d173154cc36ba6f8337/2/alpine/Dockerfile) +- [`4.3.2`, `4.3`, `4`, `latest`](https://github.com/docker-library/ghost/blob/913e06521993c4d1adb75902b3b866860a466af5/4/debian/Dockerfile) +- [`4.3.2-alpine`, `4.3-alpine`, `4-alpine`, `alpine`](https://github.com/docker-library/ghost/blob/913e06521993c4d1adb75902b3b866860a466af5/4/alpine/Dockerfile) +- [`3.42.5`, `3.42`, `3`](https://github.com/docker-library/ghost/blob/aafa3aef4bd6d39c9b883fb1b477e9f85eb88504/3/debian/Dockerfile) +- [`3.42.5-alpine`, `3.42-alpine`, `3-alpine`](https://github.com/docker-library/ghost/blob/aafa3aef4bd6d39c9b883fb1b477e9f85eb88504/3/alpine/Dockerfile) +- [`2.38.3`, `2.38`, `2`](https://github.com/docker-library/ghost/blob/43436c4d7ff4f323dce29012582fb311bde50c27/2/debian/Dockerfile) +- [`2.38.3-alpine`, `2.38-alpine`, `2-alpine`](https://github.com/docker-library/ghost/blob/43436c4d7ff4f323dce29012582fb311bde50c27/2/alpine/Dockerfile) # Quick reference (cont.) @@ -42,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/ghost`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fghost) + [official-images repo's `library/ghost` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fghost) [official-images repo's `library/ghost` file](https://github.com/docker-library/official-images/blob/master/library/ghost) ([history](https://github.com/docker-library/official-images/commits/master/library/ghost)) - **Source of this description**: @@ -76,7 +78,7 @@ If all goes well, you'll be able to access your new site on `http://localhost:30 ### Upgrading Ghost -You will want to ensure you are running the latest minor version (1.25.5 or 0.11.9) of Ghost before upgrading major versions. Otherwise, you may run into database errors. +You will want to ensure you are running the latest minor version of Ghost before upgrading major versions. Otherwise, you may run into database errors. For upgrading your Ghost container you will want to mount your data to the appropriate path in the predecessor container (see below): import your content from the admin panel, stop the container, and then re-mount your content to the successor container you are upgrading into; you can then export your content from the admin panel. @@ -84,24 +86,16 @@ For upgrading your Ghost container you will want to mount your data to the appro Mount your existing content. In this example we also use the Alpine base image. -### Ghost 1.x.x - -```console -$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content ghost:1-alpine -``` - -### Ghost 0.11.xx - ```console -$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost ghost:0.11-alpine +$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content ghost:alpine ``` ### Docker Volume -Alternatively you can use a [data container](http://docs.docker.com/engine/tutorials/dockervolumes/) that has a volume that points to `/var/lib/ghost/content` (or /var/lib/ghost for 0.11.x) and then reference it: +Alternatively you can use a named [docker volume](https://docs.docker.com/storage/volumes/) instead of a direct host path for `/var/lib/ghost/content`: ```console -$ docker run -d --name some-ghost --volumes-from some-ghost-data ghost +$ docker run -d --name some-ghost -v some-ghost-data:/var/lib/ghost/content ghost ``` ### SQLite Database @@ -124,7 +118,7 @@ When opening a ticket at https://github.com/TryGhost/Ghost/issues it becomes nec ```console $ docker exec node --version -v6.11.2 +[node version output] ``` ## Note about Ghost-CLI @@ -149,7 +143,7 @@ services: ports: - 8080:2368 environment: - # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables + # see https://ghost.org/docs/config/#configuration-options database__client: mysql database__connection__host: db database__connection__user: root @@ -157,6 +151,8 @@ services: database__connection__database: ghost # this url value is just an example, and is likely wrong for your environment! url: http://localhost:8080 + # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) + #NODE_ENV: development db: image: mysql:5.7 @@ -165,7 +161,7 @@ services: MYSQL_ROOT_PASSWORD: example ``` -[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/c57e666ff4299ee6e801a9843b7f39eebfd8f2da/ghost/stack.yml) +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/ff4ab86fc4ec774fb4d419480fd412064b38054f/ghost/stack.yml) Run `docker stack deploy -c stack.yml ghost` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate). @@ -179,9 +175,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `ghost:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/ghost/content.md b/ghost/content.md index 0269d5d55182..4157a6e4a1d8 100644 --- a/ghost/content.md +++ b/ghost/content.md @@ -26,7 +26,7 @@ If all goes well, you'll be able to access your new site on `http://localhost:30 ### Upgrading Ghost -You will want to ensure you are running the latest minor version (1.25.5 or 0.11.9) of Ghost before upgrading major versions. Otherwise, you may run into database errors. +You will want to ensure you are running the latest minor version of Ghost before upgrading major versions. Otherwise, you may run into database errors. For upgrading your Ghost container you will want to mount your data to the appropriate path in the predecessor container (see below): import your content from the admin panel, stop the container, and then re-mount your content to the successor container you are upgrading into; you can then export your content from the admin panel. @@ -34,24 +34,16 @@ For upgrading your Ghost container you will want to mount your data to the appro Mount your existing content. In this example we also use the Alpine base image. -### Ghost 1.x.x - -```console -$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content %%IMAGE%%:1-alpine -``` - -### Ghost 0.11.xx - ```console -$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost %%IMAGE%%:0.11-alpine +$ docker run -d --name some-ghost -p 3001:2368 -v /path/to/ghost/blog:/var/lib/ghost/content %%IMAGE%%:alpine ``` ### Docker Volume -Alternatively you can use a [data container](http://docs.docker.com/engine/tutorials/dockervolumes/) that has a volume that points to `/var/lib/ghost/content` (or /var/lib/ghost for 0.11.x) and then reference it: +Alternatively you can use a named [docker volume](https://docs.docker.com/storage/volumes/) instead of a direct host path for `/var/lib/ghost/content`: ```console -$ docker run -d --name some-ghost --volumes-from some-ghost-data %%IMAGE%% +$ docker run -d --name some-ghost -v some-ghost-data:/var/lib/ghost/content %%IMAGE%% ``` ### SQLite Database @@ -74,7 +66,7 @@ When opening a ticket at https://github.com/TryGhost/Ghost/issues it becomes nec ```console $ docker exec node --version -v6.11.2 +[node version output] ``` ## Note about Ghost-CLI diff --git a/ghost/stack.yml b/ghost/stack.yml index 65e88abed50f..cac61cadff9d 100644 --- a/ghost/stack.yml +++ b/ghost/stack.yml @@ -11,7 +11,7 @@ services: ports: - 8080:2368 environment: - # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables + # see https://ghost.org/docs/config/#configuration-options database__client: mysql database__connection__host: db database__connection__user: root @@ -19,6 +19,8 @@ services: database__connection__database: ghost # this url value is just an example, and is likely wrong for your environment! url: http://localhost:8080 + # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) + #NODE_ENV: development db: image: mysql:5.7 diff --git a/golang/README.md b/golang/README.md index 884b5c5d3dc3..812d68560032 100644 --- a/golang/README.md +++ b/golang/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/golang) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,40 +28,41 @@ WARNING: ## Simple Tags -- [`1.14.3-buster`, `1.14-buster`, `1-buster`, `buster`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/buster/Dockerfile) -- [`1.14.3-stretch`, `1.14-stretch`, `1-stretch`, `stretch`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/stretch/Dockerfile) -- [`1.14.3-alpine3.11`, `1.14-alpine3.11`, `1-alpine3.11`, `alpine3.11`, `1.14.3-alpine`, `1.14-alpine`, `1-alpine`, `alpine`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/alpine3.11/Dockerfile) -- [`1.14.3-windowsservercore-ltsc2016`, `1.14-windowsservercore-ltsc2016`, `1-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-ltsc2016/Dockerfile) -- [`1.14.3-windowsservercore-1809`, `1.14-windowsservercore-1809`, `1-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-1809/Dockerfile) -- [`1.14.3-nanoserver-1809`, `1.14-nanoserver-1809`, `1-nanoserver-1809`, `nanoserver-1809`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/nanoserver-1809/Dockerfile) -- [`1.13.11-buster`, `1.13-buster`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/buster/Dockerfile) -- [`1.13.11-stretch`, `1.13-stretch`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/stretch/Dockerfile) -- [`1.13.11-alpine3.11`, `1.13-alpine3.11`, `1.13.11-alpine`, `1.13-alpine`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/alpine3.11/Dockerfile) -- [`1.13.11-alpine3.10`, `1.13-alpine3.10`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/alpine3.10/Dockerfile) -- [`1.13.11-windowsservercore-ltsc2016`, `1.13-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-ltsc2016/Dockerfile) -- [`1.13.11-windowsservercore-1809`, `1.13-windowsservercore-1809`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-1809/Dockerfile) -- [`1.13.11-nanoserver-1809`, `1.13-nanoserver-1809`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/nanoserver-1809/Dockerfile) +- [`1.16.3-buster`, `1.16-buster`, `1-buster`, `buster`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/buster/Dockerfile) +- [`1.16.3-stretch`, `1.16-stretch`, `1-stretch`, `stretch`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/stretch/Dockerfile) +- [`1.16.3-alpine3.13`, `1.16-alpine3.13`, `1-alpine3.13`, `alpine3.13`, `1.16.3-alpine`, `1.16-alpine`, `1-alpine`, `alpine`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/alpine3.13/Dockerfile) +- [`1.16.3-alpine3.12`, `1.16-alpine3.12`, `1-alpine3.12`, `alpine3.12`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/alpine3.12/Dockerfile) +- [`1.16.3-windowsservercore-1809`, `1.16-windowsservercore-1809`, `1-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-1809/Dockerfile) +- [`1.16.3-windowsservercore-ltsc2016`, `1.16-windowsservercore-ltsc2016`, `1-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-ltsc2016/Dockerfile) +- [`1.16.3-nanoserver-1809`, `1.16-nanoserver-1809`, `1-nanoserver-1809`, `nanoserver-1809`](https://github.com/docker-library/golang/blob/f12c995e27fef88ccb984605ab4748737ae3a778/1.16/windows/nanoserver-1809/Dockerfile) +- [`1.15.11-buster`, `1.15-buster`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/buster/Dockerfile) +- [`1.15.11-stretch`, `1.15-stretch`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/stretch/Dockerfile) +- [`1.15.11-alpine3.13`, `1.15-alpine3.13`, `1.15.11-alpine`, `1.15-alpine`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/alpine3.13/Dockerfile) +- [`1.15.11-alpine3.12`, `1.15-alpine3.12`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/alpine3.12/Dockerfile) +- [`1.15.11-windowsservercore-1809`, `1.15-windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-1809/Dockerfile) +- [`1.15.11-windowsservercore-ltsc2016`, `1.15-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-ltsc2016/Dockerfile) +- [`1.15.11-nanoserver-1809`, `1.15-nanoserver-1809`](https://github.com/docker-library/golang/blob/a0efffd2a9f3b2f6396a78cc7a46d5baddf74b2a/1.15/windows/nanoserver-1809/Dockerfile) ## Shared Tags -- `1.14.3`, `1.14`, `1`, `latest`: - - [`1.14.3-buster`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/buster/Dockerfile) - - [`1.14.3-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-ltsc2016/Dockerfile) - - [`1.14.3-windowsservercore-1809`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-1809/Dockerfile) -- `1.14.3-windowsservercore`, `1.14-windowsservercore`, `1-windowsservercore`, `windowsservercore`: - - [`1.14.3-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-ltsc2016/Dockerfile) - - [`1.14.3-windowsservercore-1809`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/windowsservercore-1809/Dockerfile) -- `1.14.3-nanoserver`, `1.14-nanoserver`, `1-nanoserver`, `nanoserver`: - - [`1.14.3-nanoserver-1809`](https://github.com/docker-library/golang/blob/d57a23e1c68ef0a393ef9c9267bddf0086959e3e/1.14/windows/nanoserver-1809/Dockerfile) -- `1.13.11`, `1.13`: - - [`1.13.11-buster`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/buster/Dockerfile) - - [`1.13.11-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-ltsc2016/Dockerfile) - - [`1.13.11-windowsservercore-1809`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-1809/Dockerfile) -- `1.13.11-windowsservercore`, `1.13-windowsservercore`: - - [`1.13.11-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-ltsc2016/Dockerfile) - - [`1.13.11-windowsservercore-1809`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/windowsservercore-1809/Dockerfile) -- `1.13.11-nanoserver`, `1.13-nanoserver`: - - [`1.13.11-nanoserver-1809`](https://github.com/docker-library/golang/blob/fa9e58f43dbaa227cf05f1b0dc5504f73a50bf41/1.13/windows/nanoserver-1809/Dockerfile) +- `1.16.3`, `1.16`, `1`, `latest`: + - [`1.16.3-buster`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/buster/Dockerfile) + - [`1.16.3-windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-1809/Dockerfile) + - [`1.16.3-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-ltsc2016/Dockerfile) +- `1.16.3-windowsservercore`, `1.16-windowsservercore`, `1-windowsservercore`, `windowsservercore`: + - [`1.16.3-windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-1809/Dockerfile) + - [`1.16.3-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.16/windows/windowsservercore-ltsc2016/Dockerfile) +- `1.16.3-nanoserver`, `1.16-nanoserver`, `1-nanoserver`, `nanoserver`: + - [`1.16.3-nanoserver-1809`](https://github.com/docker-library/golang/blob/f12c995e27fef88ccb984605ab4748737ae3a778/1.16/windows/nanoserver-1809/Dockerfile) +- `1.15.11`, `1.15`: + - [`1.15.11-buster`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/buster/Dockerfile) + - [`1.15.11-windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-1809/Dockerfile) + - [`1.15.11-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-ltsc2016/Dockerfile) +- `1.15.11-windowsservercore`, `1.15-windowsservercore`: + - [`1.15.11-windowsservercore-1809`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-1809/Dockerfile) + - [`1.15.11-windowsservercore-ltsc2016`](https://github.com/docker-library/golang/blob/0a17cd3bee09788bc9b24c505e12b2d11788564e/1.15/windows/windowsservercore-ltsc2016/Dockerfile) +- `1.15.11-nanoserver`, `1.15-nanoserver`: + - [`1.15.11-nanoserver-1809`](https://github.com/docker-library/golang/blob/a0efffd2a9f3b2f6396a78cc7a46d5baddf74b2a/1.15/windows/nanoserver-1809/Dockerfile) # Quick reference (cont.) @@ -69,14 +70,14 @@ WARNING: [https://github.com/docker-library/golang/issues](https://github.com/docker-library/golang/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/golang/), [`arm32v6`](https://hub.docker.com/r/arm32v6/golang/), [`arm32v7`](https://hub.docker.com/r/arm32v7/golang/), [`arm64v8`](https://hub.docker.com/r/arm64v8/golang/), [`i386`](https://hub.docker.com/r/i386/golang/), [`ppc64le`](https://hub.docker.com/r/ppc64le/golang/), [`s390x`](https://hub.docker.com/r/s390x/golang/), [`windows-amd64`](https://hub.docker.com/r/winamd64/golang/) + [`amd64`](https://hub.docker.com/r/amd64/golang/), [`arm32v5`](https://hub.docker.com/r/arm32v5/golang/), [`arm32v6`](https://hub.docker.com/r/arm32v6/golang/), [`arm32v7`](https://hub.docker.com/r/arm32v7/golang/), [`arm64v8`](https://hub.docker.com/r/arm64v8/golang/), [`i386`](https://hub.docker.com/r/i386/golang/), [`mips64le`](https://hub.docker.com/r/mips64le/golang/), [`ppc64le`](https://hub.docker.com/r/ppc64le/golang/), [`s390x`](https://hub.docker.com/r/s390x/golang/), [`windows-amd64`](https://hub.docker.com/r/winamd64/golang/) - **Published image artifact details**: [repo-info repo's `repos/golang/` directory](https://github.com/docker-library/repo-info/blob/master/repos/golang) ([history](https://github.com/docker-library/repo-info/commits/master/repos/golang)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/golang`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgolang) + [official-images repo's `library/golang` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgolang) [official-images repo's `library/golang` file](https://github.com/docker-library/official-images/blob/master/library/golang) ([history](https://github.com/docker-library/official-images/commits/master/library/golang)) - **Source of this description**: @@ -92,12 +93,14 @@ Go (a.k.a., Golang) is a programming language first developed at Google. It is a # How to use this image +**Note:** `/go` is world-writable to allow flexibility in the user which runs the container (for example, in a container started with `--user 1000:1000`, running `go get github.com/example/...` will succeed). While the `777` directory would be insecure on a regular host setup, there are not typically other processes or users inside the container, so this is equivilant to `700` for Docker usage, but allowing for `--user` flexibility. + ## 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: ```dockerfile -FROM golang:1.13 +FROM golang:1.14 WORKDIR /go/src/app COPY . . @@ -120,13 +123,13 @@ $ docker run -it --rm --name my-running-app my-golang-app 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: ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.13 go build -v +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.14 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. ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.13 make +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.14 make ``` ## Cross-compile your app inside the Docker container @@ -134,13 +137,13 @@ $ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.13 make If you need to compile your application for a platform other than `linux/amd64` (such as `windows/386`): ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.13 go build -v +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 golang:1.14 go build -v ``` Alternatively, you can build for multiple platforms at once: ```console -$ docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.13 bash +$ docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.14 bash $ for GOOS in darwin linux; do > for GOARCH in 386 amd64; do > export GOOS GOARCH @@ -161,11 +164,13 @@ Some of these tags may have names like buster or stretch in them. These are the ## `golang:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is highly experimental, and *not* officially supported by the Go project (see [golang/go#19938](https://github.com/golang/go/issues/19938) for details). -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), which can lead to unexpected behavior. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. -To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +To minimize image size, additional related tools (such as `git`, `gcc`, or `bash`) are not included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). See also [docker-library/golang#250 (comment)](https://github.com/docker-library/golang/issues/250#issuecomment-451201761) for a longer explanation. ## `golang:-windowsservercore` diff --git a/golang/content.md b/golang/content.md index 684a3b06ff79..faf63a3b6483 100644 --- a/golang/content.md +++ b/golang/content.md @@ -8,12 +8,14 @@ Go (a.k.a., Golang) is a programming language first developed at Google. It is a # How to use this image +**Note:** `/go` is world-writable to allow flexibility in the user which runs the container (for example, in a container started with `--user 1000:1000`, running `go get github.com/example/...` will succeed). While the `777` directory would be insecure on a regular host setup, there are not typically other processes or users inside the container, so this is equivilant to `700` for Docker usage, but allowing for `--user` flexibility. + ## 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: ```dockerfile -FROM %%IMAGE%%:1.13 +FROM %%IMAGE%%:1.14 WORKDIR /go/src/app COPY . . @@ -36,13 +38,13 @@ $ docker run -it --rm --name my-running-app my-golang-app 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: ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.13 go build -v +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.14 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. ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.13 make +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.14 make ``` ## Cross-compile your app inside the Docker container @@ -50,13 +52,13 @@ $ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.13 make If you need to compile your application for a platform other than `linux/amd64` (such as `windows/386`): ```console -$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 %%IMAGE%%:1.13 go build -v +$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 %%IMAGE%%:1.14 go build -v ``` Alternatively, you can build for multiple platforms at once: ```console -$ docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.13 bash +$ docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:1.14 bash $ for GOOS in darwin linux; do > for GOARCH in 386 amd64; do > export GOOS GOARCH diff --git a/golang/variant-alpine.md b/golang/variant-alpine.md new file mode 100644 index 000000000000..f14e58f4f45b --- /dev/null +++ b/golang/variant-alpine.md @@ -0,0 +1,9 @@ +## `%%IMAGE%%:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is highly experimental, and *not* officially supported by the Go project (see [golang/go#19938](https://github.com/golang/go/issues/19938) for details). + +The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), which can lead to unexpected behavior. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, additional related tools (such as `git`, `gcc`, or `bash`) are not included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). See also [docker-library/golang#250 (comment)](https://github.com/docker-library/golang/issues/250#issuecomment-451201761) for a longer explanation. diff --git a/gradle/README.md b/gradle/README.md index 55b1bab8a19e..d43783cb3753 100644 --- a/gradle/README.md +++ b/gradle/README.md @@ -20,16 +20,22 @@ WARNING: [Keegan Witt (of the Groovy Project)](https://github.com/keeganwitt/docker-gradle), [with the Gradle Project's approval](https://discuss.gradle.org/t/official-docker-images/21159/8) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`6.4.1-jdk8`, `6.4-jdk8`, `jdk8`, `6.4.1-jdk`, `6.4-jdk`, `jdk`, `6.4.1`, `6.4`, `latest`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jdk8/Dockerfile) -- [`6.4.1-jre8`, `6.4-jre8`, `jre8`, `6.4.1-jre`, `6.4-jre`, `jre`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jre8/Dockerfile) -- [`6.4.1-jdk11`, `6.4-jdk11`, `jdk11`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jdk11/Dockerfile) -- [`6.4.1-jre11`, `6.4-jre11`, `jre11`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jre11/Dockerfile) -- [`6.4.1-jdk14`, `6.4-jdk14`, `jdk14`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jdk14/Dockerfile) -- [`6.4.1-jre14`, `6.4-jre14`, `jre14`](https://github.com/keeganwitt/docker-gradle/blob/817aaf497e85eab01821d9faf2854df88e58702f/jre14/Dockerfile) +- [`7.0.0-jdk8`, `7.0.0-jdk8-hotspot`, `7.0-jdk8`, `7.0-jdk8-hotspot`, `jdk8`, `jdk8-hotspot`, `7.0.0-jdk`, `7.0.0-jdk-hotspot`, `7.0-jdk`, `7.0-jdk-hotspot`, `jdk`, `jdk-hotspot`, `7.0.0`, `7.0.0-hotspot`, `7.0`, `7.0-hotspot`, `latest`, `hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jdk8/Dockerfile) +- [`7.0.0-jre8`, `7.0.0-jre8-hotspot`, `7.0-jre8`, `7.0-jre8-hotspot`, `jre8`, `jre8-hotspot`, `7.0.0-jre`, `7.0.0-jre-hotspot`, `7.0-jre`, `7.0-jre-hotspot`, `jre`, `jre-hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jre8/Dockerfile) +- [`7.0.0-jdk11`, `7.0.0-jdk11-hotspot`, `7.0-jdk11`, `7.0-jdk11-hotspot`, `jdk11`, `jdk11-hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jdk11/Dockerfile) +- [`7.0.0-jre11`, `7.0.0-jre11-hotspot`, `7.0-jre11`, `7.0-jre11-hotspot`, `jre11`, `jre11-hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jre11/Dockerfile) +- [`7.0.0-jdk16`, `7.0.0-jdk16-hotspot`, `7.0-jdk16`, `7.0-jdk16-hotspot`, `jdk16`, `jdk16-hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jdk16/Dockerfile) +- [`7.0.0-jre16`, `7.0.0-jre16-hotspot`, `7.0-jre16`, `7.0-jre16-hotspot`, `jre16`, `jre16-hotspot`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/hotspot/jre16/Dockerfile) +- [`7.0.0-jdk8-openj9`, `7.0-jdk8-openj9`, `jdk8-openj9`, `7.0.0-jdk-openj9`, `7.0-jdk-openj9`, `jdk-openj9`, `7.0.0-openj9`, `7.0-openj9`, `openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jdk8/Dockerfile) +- [`7.0.0-jre8-openj9`, `7.0-jre8-openj9`, `jre8-openj9`, `7.0.0-jre-openj9`, `7.0-jre-openj9`, `jre-openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jre8/Dockerfile) +- [`7.0.0-jdk11-openj9`, `7.0-jdk11-openj9`, `jdk11-openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jdk11/Dockerfile) +- [`7.0.0-jre11-openj9`, `7.0-jre11-openj9`, `jre11-openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jre11/Dockerfile) +- [`7.0.0-jdk16-openj9`, `7.0-jdk16-openj9`, `jdk16-openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jdk16/Dockerfile) +- [`7.0.0-jre16-openj9`, `7.0-jre16-openj9`, `jre16-openj9`](https://github.com/keeganwitt/docker-gradle/blob/605a08fb025ad34e8e9d5d2391427886e64fc9f7/openj9/jre16/Dockerfile) # Quick reference (cont.) @@ -44,7 +50,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/gradle`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgradle) + [official-images repo's `library/gradle` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgradle) [official-images repo's `library/gradle` file](https://github.com/docker-library/official-images/blob/master/library/gradle) ([history](https://github.com/docker-library/official-images/commits/master/library/gradle)) - **Source of this description**: diff --git a/groovy/README.md b/groovy/README.md index f8799732d8af..5f624fa797d0 100644 --- a/groovy/README.md +++ b/groovy/README.md @@ -20,16 +20,22 @@ WARNING: [the Apache Groovy project](https://github.com/groovy/docker-groovy) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.0.4-jdk8`, `3.0-jdk8`, `3.0.4-jdk`, `3.0-jdk`, `jdk8`, `jdk`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jdk8/Dockerfile) -- [`3.0.4-jre8`, `3.0-jre8`, `3.0.4-jre`, `3.0-jre`, `3.0.4`, `3.0`, `jre8`, `jre`, `latest`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jre8/Dockerfile) -- [`3.0.4-jdk11`, `3.0-jdk11`, `jdk11`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jdk11/Dockerfile) -- [`3.0.4-jre11`, `3.0-jre11`, `jre11`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jre11/Dockerfile) -- [`3.0.4-jdk14`, `3.0-jdk14`, `jdk14`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jdk14/Dockerfile) -- [`3.0.4-jre14`, `3.0-jre14`, `jre14`](https://github.com/groovy/docker-groovy/blob/6301e19926a4668ac470e4ce9b850e4b9380bfc3/jre14/Dockerfile) +- [`3.0.8-jdk8`, `3.0-jdk8`, `3.0.8-jdk`, `3.0-jdk`, `jdk8`, `jdk`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jdk8/Dockerfile) +- [`3.0.8-jre8`, `3.0-jre8`, `3.0.8-jre`, `3.0-jre`, `3.0.8`, `3.0`, `jre8`, `jre`, `latest`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jre8/Dockerfile) +- [`3.0.8-jdk11`, `3.0-jdk11`, `jdk11`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jdk11/Dockerfile) +- [`3.0.8-jre11`, `3.0-jre11`, `jre11`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jre11/Dockerfile) +- [`3.0.8-jdk16`, `3.0-jdk16`, `jdk16`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jdk16/Dockerfile) +- [`3.0.8-jre16`, `3.0-jre16`, `jre16`](https://github.com/groovy/docker-groovy/blob/fc758151cb38024e32f2bf1d05d672eb589d5872/jre16/Dockerfile) +- [`4.0.0-alpha-3-jdk8`, `4.0-jdk8`, `4.0.0-alpha-3-jdk`, `4.0-jdk`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jdk8/Dockerfile) +- [`4.0.0-alpha-3-jre8`, `4.0-jre8`, `4.0.0-alpha-3-jre`, `4.0-jre`, `4.0.0-alpha-3`, `4.0`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jre8/Dockerfile) +- [`4.0.0-alpha-3-jdk11`, `4.0-jdk11`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jdk11/Dockerfile) +- [`4.0.0-alpha-3-jre11`, `4.0-jre11`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jre11/Dockerfile) +- [`4.0.0-alpha-3-jdk16`, `4.0-jdk16`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jdk16/Dockerfile) +- [`4.0.0-alpha-3-jre16`, `4.0-jre16`](https://github.com/groovy/docker-groovy/blob/ad50fefc1fc19511003471541a68eba490642bd8/jre16/Dockerfile) # Quick reference (cont.) @@ -44,7 +50,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/groovy`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fgroovy) + [official-images repo's `library/groovy` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgroovy) [official-images repo's `library/groovy` file](https://github.com/docker-library/official-images/blob/master/library/groovy) ([history](https://github.com/docker-library/official-images/commits/master/library/groovy)) - **Source of this description**: diff --git a/haproxy/README.md b/haproxy/README.md index 4086a384100f..30c6de4692ed 100644 --- a/haproxy/README.md +++ b/haproxy/README.md @@ -20,24 +20,22 @@ WARNING: [the Docker Community](https://github.com/docker-library/haproxy) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.2-dev8`, `2.2-rc`](https://github.com/docker-library/haproxy/blob/8acafe8ca3217a6d67afdd95a474206d79d857b0/2.2-rc/Dockerfile) -- [`2.2-dev8-alpine`, `2.2-rc-alpine`](https://github.com/docker-library/haproxy/blob/8acafe8ca3217a6d67afdd95a474206d79d857b0/2.2-rc/alpine/Dockerfile) -- [`2.1.4`, `2.1`, `latest`](https://github.com/docker-library/haproxy/blob/eeaaa570ccaeec6fa7e545b9314d6f246b6b283c/2.1/Dockerfile) -- [`2.1.4-alpine`, `2.1-alpine`, `alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/2.1/alpine/Dockerfile) -- [`2.0.14`, `2.0`, `lts`](https://github.com/docker-library/haproxy/blob/eeaaa570ccaeec6fa7e545b9314d6f246b6b283c/2.0/Dockerfile) -- [`2.0.14-alpine`, `2.0-alpine`, `lts-alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/2.0/alpine/Dockerfile) -- [`1.9.15`, `1.9`, `1`](https://github.com/docker-library/haproxy/blob/eeaaa570ccaeec6fa7e545b9314d6f246b6b283c/1.9/Dockerfile) -- [`1.9.15-alpine`, `1.9-alpine`, `1-alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/1.9/alpine/Dockerfile) -- [`1.8.25`, `1.8`](https://github.com/docker-library/haproxy/blob/eeaaa570ccaeec6fa7e545b9314d6f246b6b283c/1.8/Dockerfile) -- [`1.8.25-alpine`, `1.8-alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/1.8/alpine/Dockerfile) -- [`1.7.12`, `1.7`](https://github.com/docker-library/haproxy/blob/14431e31ab981456585021f7dca35626c5e060c1/1.7/Dockerfile) -- [`1.7.12-alpine`, `1.7-alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/1.7/alpine/Dockerfile) -- [`1.6.15`, `1.6`](https://github.com/docker-library/haproxy/blob/4e917ff7cbc629b29af59d02057ceece8102e4e0/1.6/Dockerfile) -- [`1.6.15-alpine`, `1.6-alpine`](https://github.com/docker-library/haproxy/blob/bfa23c19cffdb4247474b2138feeeb14f48b7fe4/1.6/alpine/Dockerfile) +- [`2.4-dev16`, `2.4-dev`](https://github.com/docker-library/haproxy/blob/787536c6d9ad19a63be432a411ae479133f083f7/2.4-rc/Dockerfile) +- [`2.4-dev16-alpine`, `2.4-dev-alpine`](https://github.com/docker-library/haproxy/blob/787536c6d9ad19a63be432a411ae479133f083f7/2.4-rc/alpine/Dockerfile) +- [`2.3.10`, `2.3`, `latest`](https://github.com/docker-library/haproxy/blob/db9335048c43b78fb4daec1ac9d7d171fc209d78/2.3/Dockerfile) +- [`2.3.10-alpine`, `2.3-alpine`, `alpine`](https://github.com/docker-library/haproxy/blob/db9335048c43b78fb4daec1ac9d7d171fc209d78/2.3/alpine/Dockerfile) +- [`2.2.13`, `2.2`, `lts`](https://github.com/docker-library/haproxy/blob/fbf6af629fb5b81eaa1fbb2b8f28655b679e8ae5/2.2/Dockerfile) +- [`2.2.13-alpine`, `2.2-alpine`, `lts-alpine`](https://github.com/docker-library/haproxy/blob/fbf6af629fb5b81eaa1fbb2b8f28655b679e8ae5/2.2/alpine/Dockerfile) +- [`2.0.22`, `2.0`](https://github.com/docker-library/haproxy/blob/a67c29391a51f0fa90c0256b35b5c27d8bc598ce/2.0/Dockerfile) +- [`2.0.22-alpine`, `2.0-alpine`](https://github.com/docker-library/haproxy/blob/a67c29391a51f0fa90c0256b35b5c27d8bc598ce/2.0/alpine/Dockerfile) +- [`1.8.30`, `1.8`](https://github.com/docker-library/haproxy/blob/0e7b078d5ff2ed9f29e4223a5d3d38d191818505/1.8/Dockerfile) +- [`1.8.30-alpine`, `1.8-alpine`](https://github.com/docker-library/haproxy/blob/0e7b078d5ff2ed9f29e4223a5d3d38d191818505/1.8/alpine/Dockerfile) +- [`1.7.14`, `1.7`](https://github.com/docker-library/haproxy/blob/2991130ba47e26edd1e0eb32239c3a4a7b579aa6/1.7/Dockerfile) +- [`1.7.14-alpine`, `1.7-alpine`](https://github.com/docker-library/haproxy/blob/2991130ba47e26edd1e0eb32239c3a4a7b579aa6/1.7/alpine/Dockerfile) # Quick reference (cont.) @@ -52,7 +50,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/haproxy`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhaproxy) + [official-images repo's `library/haproxy` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhaproxy) [official-images repo's `library/haproxy` file](https://github.com/docker-library/official-images/blob/master/library/haproxy) ([history](https://github.com/docker-library/official-images/commits/master/library/haproxy)) - **Source of this description**: @@ -64,7 +62,7 @@ HAProxy is a free, open source high availability solution, providing load balanc > [wikipedia.org/wiki/HAProxy](https://en.wikipedia.org/wiki/HAProxy) -![logo](https://raw.githubusercontent.com/docker-library/docs/566c944ca5eb9d1947c8a2e8821f8de2b0fc144c/haproxy/logo.png) +![logo](https://raw.githubusercontent.com/docker-library/docs/4da3e2446a4c257c3a32faac6256bee81f770316/haproxy/logo.png) # How to use this image @@ -72,12 +70,12 @@ Since no two users of HAProxy are likely to configure it exactly alike, this ima 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://git.haproxy.org/?p=haproxy-1.8.git;a=tree;f=examples). +It is also worth checking out the [`examples/` directory from upstream](http://git.haproxy.org/?p=haproxy-2.3.git;a=tree;f=examples). ## Create a `Dockerfile` ```dockerfile -FROM haproxy:1.7 +FROM haproxy:2.3 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg ``` @@ -96,15 +94,17 @@ $ docker run -it --rm --name haproxy-syntax-check my-haproxy haproxy -c -f /usr/ ## Run the container ```console -$ docker run -d --name my-running-haproxy my-haproxy +$ docker run -d --name my-running-haproxy --sysctl net.ipv4.ip_unprivileged_port_start=0 my-haproxy ``` You may need to publish the ports your HAProxy is listening on to the host by specifying the -p option, for example -p 8080:80 to publish port 8080 from the container host to port 80 in the container. Make sure the port you're using is free. +**Note:** the 2.4+ versions of the container will run as `USER haproxy` by default (hence the `--sysctl net.ipv4.ip_unprivileged_port_start=0` above), but older versions still default to `root` for compatibility reasons; use `--user haproxy` (or any other UID) if you want to run as non-root in older versions. + ## Directly via bind mount ```console -$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro haproxy:1.7 +$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro --sysctl net.ipv4.ip_unprivileged_port_start=0 haproxy:2.3 ``` Note that your host's `/path/to/etc/haproxy` folder should be populated with a file named `haproxy.cfg`. If this configuration file refers to any other files within that folder then you should ensure that they also exist (e.g. template files such as `400.http`, `404.http`, and so forth). However, many minimal configurations do not require any supporting files. @@ -117,7 +117,7 @@ If you used a bind mount for the config and have edited your `haproxy.cfg` file, $ docker kill -s HUP my-running-haproxy ``` -The entrypoint script in the image checks for running the command `haproxy` and replaces it with `haproxy-systemd-wrapper` from HAProxy upstream which takes care of signal handling to do the graceful reload. Under the hood this uses the `-sf` option of `haproxy` so "there are two small windows of a few milliseconds each where it is possible that a few connection failures will be noticed during high loads" (see [Stopping and restarting HAProxy](http://www.haproxy.org/download/1.7/doc/management.txt)). +The entrypoint script in the image checks for running the command `haproxy` and replaces it with `haproxy-systemd-wrapper` from HAProxy upstream which takes care of signal handling to do the graceful reload. Under the hood this uses the `-sf` option of `haproxy` so "there are two small windows of a few milliseconds each where it is possible that a few connection failures will be noticed during high loads" (see [Stopping and restarting HAProxy](http://www.haproxy.org/download/2.3/doc/management.txt)). # Image Variants @@ -129,9 +129,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `haproxy:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/haproxy/content.md b/haproxy/content.md index e05cf3fb753f..254c23bfaa32 100644 --- a/haproxy/content.md +++ b/haproxy/content.md @@ -12,12 +12,12 @@ Since no two users of HAProxy are likely to configure it exactly alike, this ima 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://git.haproxy.org/?p=haproxy-1.8.git;a=tree;f=examples). +It is also worth checking out the [`examples/` directory from upstream](http://git.haproxy.org/?p=haproxy-2.3.git;a=tree;f=examples). ## Create a `Dockerfile` ```dockerfile -FROM %%IMAGE%%:1.7 +FROM %%IMAGE%%:2.3 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg ``` @@ -36,15 +36,17 @@ $ docker run -it --rm --name haproxy-syntax-check my-haproxy haproxy -c -f /usr/ ## Run the container ```console -$ docker run -d --name my-running-haproxy my-haproxy +$ docker run -d --name my-running-haproxy --sysctl net.ipv4.ip_unprivileged_port_start=0 my-haproxy ``` You may need to publish the ports your HAProxy is listening on to the host by specifying the -p option, for example -p 8080:80 to publish port 8080 from the container host to port 80 in the container. Make sure the port you're using is free. +**Note:** the 2.4+ versions of the container will run as `USER haproxy` by default (hence the `--sysctl net.ipv4.ip_unprivileged_port_start=0` above), but older versions still default to `root` for compatibility reasons; use `--user haproxy` (or any other UID) if you want to run as non-root in older versions. + ## Directly via bind mount ```console -$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro %%IMAGE%%:1.7 +$ docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro --sysctl net.ipv4.ip_unprivileged_port_start=0 %%IMAGE%%:2.3 ``` Note that your host's `/path/to/etc/haproxy` folder should be populated with a file named `haproxy.cfg`. If this configuration file refers to any other files within that folder then you should ensure that they also exist (e.g. template files such as `400.http`, `404.http`, and so forth). However, many minimal configurations do not require any supporting files. @@ -57,4 +59,4 @@ If you used a bind mount for the config and have edited your `haproxy.cfg` file, $ docker kill -s HUP my-running-haproxy ``` -The entrypoint script in the image checks for running the command `haproxy` and replaces it with `haproxy-systemd-wrapper` from HAProxy upstream which takes care of signal handling to do the graceful reload. Under the hood this uses the `-sf` option of `haproxy` so "there are two small windows of a few milliseconds each where it is possible that a few connection failures will be noticed during high loads" (see [Stopping and restarting HAProxy](http://www.haproxy.org/download/1.7/doc/management.txt)). +The entrypoint script in the image checks for running the command `haproxy` and replaces it with `haproxy-systemd-wrapper` from HAProxy upstream which takes care of signal handling to do the graceful reload. Under the hood this uses the `-sf` option of `haproxy` so "there are two small windows of a few milliseconds each where it is possible that a few connection failures will be noticed during high loads" (see [Stopping and restarting HAProxy](http://www.haproxy.org/download/2.3/doc/management.txt)). diff --git a/haproxy/logo.png b/haproxy/logo.png index 1be03b25ac43..06262b083748 100644 Binary files a/haproxy/logo.png and b/haproxy/logo.png differ diff --git a/haskell/README.md b/haskell/README.md index cdb37bdbcd36..5a941b328809 100644 --- a/haskell/README.md +++ b/haskell/README.md @@ -20,14 +20,14 @@ WARNING: [the Docker Community](https://github.com/haskell/docker-haskell) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8.10.1-buster`, `8.10-buster`, `8-buster`, `buster`, `8.10.1`, `8.10`, `8`, `latest`](https://github.com/haskell/docker-haskell/blob/82f44382a183fcc1d0026d8abe58259195a8930c/8.10/buster/Dockerfile) -- [`8.10.1-stretch`, `8.10-stretch`, `8-stretch`, `stretch`](https://github.com/haskell/docker-haskell/blob/82f44382a183fcc1d0026d8abe58259195a8930c/8.10/stretch/Dockerfile) -- [`8.8.3-buster`, `8.8-buster`, `8.8.3`, `8.8`](https://github.com/haskell/docker-haskell/blob/82f44382a183fcc1d0026d8abe58259195a8930c/8.8/buster/Dockerfile) -- [`8.8.3-stretch`, `8.8-stretch`](https://github.com/haskell/docker-haskell/blob/82f44382a183fcc1d0026d8abe58259195a8930c/8.8/stretch/Dockerfile) +- [`9.0.1-buster`, `9.0-buster`, `9-buster`, `buster`, `9.0.1`, `9.0`, `9`, `latest`](https://github.com/haskell/docker-haskell/blob/0f1e3f51f5930cce90aacefae4ae3c12f609a2be/9.0/buster/Dockerfile) +- [`9.0.1-stretch`, `9.0-stretch`, `9-stretch`, `stretch`](https://github.com/haskell/docker-haskell/blob/0f1e3f51f5930cce90aacefae4ae3c12f609a2be/9.0/stretch/Dockerfile) +- [`8.10.4-buster`, `8.10-buster`, `8-buster`, `8.10.4`, `8.10`, `8`](https://github.com/haskell/docker-haskell/blob/0f1e3f51f5930cce90aacefae4ae3c12f609a2be/8.10/buster/Dockerfile) +- [`8.10.4-stretch`, `8.10-stretch`, `8-stretch`](https://github.com/haskell/docker-haskell/blob/0f1e3f51f5930cce90aacefae4ae3c12f609a2be/8.10/stretch/Dockerfile) # Quick reference (cont.) @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/haskell`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhaskell) + [official-images repo's `library/haskell` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhaskell) [official-images repo's `library/haskell` file](https://github.com/docker-library/official-images/blob/master/library/haskell) ([history](https://github.com/docker-library/official-images/commits/master/library/haskell)) - **Source of this description**: diff --git a/haxe/README.md b/haxe/README.md index 1af38a249440..7e01f83d21a5 100644 --- a/haxe/README.md +++ b/haxe/README.md @@ -20,7 +20,7 @@ WARNING: [the Haxe Foundation](https://github.com/HaxeFoundation/docker-library-haxe) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,66 +28,74 @@ WARNING: ## Simple Tags -- [`4.1.1-buster`, `4.1-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/buster/Dockerfile) -- [`4.1.1-stretch`, `4.1-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/stretch/Dockerfile) -- [`4.1.1-windowsservercore-1809`, `4.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-1809/Dockerfile) -- [`4.1.1-windowsservercore-ltsc2016`, `4.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-ltsc2016/Dockerfile) -- [`4.1.1-alpine3.11`, `4.1-alpine3.11`, `4.1.1-alpine`, `4.1-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/alpine3.11/Dockerfile) -- [`4.1.1-alpine3.10`, `4.1-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/alpine3.10/Dockerfile) -- [`4.1.1-alpine3.9`, `4.1-alpine3.9`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/alpine3.9/Dockerfile) -- [`4.1.1-alpine3.8`, `4.1-alpine3.8`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/alpine3.8/Dockerfile) -- [`4.0.5-buster`, `4.0-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/1f586bf85c12ce5c9300f24079912b94c73bc3f7/4.0/buster/Dockerfile) -- [`4.0.5-stretch`, `4.0-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/4.0/stretch/Dockerfile) -- [`4.0.5-jessie`, `4.0-jessie`](https://github.com/HaxeFoundation/docker-library-haxe/blob/02dd441749ccca93e1898b130b569a3f40cd6241/4.0/jessie/Dockerfile) +- [`4.2.1-buster`, `4.2-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/buster/Dockerfile) +- [`4.2.1-windowsservercore-1809`, `4.2-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-1809/Dockerfile) +- [`4.2.1-windowsservercore-ltsc2016`, `4.2-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-ltsc2016/Dockerfile) +- [`4.2.1-alpine3.13`, `4.2-alpine3.13`, `4.2.1-alpine`, `4.2-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/alpine3.13/Dockerfile) +- [`4.2.1-alpine3.12`, `4.2-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/alpine3.12/Dockerfile) +- [`4.2.1-alpine3.11`, `4.2-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/alpine3.11/Dockerfile) +- [`4.2.1-alpine3.10`, `4.2-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/alpine3.10/Dockerfile) +- [`4.1.5-buster`, `4.1-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.1/buster/Dockerfile) +- [`4.1.5-windowsservercore-1809`, `4.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-1809/Dockerfile) +- [`4.1.5-windowsservercore-ltsc2016`, `4.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-ltsc2016/Dockerfile) +- [`4.1.5-alpine3.13`, `4.1-alpine3.13`, `4.1.5-alpine`, `4.1-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c195ebc0755b9debcfacbd6edc977a8ad1cd450e/4.1/alpine3.13/Dockerfile) +- [`4.1.5-alpine3.12`, `4.1-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.1/alpine3.12/Dockerfile) +- [`4.1.5-alpine3.11`, `4.1-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.1/alpine3.11/Dockerfile) +- [`4.1.5-alpine3.10`, `4.1-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.1/alpine3.10/Dockerfile) +- [`4.0.5-buster`, `4.0-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/buster/Dockerfile) +- [`4.0.5-stretch`, `4.0-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/stretch/Dockerfile) - [`4.0.5-windowsservercore-1809`, `4.0-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/38b1ceb14a5692ae2c655c056baaff79d963da33/4.0/windowsservercore-1809/Dockerfile) - [`4.0.5-windowsservercore-ltsc2016`, `4.0-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/38b1ceb14a5692ae2c655c056baaff79d963da33/4.0/windowsservercore-ltsc2016/Dockerfile) -- [`4.0.5-alpine3.11`, `4.0-alpine3.11`, `4.0.5-alpine`, `4.0-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/4.0/alpine3.11/Dockerfile) -- [`4.0.5-alpine3.10`, `4.0-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/4.0/alpine3.10/Dockerfile) -- [`4.0.5-alpine3.9`, `4.0-alpine3.9`](https://github.com/HaxeFoundation/docker-library-haxe/blob/9452cd39492aae3456889ac6ba92072dd73ad19f/4.0/alpine3.9/Dockerfile) -- [`4.0.5-alpine3.8`, `4.0-alpine3.8`](https://github.com/HaxeFoundation/docker-library-haxe/blob/9452cd39492aae3456889ac6ba92072dd73ad19f/4.0/alpine3.8/Dockerfile) +- [`4.0.5-alpine3.13`, `4.0-alpine3.13`, `4.0.5-alpine`, `4.0-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c195ebc0755b9debcfacbd6edc977a8ad1cd450e/4.0/alpine3.13/Dockerfile) +- [`4.0.5-alpine3.12`, `4.0-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/alpine3.12/Dockerfile) +- [`4.0.5-alpine3.11`, `4.0-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/alpine3.11/Dockerfile) +- [`4.0.5-alpine3.10`, `4.0-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/alpine3.10/Dockerfile) - [`3.4.7-buster`, `3.4-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/1f586bf85c12ce5c9300f24079912b94c73bc3f7/3.4/buster/Dockerfile) - [`3.4.7-stretch`, `3.4-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.4/stretch/Dockerfile) -- [`3.4.7-jessie`, `3.4-jessie`](https://github.com/HaxeFoundation/docker-library-haxe/blob/02dd441749ccca93e1898b130b569a3f40cd6241/3.4/jessie/Dockerfile) - [`3.4.7-windowsservercore-1809`, `3.4-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.4/windowsservercore-1809/Dockerfile) - [`3.4.7-windowsservercore-ltsc2016`, `3.4-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.4/windowsservercore-ltsc2016/Dockerfile) -- [`3.4.7-alpine3.11`, `3.4-alpine3.11`, `3.4.7-alpine`, `3.4-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.4/alpine3.11/Dockerfile) +- [`3.4.7-alpine3.13`, `3.4-alpine3.13`, `3.4.7-alpine`, `3.4-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c195ebc0755b9debcfacbd6edc977a8ad1cd450e/3.4/alpine3.13/Dockerfile) +- [`3.4.7-alpine3.12`, `3.4-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/d902612570437c75dc21b83b6fe0afd39a8c260d/3.4/alpine3.12/Dockerfile) +- [`3.4.7-alpine3.11`, `3.4-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.4/alpine3.11/Dockerfile) - [`3.4.7-alpine3.10`, `3.4-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.4/alpine3.10/Dockerfile) -- [`3.4.7-alpine3.9`, `3.4-alpine3.9`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.4/alpine3.9/Dockerfile) -- [`3.4.7-alpine3.8`, `3.4-alpine3.8`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.4/alpine3.8/Dockerfile) - [`3.3.0-rc.1-buster`, `3.3.0-buster`, `3.3-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/1f586bf85c12ce5c9300f24079912b94c73bc3f7/3.3/buster/Dockerfile) - [`3.3.0-rc.1-stretch`, `3.3.0-stretch`, `3.3-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.3/stretch/Dockerfile) -- [`3.3.0-rc.1-jessie`, `3.3.0-jessie`, `3.3-jessie`](https://github.com/HaxeFoundation/docker-library-haxe/blob/02dd441749ccca93e1898b130b569a3f40cd6241/3.3/jessie/Dockerfile) - [`3.3.0-rc.1-windowsservercore-1809`, `3.3.0-windowsservercore-1809`, `3.3-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.3/windowsservercore-1809/Dockerfile) - [`3.3.0-rc.1-windowsservercore-ltsc2016`, `3.3.0-windowsservercore-ltsc2016`, `3.3-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.3/windowsservercore-ltsc2016/Dockerfile) -- [`3.3.0-rc.1-alpine3.11`, `3.3.0-rc.1-alpine`, `3.3.0-alpine3.11`, `3.3-alpine3.11`, `3.3.0-alpine`, `3.3-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.3/alpine3.11/Dockerfile) +- [`3.3.0-rc.1-alpine3.13`, `3.3.0-rc.1-alpine`, `3.3.0-alpine3.13`, `3.3-alpine3.13`, `3.3.0-alpine`, `3.3-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c195ebc0755b9debcfacbd6edc977a8ad1cd450e/3.3/alpine3.13/Dockerfile) +- [`3.3.0-rc.1-alpine3.12`, `3.3.0-alpine3.12`, `3.3-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/d902612570437c75dc21b83b6fe0afd39a8c260d/3.3/alpine3.12/Dockerfile) +- [`3.3.0-rc.1-alpine3.11`, `3.3.0-alpine3.11`, `3.3-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.3/alpine3.11/Dockerfile) - [`3.3.0-rc.1-alpine3.10`, `3.3.0-alpine3.10`, `3.3-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.3/alpine3.10/Dockerfile) -- [`3.3.0-rc.1-alpine3.9`, `3.3.0-alpine3.9`, `3.3-alpine3.9`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.3/alpine3.9/Dockerfile) -- [`3.3.0-rc.1-alpine3.8`, `3.3.0-alpine3.8`, `3.3-alpine3.8`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.3/alpine3.8/Dockerfile) - [`3.2.1-buster`, `3.2-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/1f586bf85c12ce5c9300f24079912b94c73bc3f7/3.2/buster/Dockerfile) - [`3.2.1-stretch`, `3.2-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.2/stretch/Dockerfile) -- [`3.2.1-jessie`, `3.2-jessie`](https://github.com/HaxeFoundation/docker-library-haxe/blob/02dd441749ccca93e1898b130b569a3f40cd6241/3.2/jessie/Dockerfile) - [`3.2.1-windowsservercore-1809`, `3.2-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.2/windowsservercore-1809/Dockerfile) - [`3.2.1-windowsservercore-ltsc2016`, `3.2-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.2/windowsservercore-ltsc2016/Dockerfile) -- [`3.2.1-alpine3.11`, `3.2-alpine3.11`, `3.2.1-alpine`, `3.2-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.2/alpine3.11/Dockerfile) +- [`3.2.1-alpine3.13`, `3.2-alpine3.13`, `3.2.1-alpine`, `3.2-alpine`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c195ebc0755b9debcfacbd6edc977a8ad1cd450e/3.2/alpine3.13/Dockerfile) +- [`3.2.1-alpine3.12`, `3.2-alpine3.12`](https://github.com/HaxeFoundation/docker-library-haxe/blob/d902612570437c75dc21b83b6fe0afd39a8c260d/3.2/alpine3.12/Dockerfile) +- [`3.2.1-alpine3.11`, `3.2-alpine3.11`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.2/alpine3.11/Dockerfile) - [`3.2.1-alpine3.10`, `3.2-alpine3.10`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.2/alpine3.10/Dockerfile) -- [`3.2.1-alpine3.9`, `3.2-alpine3.9`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.2/alpine3.9/Dockerfile) -- [`3.2.1-alpine3.8`, `3.2-alpine3.8`](https://github.com/HaxeFoundation/docker-library-haxe/blob/bf02021c6d7938b000481a0878d029c5816437f8/3.2/alpine3.8/Dockerfile) - [`3.1.3-stretch`, `3.1-stretch`](https://github.com/HaxeFoundation/docker-library-haxe/blob/e57329c158b19f881c57a0496afbaf4446895fca/3.1/stretch/Dockerfile) -- [`3.1.3-jessie`, `3.1-jessie`](https://github.com/HaxeFoundation/docker-library-haxe/blob/02dd441749ccca93e1898b130b569a3f40cd6241/3.1/jessie/Dockerfile) - [`3.1.3-windowsservercore-1809`, `3.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.1/windowsservercore-1809/Dockerfile) - [`3.1.3-windowsservercore-ltsc2016`, `3.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/7df74d220cce33998dde7623f8c9176d7fa938f7/3.1/windowsservercore-ltsc2016/Dockerfile) ## Shared Tags -- `4.1.1`, `4.1`, `latest`: - - [`4.1.1-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/buster/Dockerfile) - - [`4.1.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-1809/Dockerfile) - - [`4.1.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-ltsc2016/Dockerfile) -- `4.1.1-windowsservercore`, `4.1-windowsservercore`: - - [`4.1.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-1809/Dockerfile) - - [`4.1.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/b0a6d391947d9ed64cfb95437509e989ea53ebe3/4.1/windowsservercore-ltsc2016/Dockerfile) +- `4.2.1`, `4.2`, `latest`: + - [`4.2.1-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/buster/Dockerfile) + - [`4.2.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-1809/Dockerfile) + - [`4.2.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-ltsc2016/Dockerfile) +- `4.2.1-windowsservercore`, `4.2-windowsservercore`: + - [`4.2.1-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-1809/Dockerfile) + - [`4.2.1-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/6ab31e9e69f2429998f958348e254674970e2d8c/4.2/windowsservercore-ltsc2016/Dockerfile) +- `4.1.5`, `4.1`: + - [`4.1.5-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.1/buster/Dockerfile) + - [`4.1.5-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-1809/Dockerfile) + - [`4.1.5-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-ltsc2016/Dockerfile) +- `4.1.5-windowsservercore`, `4.1-windowsservercore`: + - [`4.1.5-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-1809/Dockerfile) + - [`4.1.5-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/c01eea28361debd68bc2e1f5318aa0bf28ebb05a/4.1/windowsservercore-ltsc2016/Dockerfile) - `4.0.5`, `4.0`: - - [`4.0.5-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/1f586bf85c12ce5c9300f24079912b94c73bc3f7/4.0/buster/Dockerfile) + - [`4.0.5-buster`](https://github.com/HaxeFoundation/docker-library-haxe/blob/adf0e23e460a657c77c44f2502e5fa8cf820d020/4.0/buster/Dockerfile) - [`4.0.5-windowsservercore-1809`](https://github.com/HaxeFoundation/docker-library-haxe/blob/38b1ceb14a5692ae2c655c056baaff79d963da33/4.0/windowsservercore-1809/Dockerfile) - [`4.0.5-windowsservercore-ltsc2016`](https://github.com/HaxeFoundation/docker-library-haxe/blob/38b1ceb14a5692ae2c655c056baaff79d963da33/4.0/windowsservercore-ltsc2016/Dockerfile) - `4.0.5-windowsservercore`, `4.0-windowsservercore`: @@ -131,7 +139,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/haxe`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhaxe) + [official-images repo's `library/haxe` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhaxe) [official-images repo's `library/haxe` file](https://github.com/docker-library/official-images/blob/master/library/haxe) ([history](https://github.com/docker-library/official-images/commits/master/library/haxe)) - **Source of this description**: @@ -209,7 +217,7 @@ The `haxe` images come in many flavors, each designed for a specific use case. This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like buster, jessie, or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. +Some of these tags may have names like buster or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. ## `haxe:-windowsservercore` @@ -222,9 +230,9 @@ For information about how to get Docker running on Windows, please see the relev ## `haxe:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/hello-world/README.md b/hello-world/README.md index f567e6d247be..a1156421252c 100644 --- a/hello-world/README.md +++ b/hello-world/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/hello-world) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -29,15 +29,15 @@ WARNING: ## Simple Tags - [`linux`](https://github.com/docker-library/hello-world/blob/7ecae6978055d2fb6960e2a29d24a2af612e2716/amd64/hello-world/Dockerfile) -- [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/9c93e37114a7fe99b5fc0d776e0b8dff99cbbb75/amd64/hello-world/nanoserver-1809/Dockerfile) +- [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/a6fdcbffb08c09e63c48cda1878e15fefcb6460a/amd64/hello-world/nanoserver-1809/Dockerfile) ## Shared Tags - `latest`: - [`linux`](https://github.com/docker-library/hello-world/blob/7ecae6978055d2fb6960e2a29d24a2af612e2716/amd64/hello-world/Dockerfile) - - [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/9c93e37114a7fe99b5fc0d776e0b8dff99cbbb75/amd64/hello-world/nanoserver-1809/Dockerfile) + - [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/a6fdcbffb08c09e63c48cda1878e15fefcb6460a/amd64/hello-world/nanoserver-1809/Dockerfile) - `nanoserver`: - - [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/9c93e37114a7fe99b5fc0d776e0b8dff99cbbb75/amd64/hello-world/nanoserver-1809/Dockerfile) + - [`nanoserver-1809`](https://github.com/docker-library/hello-world/blob/a6fdcbffb08c09e63c48cda1878e15fefcb6460a/amd64/hello-world/nanoserver-1809/Dockerfile) # Quick reference (cont.) @@ -52,7 +52,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/hello-world`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhello-world) + [official-images repo's `library/hello-world` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhello-world) [official-images repo's `library/hello-world` file](https://github.com/docker-library/official-images/blob/master/library/hello-world) ([history](https://github.com/docker-library/official-images/commits/master/library/hello-world)) - **Source of this description**: @@ -87,7 +87,7 @@ For more examples and ideas, visit: $ docker images hello-world REPOSITORY TAG IMAGE ID SIZE -hello-world latest bf756fb1ae65 13336 +hello-world latest d1165f221234 13336 ``` ![logo](https://raw.githubusercontent.com/docker-library/docs/01c12653951b2fe592c1f93a13b4e289ada0e3a1/hello-world/logo.png) diff --git a/hello-world/content.md b/hello-world/content.md index 0bacc2c27224..3b09bef13d1a 100644 --- a/hello-world/content.md +++ b/hello-world/content.md @@ -27,7 +27,7 @@ For more examples and ideas, visit: $ docker images %%IMAGE%% REPOSITORY TAG IMAGE ID SIZE -hello-world latest bf756fb1ae65 13336 +hello-world latest d1165f221234 13336 ``` %%LOGO%% diff --git a/hitch/README-short.txt b/hitch/README-short.txt new file mode 100644 index 000000000000..53536e019edc --- /dev/null +++ b/hitch/README-short.txt @@ -0,0 +1 @@ +Hitch is a libev-based high performance SSL/TLS proxy by Varnish Software. diff --git a/hitch/README.md b/hitch/README.md new file mode 100644 index 000000000000..db44c096a9b7 --- /dev/null +++ b/hitch/README.md @@ -0,0 +1,120 @@ + + +# Quick reference + +- **Maintained by**: + [the Hitch Docker Community](https://github.com/varnish/docker-hitch) + +- **Where to get help**: + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + +# Supported tags and respective `Dockerfile` links + +- [`1`, `1.7`, `1.7.0`, `1.7.0-1`, `latest`](https://github.com/varnish/docker-hitch/blob/d2feb9f1a1a3426da633383c2bac4a31559248bd/Dockerfile) + +# Quick reference (cont.) + +- **Where to file issues**: + [https://github.com/varnish/docker-hitch/issues](https://github.com/varnish/docker-hitch/issues) + +- **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) + [`amd64`](https://hub.docker.com/r/amd64/hitch/) + +- **Published image artifact details**: + [repo-info repo's `repos/hitch/` directory](https://github.com/docker-library/repo-info/blob/master/repos/hitch) ([history](https://github.com/docker-library/repo-info/commits/master/repos/hitch)) + (image metadata, transfer size, etc) + +- **Image updates**: + [official-images repo's `library/hitch` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhitch) + [official-images repo's `library/hitch` file](https://github.com/docker-library/official-images/blob/master/library/hitch) ([history](https://github.com/docker-library/official-images/commits/master/library/hitch)) + +- **Source of this description**: + [docs repo's `hitch/` directory](https://github.com/docker-library/docs/tree/master/hitch) ([history](https://github.com/docker-library/docs/commits/master/hitch)) + +# What is Hitch? + +[Hitch](https://hitch-tls.org/) is a *libev-based* high performance *SSL/TLS proxy* by [Varnish Software](https://varnish-software.com). It is specifically built to terminate TLS connections at high scale and forwards unencrypted HTTP traffic to Varnish or any other HTTP backend. + +# How to use this image + +Running a Hitch Docker container can be done by using the following command: + +```console +$ docker run --name=hitch -p 443:443 hitch +``` + +This container will expose port `443`, which is required for HTTPS traffic. + +## Configuration file and extra options + +Without any argument, the container will run `hitch --config=/etc/hitch/hitch.conf`. You can mount your own configuration file to replace the default one: + +```console +$ docker run -v /path/to/your/config/file:/etc/hitch/hitch.conf:ro hitch +``` + +You can also change the path of the configuration file by setting the `HITCH_CONFIG_FILE` environment variable. + +Note that extra arguments can be added to the command line. If the first argument starts with a `-`, the arguments are added to the default command line, otherwise they are treated as a command. + +> Our assumption is that your backend, Varnish or other, supports both *HTTP/2* and the *PROXY* protocol. + +## Connecting to the backend + +By default Hitch will connect to the backend using `localhost:8843` using the [PROXY protocol](https://github.com/varnish/hitch/blob/master/docs/proxy-protocol.md). If your backend server *PROXY*, the two will be able to talk together and backend will be able to expose the true client IP. + +But you'll probably run your backend service in a separate container. In that case, you'll want to change the backend settings. You can either do that by replacing the [`backend`](https://github.com/varnish/hitch/blob/master/hitch.conf.man.rst#backend--) configuration setting in your mounted configuration file, or by adding a *command-line option*. + +Here's how you set the backend via a *command-line option*, assuming your backend is available through `backend.example.com` on port `8443`: + +```console +$ docker run hitch "--backend=[backend.example.com]:8443" +``` + +## Setting the certificate + +The Hitch Docker image comes with a self-signed certificate that is stored in `/etc/hitch/certs/default`. + +This certificate is automatically created during *Hitch* package install, and is a self-signed certificate using 2048-bit RSA-encrypted cipher. It is set up for the `localhost` hostname, with an expiration date 30 years in the future. + +This certificate is only suited for testing. Using a bind mount, you can override the value of the certificate and use your own certificate, which is advisable. + +Here's an example: + +```console +$ docker run -v /path/to/your/certificate:/etc/hitch/certs/default:ro hitch +``` + +You can also override the [`pem-file`](https://github.com/varnish/hitch/blob/master/hitch.conf.man.rst#pem-file--string) configuration setting in your mounted configuration file. + +If you prefer setting the certificate location on the command line, you can add the location as part of the `--backend` option. + +Here's how you do this: + +```console +$ docker run hitch "--backend=[backend.example.com]:8443:/path/to/cert.pem" +``` + +# License + +View [license information](https://github.com/varnish/hitch/blob/master/LICENSE) for the software contained in this image. + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `hitch/` directory](https://github.com/docker-library/repo-info/tree/master/repos/hitch). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. diff --git a/hitch/content.md b/hitch/content.md new file mode 100644 index 000000000000..589de8eda334 --- /dev/null +++ b/hitch/content.md @@ -0,0 +1,63 @@ +# What is Hitch? + +[Hitch](https://hitch-tls.org/) is a *libev-based* high performance *SSL/TLS proxy* by [Varnish Software](https://varnish-software.com). It is specifically built to terminate TLS connections at high scale and forwards unencrypted HTTP traffic to Varnish or any other HTTP backend. + +# How to use this image + +Running a Hitch Docker container can be done by using the following command: + +```console +$ docker run --name=hitch -p 443:443 %%IMAGE%% +``` + +This container will expose port `443`, which is required for HTTPS traffic. + +## Configuration file and extra options + +Without any argument, the container will run `hitch --config=/etc/hitch/hitch.conf`. You can mount your own configuration file to replace the default one: + +```console +$ docker run -v /path/to/your/config/file:/etc/hitch/hitch.conf:ro %%IMAGE%% +``` + +You can also change the path of the configuration file by setting the `HITCH_CONFIG_FILE` environment variable. + +Note that extra arguments can be added to the command line. If the first argument starts with a `-`, the arguments are added to the default command line, otherwise they are treated as a command. + +> Our assumption is that your backend, Varnish or other, supports both *HTTP/2* and the *PROXY* protocol. + +## Connecting to the backend + +By default Hitch will connect to the backend using `localhost:8843` using the [PROXY protocol](https://github.com/varnish/hitch/blob/master/docs/proxy-protocol.md). If your backend server *PROXY*, the two will be able to talk together and backend will be able to expose the true client IP. + +But you'll probably run your backend service in a separate container. In that case, you'll want to change the backend settings. You can either do that by replacing the [`backend`](https://github.com/varnish/hitch/blob/master/hitch.conf.man.rst#backend--) configuration setting in your mounted configuration file, or by adding a *command-line option*. + +Here's how you set the backend via a *command-line option*, assuming your backend is available through `backend.example.com` on port `8443`: + +```console +$ docker run %%IMAGE%% "--backend=[backend.example.com]:8443" +``` + +## Setting the certificate + +The Hitch Docker image comes with a self-signed certificate that is stored in `/etc/hitch/certs/default`. + +This certificate is automatically created during *Hitch* package install, and is a self-signed certificate using 2048-bit RSA-encrypted cipher. It is set up for the `localhost` hostname, with an expiration date 30 years in the future. + +This certificate is only suited for testing. Using a bind mount, you can override the value of the certificate and use your own certificate, which is advisable. + +Here's an example: + +```console +$ docker run -v /path/to/your/certificate:/etc/hitch/certs/default:ro %%IMAGE%% +``` + +You can also override the [`pem-file`](https://github.com/varnish/hitch/blob/master/hitch.conf.man.rst#pem-file--string) configuration setting in your mounted configuration file. + +If you prefer setting the certificate location on the command line, you can add the location as part of the `--backend` option. + +Here's how you do this: + +```console +$ docker run %%IMAGE%% "--backend=[backend.example.com]:8443:/path/to/cert.pem" +``` diff --git a/hitch/github-repo b/hitch/github-repo new file mode 100644 index 000000000000..37d8c30f7b06 --- /dev/null +++ b/hitch/github-repo @@ -0,0 +1 @@ +https://github.com/varnish/docker-hitch diff --git a/hitch/license.md b/hitch/license.md new file mode 100644 index 000000000000..bbcd4ba42390 --- /dev/null +++ b/hitch/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/varnish/hitch/blob/master/LICENSE) for the software contained in this image. diff --git a/hitch/maintainer.md b/hitch/maintainer.md new file mode 100644 index 000000000000..2aeedddc6e0f --- /dev/null +++ b/hitch/maintainer.md @@ -0,0 +1 @@ +[the Hitch Docker Community](%%GITHUB-REPO%%) diff --git a/httpd/README.md b/httpd/README.md index f27e6917637a..b782e4164e72 100644 --- a/httpd/README.md +++ b/httpd/README.md @@ -20,12 +20,12 @@ WARNING: [the Docker Community](https://github.com/docker-library/httpd) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.4.43`, `2.4`, `2`, `latest`](https://github.com/docker-library/httpd/blob/6c8e82e20ecefc94c616439f15d14c4bb215b200/2.4/Dockerfile) -- [`2.4.43-alpine`, `2.4-alpine`, `2-alpine`, `alpine`](https://github.com/docker-library/httpd/blob/6c8e82e20ecefc94c616439f15d14c4bb215b200/2.4/alpine/Dockerfile) +- [`2.4.46`, `2.4`, `2`, `latest`](https://github.com/docker-library/httpd/blob/077141ee37fca63972292c562ec0f632d0f831b1/2.4/Dockerfile) +- [`2.4.46-alpine`, `2.4-alpine`, `2-alpine`, `alpine`](https://github.com/docker-library/httpd/blob/d36dfa56811155947b22eebb636bdfe9a74803a2/2.4/alpine/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/httpd`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhttpd) + [official-images repo's `library/httpd` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhttpd) [official-images repo's `library/httpd` file](https://github.com/docker-library/official-images/blob/master/library/httpd) ([history](https://github.com/docker-library/official-images/commits/master/library/httpd)) - **Source of this description**: @@ -135,9 +135,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `httpd:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/hylang/README.md b/hylang/README.md index 6d4cc436641b..666c19541192 100644 --- a/hylang/README.md +++ b/hylang/README.md @@ -20,7 +20,7 @@ WARNING: [Paul Tagliamonte, Hy BDFL](https://github.com/hylang/hy) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,43 +28,53 @@ WARNING: ## Simple Tags -- [`0.18.0-python3.8-buster`, `0.18-python3.8-buster`, `0-python3.8-buster`, `python3.8-buster`, `0.18.0-buster`, `0.18-buster`, `0-buster`, `buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-buster) -- [`0.18.0-python3.8-alpine3.11`, `0.18-python3.8-alpine3.11`, `0-python3.8-alpine3.11`, `python3.8-alpine3.11`, `0.18.0-alpine3.11`, `0.18-alpine3.11`, `0-alpine3.11`, `alpine3.11`, `0.18.0-python3.8-alpine`, `0.18-python3.8-alpine`, `0-python3.8-alpine`, `python3.8-alpine`, `0.18.0-alpine`, `0.18-alpine`, `0-alpine`, `alpine`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-alpine3.11) -- [`0.18.0-python3.8-alpine3.10`, `0.18-python3.8-alpine3.10`, `0-python3.8-alpine3.10`, `python3.8-alpine3.10`, `0.18.0-alpine3.10`, `0.18-alpine3.10`, `0-alpine3.10`, `alpine3.10`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-alpine3.10) -- [`0.18.0-python3.8-windowsservercore-1809`, `0.18-python3.8-windowsservercore-1809`, `0-python3.8-windowsservercore-1809`, `python3.8-windowsservercore-1809`, `0.18.0-windowsservercore-1809`, `0.18-windowsservercore-1809`, `0-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-1809) -- [`0.18.0-python3.8-windowsservercore-ltsc2016`, `0.18-python3.8-windowsservercore-ltsc2016`, `0-python3.8-windowsservercore-ltsc2016`, `python3.8-windowsservercore-ltsc2016`, `0.18.0-windowsservercore-ltsc2016`, `0.18-windowsservercore-ltsc2016`, `0-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-ltsc2016) -- [`0.18.0-python3.7-buster`, `0.18-python3.7-buster`, `0-python3.7-buster`, `python3.7-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-buster) -- [`0.18.0-python3.7-stretch`, `0.18-python3.7-stretch`, `0-python3.7-stretch`, `python3.7-stretch`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-stretch) -- [`0.18.0-python3.7-alpine3.11`, `0.18-python3.7-alpine3.11`, `0-python3.7-alpine3.11`, `python3.7-alpine3.11`, `0.18.0-python3.7-alpine`, `0.18-python3.7-alpine`, `0-python3.7-alpine`, `python3.7-alpine`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-alpine3.11) -- [`0.18.0-python3.7-alpine3.10`, `0.18-python3.7-alpine3.10`, `0-python3.7-alpine3.10`, `python3.7-alpine3.10`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-alpine3.10) -- [`0.18.0-python3.7-windowsservercore-1809`, `0.18-python3.7-windowsservercore-1809`, `0-python3.7-windowsservercore-1809`, `python3.7-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-windowsservercore-1809) -- [`0.18.0-python3.7-windowsservercore-ltsc2016`, `0.18-python3.7-windowsservercore-ltsc2016`, `0-python3.7-windowsservercore-ltsc2016`, `python3.7-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-windowsservercore-ltsc2016) -- [`0.18.0-python3.6-buster`, `0.18-python3.6-buster`, `0-python3.6-buster`, `python3.6-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.6-buster) -- [`0.18.0-python3.6-stretch`, `0.18-python3.6-stretch`, `0-python3.6-stretch`, `python3.6-stretch`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.6-stretch) -- [`0.18.0-python3.6-alpine3.11`, `0.18-python3.6-alpine3.11`, `0-python3.6-alpine3.11`, `python3.6-alpine3.11`, `0.18.0-python3.6-alpine`, `0.18-python3.6-alpine`, `0-python3.6-alpine`, `python3.6-alpine`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.6-alpine3.11) -- [`0.18.0-python3.6-alpine3.10`, `0.18-python3.6-alpine3.10`, `0-python3.6-alpine3.10`, `python3.6-alpine3.10`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.6-alpine3.10) -- [`0.18.0-python3.5-buster`, `0.18-python3.5-buster`, `0-python3.5-buster`, `python3.5-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.5-buster) -- [`0.18.0-python3.5-stretch`, `0.18-python3.5-stretch`, `0-python3.5-stretch`, `python3.5-stretch`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.5-stretch) -- [`0.18.0-python3.5-alpine3.11`, `0.18-python3.5-alpine3.11`, `0-python3.5-alpine3.11`, `python3.5-alpine3.11`, `0.18.0-python3.5-alpine`, `0.18-python3.5-alpine`, `0-python3.5-alpine`, `python3.5-alpine`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.5-alpine3.11) -- [`0.18.0-python3.5-alpine3.10`, `0.18-python3.5-alpine3.10`, `0-python3.5-alpine3.10`, `python3.5-alpine3.10`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.5-alpine3.10) -- [`0.18.0-pypy3.6-buster`, `0.18-pypy3.6-buster`, `0-pypy3.6-buster`, `pypy3.6-buster`, `0.18.0-pypy-buster`, `0.18-pypy-buster`, `0-pypy-buster`, `pypy-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.pypy3.6-buster) +- [`1.0a1-python3.9-buster`, `python3.9-buster`, `1.0a1-buster`, `buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-buster) +- [`1.0a1-python3.9-alpine3.13`, `python3.9-alpine3.13`, `1.0a1-alpine3.13`, `alpine3.13`, `1.0a1-python3.9-alpine`, `python3.9-alpine`, `1.0a1-alpine`, `alpine`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-alpine3.13) +- [`1.0a1-python3.9-alpine3.12`, `python3.9-alpine3.12`, `1.0a1-alpine3.12`, `alpine3.12`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-alpine3.12) +- [`1.0a1-python3.9-windowsservercore-1809`, `python3.9-windowsservercore-1809`, `1.0a1-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-windowsservercore-1809) +- [`1.0a1-python3.9-windowsservercore-ltsc2016`, `python3.9-windowsservercore-ltsc2016`, `1.0a1-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-windowsservercore-ltsc2016) +- [`1.0a1-python3.8-buster`, `python3.8-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-buster) +- [`1.0a1-python3.8-alpine3.13`, `python3.8-alpine3.13`, `1.0a1-python3.8-alpine`, `python3.8-alpine`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-alpine3.13) +- [`1.0a1-python3.8-alpine3.12`, `python3.8-alpine3.12`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-alpine3.12) +- [`1.0a1-python3.8-windowsservercore-1809`, `python3.8-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-1809) +- [`1.0a1-python3.8-windowsservercore-ltsc2016`, `python3.8-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-ltsc2016) +- [`1.0a1-python3.7-buster`, `python3.7-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.7-buster) +- [`1.0a1-python3.7-stretch`, `python3.7-stretch`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.7-stretch) +- [`1.0a1-python3.7-alpine3.13`, `python3.7-alpine3.13`, `1.0a1-python3.7-alpine`, `python3.7-alpine`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.7-alpine3.13) +- [`1.0a1-python3.7-alpine3.12`, `python3.7-alpine3.12`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.7-alpine3.12) +- [`1.0a1-python3.6-buster`, `python3.6-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.6-buster) +- [`1.0a1-python3.6-stretch`, `python3.6-stretch`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.6-stretch) +- [`1.0a1-python3.6-alpine3.13`, `python3.6-alpine3.13`, `1.0a1-python3.6-alpine`, `python3.6-alpine`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.6-alpine3.13) +- [`1.0a1-python3.6-alpine3.12`, `python3.6-alpine3.12`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.6-alpine3.12) +- [`1.0a1-python3.10-rc-buster`, `python3.10-rc-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-buster) +- [`1.0a1-python3.10-rc-alpine3.13`, `python3.10-rc-alpine3.13`, `1.0a1-python3.10-rc-alpine`, `python3.10-rc-alpine`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-alpine3.13) +- [`1.0a1-python3.10-rc-alpine3.12`, `python3.10-rc-alpine3.12`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-alpine3.12) +- [`1.0a1-python3.10-rc-windowsservercore-1809`, `python3.10-rc-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-windowsservercore-1809) +- [`1.0a1-python3.10-rc-windowsservercore-ltsc2016`, `python3.10-rc-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-windowsservercore-ltsc2016) +- [`1.0a1-pypy3.7-buster`, `pypy3.7-buster`, `1.0a1-pypy-buster`, `pypy-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.pypy3.7-buster) +- [`1.0a1-pypy3.7-windowsservercore-1809`, `pypy3.7-windowsservercore-1809`, `1.0a1-pypy-windowsservercore-1809`, `pypy-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.pypy3.7-windowsservercore-1809) ## Shared Tags -- `0.18.0-python3.8`, `0.18-python3.8`, `0-python3.8`, `python3.8`, `0.18.0`, `0.18`, `0`, `latest`: - - [`0.18.0-python3.8-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-buster) - - [`0.18.0-python3.8-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-1809) - - [`0.18.0-python3.8-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-ltsc2016) -- `0.18.0-python3.7`, `0.18-python3.7`, `0-python3.7`, `python3.7`: - - [`0.18.0-python3.7-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-buster) - - [`0.18.0-python3.7-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-windowsservercore-1809) - - [`0.18.0-python3.7-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.7-windowsservercore-ltsc2016) -- `0.18.0-python3.6`, `0.18-python3.6`, `0-python3.6`, `python3.6`: - - [`0.18.0-python3.6-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.6-buster) -- `0.18.0-python3.5`, `0.18-python3.5`, `0-python3.5`, `python3.5`: - - [`0.18.0-python3.5-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.python3.5-buster) -- `0.18.0-pypy3.6`, `0.18-pypy3.6`, `0-pypy3.6`, `pypy3.6`, `0.18.0-pypy`, `0.18-pypy`, `0-pypy`, `pypy`: - - [`0.18.0-pypy3.6-buster`](https://github.com/hylang/docker-hylang/blob/5148df70ef281642faeb6508aa74cb14b1c09541/dockerfiles-generated/Dockerfile.pypy3.6-buster) +- `1.0a1-python3.9`, `python3.9`, `1.0a1`, `latest`: + - [`1.0a1-python3.9-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-buster) + - [`1.0a1-python3.9-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-windowsservercore-1809) + - [`1.0a1-python3.9-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.9-windowsservercore-ltsc2016) +- `1.0a1-python3.8`, `python3.8`: + - [`1.0a1-python3.8-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-buster) + - [`1.0a1-python3.8-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-1809) + - [`1.0a1-python3.8-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.8-windowsservercore-ltsc2016) +- `1.0a1-python3.7`, `python3.7`: + - [`1.0a1-python3.7-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.7-buster) +- `1.0a1-python3.6`, `python3.6`: + - [`1.0a1-python3.6-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.6-buster) +- `1.0a1-python3.10-rc`, `python3.10-rc`: + - [`1.0a1-python3.10-rc-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-buster) + - [`1.0a1-python3.10-rc-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-windowsservercore-1809) + - [`1.0a1-python3.10-rc-windowsservercore-ltsc2016`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.python3.10-rc-windowsservercore-ltsc2016) +- `1.0a1-pypy3.7`, `pypy3.7`, `1.0a1-pypy`, `pypy`: + - [`1.0a1-pypy3.7-buster`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.pypy3.7-buster) + - [`1.0a1-pypy3.7-windowsservercore-1809`](https://github.com/hylang/docker-hylang/blob/a9b44f188690a2d07590dde5e46499b58e42b6a3/dockerfiles-generated/Dockerfile.pypy3.7-windowsservercore-1809) # Quick reference (cont.) @@ -79,7 +89,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/hylang`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fhylang) + [official-images repo's `library/hylang` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fhylang) [official-images repo's `library/hylang` file](https://github.com/docker-library/official-images/blob/master/library/hylang) ([history](https://github.com/docker-library/official-images/commits/master/library/hylang)) - **Source of this description**: @@ -131,9 +141,9 @@ Some of these tags may have names like buster or stretch in them. These are the ## `hylang:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/ibmjava/README.md b/ibmjava/README.md index 2e9182ba9d78..f1e027d0a8e6 100644 --- a/ibmjava/README.md +++ b/ibmjava/README.md @@ -24,12 +24,12 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`8-jre`, `jre`, `8`, `latest`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/jre/ubuntu/Dockerfile) -- [`8-jre-alpine`, `jre-alpine`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/jre/alpine/Dockerfile) -- [`8-sfj`, `sfj`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/sfj/ubuntu/Dockerfile) -- [`8-sfj-alpine`, `sfj-alpine`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/sfj/alpine/Dockerfile) -- [`8-sdk`, `sdk`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/sdk/ubuntu/Dockerfile) -- [`8-sdk-alpine`, `sdk-alpine`](https://github.com/ibmruntimes/ci.docker/blob/83506ae3219b62dbf96f6ad0111e0f9a6169be0c/ibmjava/8/sdk/alpine/Dockerfile) +- [`8-jre`, `jre`, `8`, `latest`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/jre/ubuntu/Dockerfile) +- [`8-jre-alpine`, `jre-alpine`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/jre/alpine/Dockerfile) +- [`8-sfj`, `sfj`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/sfj/ubuntu/Dockerfile) +- [`8-sfj-alpine`, `sfj-alpine`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/sfj/alpine/Dockerfile) +- [`8-sdk`, `sdk`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/sdk/ubuntu/Dockerfile) +- [`8-sdk-alpine`, `sdk-alpine`](https://github.com/ibmruntimes/ci.docker/blob/1a86ec46046906187041ffcfbd0a9a2528e1abc8/ibmjava/8/sdk/alpine/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/ibmjava`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fibmjava) + [official-images repo's `library/ibmjava` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fibmjava) [official-images repo's `library/ibmjava` file](https://github.com/docker-library/official-images/blob/master/library/ibmjava) ([history](https://github.com/docker-library/official-images/commits/master/library/ibmjava)) - **Source of this description**: @@ -167,9 +167,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `ibmjava:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/influxdb/README.md b/influxdb/README.md index aa9197e1e2d8..126f4d759d60 100644 --- a/influxdb/README.md +++ b/influxdb/README.md @@ -20,22 +20,24 @@ WARNING: [InfluxData](https://github.com/influxdata/influxdata-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.7`, `1.7.10`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/Dockerfile) -- [`1.7-alpine`, `1.7.10-alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/alpine/Dockerfile) -- [`1.7-data`, `1.7.10-data`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/data/Dockerfile) -- [`1.7-data-alpine`, `1.7.10-data-alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/data/alpine/Dockerfile) -- [`1.7-meta`, `1.7.10-meta`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/meta/Dockerfile) -- [`1.7-meta-alpine`, `1.7.10-meta-alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.7/meta/alpine/Dockerfile) -- [`1.8`, `1.8.0`, `latest`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/Dockerfile) -- [`1.8-alpine`, `1.8.0-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/alpine/Dockerfile) -- [`1.8-data`, `1.8.0-data`, `data`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/data/Dockerfile) -- [`1.8-data-alpine`, `1.8.0-data-alpine`, `data-alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/data/alpine/Dockerfile) -- [`1.8-meta`, `1.8.0-meta`, `meta`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/meta/Dockerfile) -- [`1.8-meta-alpine`, `1.8.0-meta-alpine`, `meta-alpine`](https://github.com/influxdata/influxdata-docker/blob/032b0c1480b865bd44bb22d97c68cf6c076a04b7/influxdb/1.8/meta/alpine/Dockerfile) +- [`1.7`, `1.7.11`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/Dockerfile) +- [`1.7-alpine`, `1.7.11-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/alpine/Dockerfile) +- [`1.7-data`, `1.7.11-data`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/data/Dockerfile) +- [`1.7-data-alpine`, `1.7.11-data-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/data/alpine/Dockerfile) +- [`1.7-meta`, `1.7.11-meta`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/meta/Dockerfile) +- [`1.7-meta-alpine`, `1.7.11-meta-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.7/meta/alpine/Dockerfile) +- [`1.8`, `1.8.5`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/Dockerfile) +- [`1.8-alpine`, `1.8.5-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/alpine/Dockerfile) +- [`1.8-data`, `1.8.5-data`, `data`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/data/Dockerfile) +- [`1.8-data-alpine`, `1.8.5-data-alpine`, `data-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/data/alpine/Dockerfile) +- [`1.8-meta`, `1.8.5-meta`, `meta`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/meta/Dockerfile) +- [`1.8-meta-alpine`, `1.8.5-meta-alpine`, `meta-alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/1.8/meta/alpine/Dockerfile) +- [`2.0`, `2.0.4`, `latest`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/2.0/Dockerfile) +- [`2.0-alpine`, `2.0.4-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/c4d6651a3688b517cf29c7c6178f388fea5dad60/influxdb/2.0/alpine/Dockerfile) # Quick reference (cont.) @@ -50,7 +52,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/influxdb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Finfluxdb) + [official-images repo's `library/influxdb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Finfluxdb) [official-images repo's `library/influxdb` file](https://github.com/docker-library/official-images/blob/master/library/influxdb) ([history](https://github.com/docker-library/official-images/commits/master/library/influxdb)) - **Source of this description**: @@ -64,11 +66,421 @@ InfluxDB is a time series database built from the ground up to handle high write ![logo](https://raw.githubusercontent.com/docker-library/docs/43d87118415bb75d7bb107683e79cd6d69186f67/influxdb/logo.png) -## Updating latest to 2.0 +## `latest` updated to InfluxDB 2.x -In the future, the latest tag for this image will point to the latest released implementation of influxdb 2.0. This will happen when the first general available release for 2.0 exists. If you are using the `latest` tag for any production or development purposes, please update your development environment to reference the `1.8` tag. +The `latest` tag for this image now points to the latest released implementation of InfluxDB 2.x. If you are using the `latest` tag and would like to stay on the InfluxDB 1.x line, please update your environment to reference the `1.8` tag. -## Using this Image +## Using this Image - InfluxDB 2.x + +### Upgrading from InfluxDB 1.x + +InfluxDB 2.x provides a 1.x-compatible API, but expects a different storage layout on disk. To bridge this mismatch, the InfluxDB image contains extra functionality to migrate 1.x data and config into 2.x layouts automatically before booting the `influxd` server. + +The automated upgrade process bootstraps an initial admin user, organization, and bucket in the system. Additional environment variables are used to configure the setup logic: + +- `DOCKER_INFLUXDB_INIT_USERNAME`: The username to set for the system's initial super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_PASSWORD`: The password to set for the system's inital super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_ORG`: The name to set for the system's initial organization (**Required**). +- `DOCKER_INFLUXDB_INIT_BUCKET`: The name to set for the system's initial bucket (**Required**). +- `DOCKER_INFLUXDB_INIT_RETENTION`: The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever. +- `DOCKER_INFLUXDB_INIT_ADMIN_TOKEN`: The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system. + +It also requires extra volumes to be mounted into the 2.x container: + +- Data from the 1.x instance +- Custom config from the 1.x instance (if any) + +The upgrade process searches for mounted 1.x data / config in this priority order: + +1. A config file referred to by the `DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG` environment variable +2. A data directory referred to by the `DOCKER_INFLUXDB_INIT_UPGRADE_V1_DIR` environment variable +3. A config file mounted at `/etc/influxdb/influxdb.conf` +4. A data directory mounted at `/var/lib/influxdb` + +Finally, the `DOCKER_INFLUXDB_INIT_MODE` environment variable must be set to `upgrade`. + +Automated upgrade will generate both data and config files, by default under `/var/lib/influxdb2` and `/etc/influxdb2`. It's recommended to mount volumes at both paths to avoid losing data. + +**NOTE:** Automated upgrade will not run if an existing boltdb file is found at the configured path. This behavior allows for the InfluxDB container to reboot post-upgrade without overwriting migrated data. + +Find more about the InfluxDB upgrade process [here](https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/). See below for examples of common upgrade scenarios. + +#### Upgrade Example - Minimal + +Assume you've been running a minimal InfluxDB 1.x deployment: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + influxdb:1.8 +``` + +To upgrade this deployment to InfluxDB 2.x, stop the running InfluxDB 1.x container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v influxdb2:/var/lib/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + influxdb:2.0 +``` + +#### Upgrade Example - Custom InfluxDB 1.x Config + +Assume you've been running an InfluxDB 1.x deployment with customized config: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf \ + influxdb:1.8 +``` + +To upgrade this deployment to InfluxDB 2.x, stop the running container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v influxdb2:/var/lib/influxdb2 \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + influxdb:2.0 +``` + +#### Upgrade Example - Custom Paths + +Assume you've been running an InfluxDB 1.x deployment with data and config mounted at custom paths: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + influxdb:1.8 -config /root/influxdb/influxdb.conf +``` + +To upgrade this deployment to InfluxDB 2.x, first decide if you'd like to keep using custom paths, or use the InfluxDB 2.x defaults. If you decide to use the defaults, you'd stop the running InfluxDB 1.x container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v influxdb2:/var/lib/influxdb2 \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG=/root/influxdb/influxdb.conf \ + influxdb:2.0 +``` + +To retain your custom paths, you'd run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v influxdb2:/root/influxdb2/data \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG=/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_CONFIG_PATH=/root/influxdb2/config.toml \ + -e DOCKER_INFLUXDB_BOLT_PATH=/root/influxdb2/influxdb.bolt \ + -e DOCKER_INFLUXDB_ENGINE_PATH=/root/influxdb2/engine \ + influxdb:2.0 +``` + +### Upgrading from quay.io-hosted InfluxDB 2.x image + +Early Docker builds of InfluxDB 2.x were hosted at `quay.io/influxdb/influxdb`. The builds were very bare-bones, containing the `influx` and `influxd` binaries without any default configuration or helper scripts. By default, the `influxd` process stored data under `/root/.influxdbv2`. + +Starting with `v2.0.4`, we've restored our DockerHub build. This build defaults to storing data in `/var/lib/influxdb2`. Upgrading directly from `quay.io/influxdb/influxdb` to `influxdb:2.0.4` without modifying any settings will appear to cause data loss, as the new process won't be able to find your existing data files. + +To avoid this problem when migrating from `quay.io/influxdb/influxdb` to `influxdb:2.0`, you can use one of the following approaches. + +#### Change volume mount point + +If you don't mind using the new default path, you can switch the mount-point for the volume containing your data: + +```console +# Migrate from this: +$ docker run -p 8086:8086 \ + -v $PWD:/root/.influxdbv2 \ + quay.io/influxdb/influxdb:v2.0.3 + +# To this: +docker run -p 8086:8086 \ + -v $PWD:/var/lib/influxdb2 \ + influxdb:2.0 +``` + +#### Override default configs + +If you'd rather keep your data files in the home directory, you can override the container's default config: + +```console +# Migrate from this: +$ docker run -p 8086:8086 \ + -v $PWD:/root/.influxdbv2 \ + quay.io/influxdb/influxdb:v2.0.3 + +# To this: +docker run -p 8086:8086 \ + -e INFLUXD_BOLT_PATH=/root/.influxdbv2/influxd.bolt \ + -e INFLUXD_ENGINE_PATH=/root/.influxdbv2/engine \ + -v $PWD:/root/.influxdbv2 \ + influxdb:2.0 +``` + +See the section about configuration below for more ways to override the data paths. + +### Running the container + +The InfluxDB image exposes a shared volume under `/var/lib/influxdb2`. You can mount a host directory to that point to access persisted container data. A typical invocation of the container might be: + +```console +$ docker run -p 8086:8086 \ + -v $PWD:/var/lib/influxdb2 \ + influxdb:2.0 +``` + +Modify `$PWD` to the directory where you want to store data associated with the InfluxDB container. + +You can also have Docker control the volume mountpoint by using a named volume. + +```console +$ docker run -p 8086:8086 \ + -v influxdb2:/var/lib/influxdb2 \ + influxdb:2.0 +``` + +### Exposed Ports + +The following ports are important and are used by InfluxDB. + +- 8086 HTTP UI and API port + +The HTTP port will be automatically exposed when using `docker run -P`. + +Find more about API Endpoints & Ports [here](https://docs.influxdata.com/influxdb/v2.0/reference/api/). + +### Configuration + +InfluxDB can be configured using a mix of a config file, environment variables, and CLI options. To mount a configuration file and use it with the server, you can use this command to generate the default configuration file: + +```console +$ docker run --rm influxdb:2.0 influxd print-config > config.yml +``` + +Modify the default configuration, which will now be available under `$PWD`. Then start the InfluxDB container: + +```console +$ docker run -p 8086:8086 \ + -v $PWD/config.yml:/etc/influxdb2/config.yml \ + influxdb:2.0 +``` + +Modify `$PWD` to be the directory where you want to store the configuration file. + +Individual config settings can be overridden by environment variables. The variables must be named using the format `INFLUXD_${SNAKE_CASE_NAME}`. The `SNAKE_CASE_NAME` for an option will be the option's name with all dashes (`-`) replaced by underscores (`_`), in all caps. + +Examples: + +```console +# Config setting: bolt-path +INFLUXD_BOLT_PATH=/root/influxdb.bolt +# Config setting: no-tasks +INFLUXD_NO_TASKS=true +# Config setting: storage-wal-fsync-delay +INFLUXD_STORAGE_WAL_FSYNC_DELAY=15m +``` + +Finally, all config options can be passed as CLI options: + +```console +$ docker run -p 8086:8086 \ + influxdb:2.0 --storage-wal-fsync-delay=15m +``` + +CLI options take precedence over environment variables. + +Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/v2.0/reference/config-options/). + +### Database Setup + +InfluxDB 2.x requires authentication. A special API exists to bootstrap the first super-user in the database, along with an initial organization and bucket. It's possible to access this API manually, or to run it automatically via environment variables. + +#### Manual Setup + +If your InfluxDB container is running locally (or on a host exposed to the network), you can perform initial setup from outside the container using either the UI or the `influx` CLI. Find more about setting up InfluxDB using these methods [here](https://docs.influxdata.com/influxdb/v2.0/get-started/#set-up-influxdb). + +It's also possible to perform manual setup from within the container using `docker exec`. For example, if you start the container: + +```console +$ docker run -d -p 8086:8086 \ + --name influxdb2 \ + -v $PWD:/var/lib/influxdb2 \ + influxdb:2.0 +``` + +You can then run the `influx` client in the container: + +```console +$ docker exec influxdb2 influx setup \ + --username $USERNAME \ + --password $PASSWORD \ + --org $ORGANIZATION \ + --bucket $BUCKET +``` + +Running setup from within the container will cause CLI configs to be written to `/etc/influxdb2/influx-configs`. You can then use the `influx` CLI from within the container to extract the generated admin token: + +```console +# Using table output + cut +$ docker exec influxdb2 influx auth list \ + --user $USERNAME \ + --hide-headers | cut -f 3 + +# Using JSON output + jq +$ docker exec influxdb2 influx auth list \ + --user $USERNAME \ + --json | jq -r '.[].token' +``` + +Alternatively, you could configure your initial InfluxDB run to mount `/etc/influxdb2` as a volume: + +```console +$ docker run -d -p 8086:8086 \ + --name influxdb2 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + influxdb:2.0 +``` + +This will make the generated CLI configs available to the host. + +#### Automated Setup + +The InfluxDB image contains some extra functionality to automatically bootstrap the system. This functionality is enabled by setting the `DOCKER_INFLUXDB_INIT_MODE` environment variable to the value `setup` when running the container. Additional environment variables are used to configure the setup logic: + +- `DOCKER_INFLUXDB_INIT_USERNAME`: The username to set for the system's initial super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_PASSWORD`: The password to set for the system's inital super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_ORG`: The name to set for the system's initial organization (**Required**). +- `DOCKER_INFLUXDB_INIT_BUCKET`: The name to set for the system's initial bucket (**Required**). +- `DOCKER_INFLUXDB_INIT_RETENTION`: The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever. +- `DOCKER_INFLUXDB_INIT_ADMIN_TOKEN`: The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system. + +Automated setup will generate metadata files and CLI configurations. It's recommended to mount volumes at both paths to avoid losing data. + +For example, a minimal invocation of automated setup is: + +```console +$ docker run -d -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + influxdb:2.0 +``` + +And an example using all available options is: + +```console +$ docker run -d -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_RETENTION=1w \ + -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-auth-token \ + influxdb:2.0 +``` + +**NOTE:** Automated setup will not run if an existing boltdb file is found at the configured path. This behavior allows for the InfluxDB container to reboot post-setup without encountering "DB is already set up" errors. + +### Interacting with InfluxDB + +Once an InfluxDB instance has completed initial setup, its APIs will unlock. See the main documentation site for reference information and examples on: + +- [Writing data](https://docs.influxdata.com/influxdb/v2.0/write-data/) +- [Reading data](https://docs.influxdata.com/influxdb/v2.0/query-data/) +- [Configuring security](https://docs.influxdata.com/influxdb/v2.0/security/) +- [And more!](https://docs.influxdata.com/influxdb/v2.0/) + +### Custom Initialization Scripts + +The InfluxDB image supports running arbitrary initialization scripts after initial system setup, on both the `setup` and `upgrade` paths. Scripts must have extension `.sh` and be mounted inside of the `/docker-entrypoint-initdb.d` directory. When multiple scripts are present, they will be executed in lexical sort order by name. + +As a convenience for script-writers, the image will export a number of variables into the environment before executing any scripts: + +- `INFLUX_CONFIGS_PATH`: Path to the CLI configs file written by `setup`/`upgrade` +- `INFLUX_HOST`: URL to the `influxd` instance running setup logic +- `DOCKER_INFLUXDB_INIT_USER_ID`: ID of the initial admin user created by `setup`/`upgrade` +- `DOCKER_INFLUXDB_INIT_ORG_ID`: ID of the initial organization created by `setup`/`upgrade` +- `DOCKER_INFLUXDB_INIT_BUCKET_ID`: ID of the initial bucket created by `setup`/`upgrade` + +For example, if you wanted to grant write-access to an InfluxDB 1.x client on your initial bucket, you'd first create the file `$PWD/scripts/setup-v1.sh` with contents: + +```bash +#!/bin/bash +set -e + +influx v1 dbrp create \ + --bucket-id ${DOCKER_INFLUXDB_INIT_BUCKET_ID} \ + --db ${V1_DB_NAME} \ + --rp ${V1_RP_NAME} \ + --default \ + --org ${DOCKER_INFLUXDB_INIT_ORG} + +influx v1 auth create \ + --username ${V1_AUTH_USERNAME} \ + --password ${V1_AUTH_PASSWORD} \ + --write-bucket ${DOCKER_INFLUXDB_INIT_BUCKET_ID} \ + --org ${DOCKER_INFLUXDB_INIT_ORG} +``` + +Then you'd run: + +```console +$ docker run -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -v $PWD/scripts:/docker-entrypoint-initdb.d \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e V1_DB_NAME=v1-db \ + -e V1_RP_NAME=v1-rp \ + -e V1_AUTH_USERNAME=v1-user \ + -e V1_AUTH_PASSWORD=v1-password \ + influxdb:2.0 +``` + +**NOTE:** Custom scripts will not run if an existing boltdb file is found at the configured path (causing `setup` or `upgrade` to be skipped). This behavior allows for the InfluxDB container to reboot post-initialization without encountering errors from non-idempotent script commands. + +## Using this Image - InfluxDB 1.x ### Running the container @@ -77,7 +489,7 @@ The InfluxDB image exposes a shared volume under `/var/lib/influxdb`, so you can ```console $ docker run -p 8086:8086 \ -v $PWD:/var/lib/influxdb \ - influxdb + influxdb:1.8 ``` Modify `$PWD` to the directory where you want to store data associated with the InfluxDB container. @@ -87,7 +499,7 @@ You can also have Docker control the volume mountpoint by using a named volume. ```console $ docker run -p 8086:8086 \ -v influxdb:/var/lib/influxdb \ - influxdb + influxdb:1.8 ``` ### Exposed Ports @@ -99,8 +511,6 @@ The following ports are important and are used by InfluxDB. The HTTP API port will be automatically exposed when using `docker run -P`. -Find more about API Endpoints & Ports [here](https://docs.influxdata.com/influxdb/latest/concepts/api/). - ### Configuration InfluxDB can be either configured from a config file or using environment variables. To mount a configuration file and use it with the server, you can use this command: @@ -108,7 +518,7 @@ InfluxDB can be either configured from a config file or using environment variab Generate the default configuration file: ```console -$ docker run --rm influxdb influxd config > influxdb.conf +$ docker run --rm influxdb:1.8 influxd config > influxdb.conf ``` Modify the default configuration, which will now be available under `$PWD`. Then start the InfluxDB container. @@ -116,7 +526,7 @@ Modify the default configuration, which will now be available under `$PWD`. Then ```console $ docker run -p 8086:8086 \ -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \ - influxdb -config /etc/influxdb/influxdb.conf + influxdb:1.8 -config /etc/influxdb/influxdb.conf ``` Modify `$PWD` to the directory where you want to store the configuration file. @@ -131,7 +541,7 @@ INFLUXDB_META_DIR=/path/to/metadir INFLUXDB_DATA_QUERY_LOG_ENABLED=false ``` -Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/latest/introduction/installation/). +Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/v1.8/administration/config/). ### Graphite @@ -140,7 +550,7 @@ InfluxDB supports the Graphite line protocol, but the service and ports are not ```console docker run -p 8086:8086 -p 2003:2003 \ -e INFLUXDB_GRAPHITE_ENABLED=true \ - influxdb + influxdb:1.8 ``` See the [README on GitHub](https://github.com/influxdata/influxdb/blob/master/services/graphite/README.md) for more detailed documentation to set up the Graphite service. In order to take advantage of graphite templates, you should use a configuration file by outputting a default configuration file using the steps above and modifying the `[[graphite]]` section. @@ -166,7 +576,7 @@ Read more about this in the [official documentation](https://docs.influxdata.com Start the container: ```console -$ docker run --name=influxdb -d -p 8086:8086 influxdb +$ docker run --name=influxdb -d -p 8086:8086 influxdb:1.8 ``` Run the influx client in this container: @@ -178,7 +588,7 @@ $ docker exec -it influxdb influx Or run the influx client in a separate container: ```console -$ docker run --rm --link=influxdb -it influxdb influx -host influxdb +$ docker run --rm --link=influxdb -it influxdb:1.8 influx -host influxdb ``` ### Database Initialization @@ -245,7 +655,7 @@ $ docker run --rm \ -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \ -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \ -v $PWD:/var/lib/influxdb \ - influxdb /init-influxdb.sh + influxdb:1.8 /init-influxdb.sh ``` The above would create the database `db0`, create an admin user with the password `supersecretpassword`, then create the `telegraf` user with your telegraf's secret password. It would then exit and leave behind any files it created in the volume that you mounted. @@ -260,9 +670,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `influxdb:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). @@ -270,7 +680,7 @@ To minimize image size, it's uncommon for additional related tools (such as `git *This image requires a valid license key from InfluxData.* Please visit our [products page](https://www.influxdata.com/products/) to learn more. -This image contains the enterprise data node package for clustering. It supports all of the same options as the OSS image, but it needs port 8088 to be exposed to the meta nodes. +This image contains the enterprise data node package for clustering. It supports all of the same options as the InfluxDB 1.x OSS image, but it needs port 8088 to be exposed to the meta nodes. Refer to the `influxdb:meta` variant for directions on how to setup a cluster. diff --git a/influxdb/content.md b/influxdb/content.md index a2a3f6373298..4fc68e94e3d4 100644 --- a/influxdb/content.md +++ b/influxdb/content.md @@ -6,11 +6,421 @@ InfluxDB is a time series database built from the ground up to handle high write %%LOGO%% -## Updating latest to 2.0 +## `latest` updated to InfluxDB 2.x -In the future, the latest tag for this image will point to the latest released implementation of influxdb 2.0. This will happen when the first general available release for 2.0 exists. If you are using the `latest` tag for any production or development purposes, please update your development environment to reference the `1.8` tag. +The `latest` tag for this image now points to the latest released implementation of InfluxDB 2.x. If you are using the `latest` tag and would like to stay on the InfluxDB 1.x line, please update your environment to reference the `1.8` tag. -## Using this Image +## Using this Image - InfluxDB 2.x + +### Upgrading from InfluxDB 1.x + +InfluxDB 2.x provides a 1.x-compatible API, but expects a different storage layout on disk. To bridge this mismatch, the InfluxDB image contains extra functionality to migrate 1.x data and config into 2.x layouts automatically before booting the `influxd` server. + +The automated upgrade process bootstraps an initial admin user, organization, and bucket in the system. Additional environment variables are used to configure the setup logic: + +- `DOCKER_INFLUXDB_INIT_USERNAME`: The username to set for the system's initial super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_PASSWORD`: The password to set for the system's inital super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_ORG`: The name to set for the system's initial organization (**Required**). +- `DOCKER_INFLUXDB_INIT_BUCKET`: The name to set for the system's initial bucket (**Required**). +- `DOCKER_INFLUXDB_INIT_RETENTION`: The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever. +- `DOCKER_INFLUXDB_INIT_ADMIN_TOKEN`: The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system. + +It also requires extra volumes to be mounted into the 2.x container: + +- Data from the 1.x instance +- Custom config from the 1.x instance (if any) + +The upgrade process searches for mounted 1.x data / config in this priority order: + +1. A config file referred to by the `DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG` environment variable +2. A data directory referred to by the `DOCKER_INFLUXDB_INIT_UPGRADE_V1_DIR` environment variable +3. A config file mounted at `/etc/influxdb/influxdb.conf` +4. A data directory mounted at `/var/lib/influxdb` + +Finally, the `DOCKER_INFLUXDB_INIT_MODE` environment variable must be set to `upgrade`. + +Automated upgrade will generate both data and config files, by default under `/var/lib/influxdb2` and `/etc/influxdb2`. It's recommended to mount volumes at both paths to avoid losing data. + +**NOTE:** Automated upgrade will not run if an existing boltdb file is found at the configured path. This behavior allows for the InfluxDB container to reboot post-upgrade without overwriting migrated data. + +Find more about the InfluxDB upgrade process [here](https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/). See below for examples of common upgrade scenarios. + +#### Upgrade Example - Minimal + +Assume you've been running a minimal InfluxDB 1.x deployment: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + %%IMAGE%%:1.8 +``` + +To upgrade this deployment to InfluxDB 2.x, stop the running InfluxDB 1.x container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v influxdb2:/var/lib/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + %%IMAGE%%:2.0 +``` + +#### Upgrade Example - Custom InfluxDB 1.x Config + +Assume you've been running an InfluxDB 1.x deployment with customized config: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf \ + %%IMAGE%%:1.8 +``` + +To upgrade this deployment to InfluxDB 2.x, stop the running container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/var/lib/influxdb \ + -v influxdb2:/var/lib/influxdb2 \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + %%IMAGE%%:2.0 +``` + +#### Upgrade Example - Custom Paths + +Assume you've been running an InfluxDB 1.x deployment with data and config mounted at custom paths: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + %%IMAGE%%:1.8 -config /root/influxdb/influxdb.conf +``` + +To upgrade this deployment to InfluxDB 2.x, first decide if you'd like to keep using custom paths, or use the InfluxDB 2.x defaults. If you decide to use the defaults, you'd stop the running InfluxDB 1.x container, then run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v influxdb2:/var/lib/influxdb2 \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG=/root/influxdb/influxdb.conf \ + %%IMAGE%%:2.0 +``` + +To retain your custom paths, you'd run: + +```console +$ docker run -p 8086:8086 \ + -v influxdb:/root/influxdb/data \ + -v influxdb2:/root/influxdb2/data \ + -v influxdb2-config:/etc/influxdb2 \ + -v $PWD/influxdb.conf:/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_INIT_MODE=upgrade \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_UPGRADE_V1_CONFIG=/root/influxdb/influxdb.conf \ + -e DOCKER_INFLUXDB_CONFIG_PATH=/root/influxdb2/config.toml \ + -e DOCKER_INFLUXDB_BOLT_PATH=/root/influxdb2/influxdb.bolt \ + -e DOCKER_INFLUXDB_ENGINE_PATH=/root/influxdb2/engine \ + %%IMAGE%%:2.0 +``` + +### Upgrading from quay.io-hosted InfluxDB 2.x image + +Early Docker builds of InfluxDB 2.x were hosted at `quay.io/influxdb/influxdb`. The builds were very bare-bones, containing the `influx` and `influxd` binaries without any default configuration or helper scripts. By default, the `influxd` process stored data under `/root/.influxdbv2`. + +Starting with `v2.0.4`, we've restored our DockerHub build. This build defaults to storing data in `/var/lib/influxdb2`. Upgrading directly from `quay.io/influxdb/influxdb` to `influxdb:2.0.4` without modifying any settings will appear to cause data loss, as the new process won't be able to find your existing data files. + +To avoid this problem when migrating from `quay.io/influxdb/influxdb` to `influxdb:2.0`, you can use one of the following approaches. + +#### Change volume mount point + +If you don't mind using the new default path, you can switch the mount-point for the volume containing your data: + +```console +# Migrate from this: +$ docker run -p 8086:8086 \ + -v $PWD:/root/.influxdbv2 \ + quay.io/influxdb/influxdb:v2.0.3 + +# To this: +docker run -p 8086:8086 \ + -v $PWD:/var/lib/influxdb2 \ + %%IMAGE%%:2.0 +``` + +#### Override default configs + +If you'd rather keep your data files in the home directory, you can override the container's default config: + +```console +# Migrate from this: +$ docker run -p 8086:8086 \ + -v $PWD:/root/.influxdbv2 \ + quay.io/influxdb/influxdb:v2.0.3 + +# To this: +docker run -p 8086:8086 \ + -e INFLUXD_BOLT_PATH=/root/.influxdbv2/influxd.bolt \ + -e INFLUXD_ENGINE_PATH=/root/.influxdbv2/engine \ + -v $PWD:/root/.influxdbv2 \ + %%IMAGE%%:2.0 +``` + +See the section about configuration below for more ways to override the data paths. + +### Running the container + +The InfluxDB image exposes a shared volume under `/var/lib/influxdb2`. You can mount a host directory to that point to access persisted container data. A typical invocation of the container might be: + +```console +$ docker run -p 8086:8086 \ + -v $PWD:/var/lib/influxdb2 \ + %%IMAGE%%:2.0 +``` + +Modify `$PWD` to the directory where you want to store data associated with the InfluxDB container. + +You can also have Docker control the volume mountpoint by using a named volume. + +```console +$ docker run -p 8086:8086 \ + -v influxdb2:/var/lib/influxdb2 \ + %%IMAGE%%:2.0 +``` + +### Exposed Ports + +The following ports are important and are used by InfluxDB. + +- 8086 HTTP UI and API port + +The HTTP port will be automatically exposed when using `docker run -P`. + +Find more about API Endpoints & Ports [here](https://docs.influxdata.com/influxdb/v2.0/reference/api/). + +### Configuration + +InfluxDB can be configured using a mix of a config file, environment variables, and CLI options. To mount a configuration file and use it with the server, you can use this command to generate the default configuration file: + +```console +$ docker run --rm %%IMAGE%%:2.0 influxd print-config > config.yml +``` + +Modify the default configuration, which will now be available under `$PWD`. Then start the InfluxDB container: + +```console +$ docker run -p 8086:8086 \ + -v $PWD/config.yml:/etc/influxdb2/config.yml \ + %%IMAGE%%:2.0 +``` + +Modify `$PWD` to be the directory where you want to store the configuration file. + +Individual config settings can be overridden by environment variables. The variables must be named using the format `INFLUXD_${SNAKE_CASE_NAME}`. The `SNAKE_CASE_NAME` for an option will be the option's name with all dashes (`-`) replaced by underscores (`_`), in all caps. + +Examples: + +```console +# Config setting: bolt-path +INFLUXD_BOLT_PATH=/root/influxdb.bolt +# Config setting: no-tasks +INFLUXD_NO_TASKS=true +# Config setting: storage-wal-fsync-delay +INFLUXD_STORAGE_WAL_FSYNC_DELAY=15m +``` + +Finally, all config options can be passed as CLI options: + +```console +$ docker run -p 8086:8086 \ + %%IMAGE%%:2.0 --storage-wal-fsync-delay=15m +``` + +CLI options take precedence over environment variables. + +Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/v2.0/reference/config-options/). + +### Database Setup + +InfluxDB 2.x requires authentication. A special API exists to bootstrap the first super-user in the database, along with an initial organization and bucket. It's possible to access this API manually, or to run it automatically via environment variables. + +#### Manual Setup + +If your InfluxDB container is running locally (or on a host exposed to the network), you can perform initial setup from outside the container using either the UI or the `influx` CLI. Find more about setting up InfluxDB using these methods [here](https://docs.influxdata.com/influxdb/v2.0/get-started/#set-up-influxdb). + +It's also possible to perform manual setup from within the container using `docker exec`. For example, if you start the container: + +```console +$ docker run -d -p 8086:8086 \ + --name influxdb2 \ + -v $PWD:/var/lib/influxdb2 \ + %%IMAGE%%:2.0 +``` + +You can then run the `influx` client in the container: + +```console +$ docker exec influxdb2 influx setup \ + --username $USERNAME \ + --password $PASSWORD \ + --org $ORGANIZATION \ + --bucket $BUCKET +``` + +Running setup from within the container will cause CLI configs to be written to `/etc/influxdb2/influx-configs`. You can then use the `influx` CLI from within the container to extract the generated admin token: + +```console +# Using table output + cut +$ docker exec influxdb2 influx auth list \ + --user $USERNAME \ + --hide-headers | cut -f 3 + +# Using JSON output + jq +$ docker exec influxdb2 influx auth list \ + --user $USERNAME \ + --json | jq -r '.[].token' +``` + +Alternatively, you could configure your initial InfluxDB run to mount `/etc/influxdb2` as a volume: + +```console +$ docker run -d -p 8086:8086 \ + --name influxdb2 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + %%IMAGE%%:2.0 +``` + +This will make the generated CLI configs available to the host. + +#### Automated Setup + +The InfluxDB image contains some extra functionality to automatically bootstrap the system. This functionality is enabled by setting the `DOCKER_INFLUXDB_INIT_MODE` environment variable to the value `setup` when running the container. Additional environment variables are used to configure the setup logic: + +- `DOCKER_INFLUXDB_INIT_USERNAME`: The username to set for the system's initial super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_PASSWORD`: The password to set for the system's inital super-user (**Required**). +- `DOCKER_INFLUXDB_INIT_ORG`: The name to set for the system's initial organization (**Required**). +- `DOCKER_INFLUXDB_INIT_BUCKET`: The name to set for the system's initial bucket (**Required**). +- `DOCKER_INFLUXDB_INIT_RETENTION`: The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever. +- `DOCKER_INFLUXDB_INIT_ADMIN_TOKEN`: The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system. + +Automated setup will generate metadata files and CLI configurations. It's recommended to mount volumes at both paths to avoid losing data. + +For example, a minimal invocation of automated setup is: + +```console +$ docker run -d -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + %%IMAGE%%:2.0 +``` + +And an example using all available options is: + +```console +$ docker run -d -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e DOCKER_INFLUXDB_INIT_RETENTION=1w \ + -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-auth-token \ + %%IMAGE%%:2.0 +``` + +**NOTE:** Automated setup will not run if an existing boltdb file is found at the configured path. This behavior allows for the InfluxDB container to reboot post-setup without encountering "DB is already set up" errors. + +### Interacting with InfluxDB + +Once an InfluxDB instance has completed initial setup, its APIs will unlock. See the main documentation site for reference information and examples on: + +- [Writing data](https://docs.influxdata.com/influxdb/v2.0/write-data/) +- [Reading data](https://docs.influxdata.com/influxdb/v2.0/query-data/) +- [Configuring security](https://docs.influxdata.com/influxdb/v2.0/security/) +- [And more!](https://docs.influxdata.com/influxdb/v2.0/) + +### Custom Initialization Scripts + +The InfluxDB image supports running arbitrary initialization scripts after initial system setup, on both the `setup` and `upgrade` paths. Scripts must have extension `.sh` and be mounted inside of the `/docker-entrypoint-initdb.d` directory. When multiple scripts are present, they will be executed in lexical sort order by name. + +As a convenience for script-writers, the image will export a number of variables into the environment before executing any scripts: + +- `INFLUX_CONFIGS_PATH`: Path to the CLI configs file written by `setup`/`upgrade` +- `INFLUX_HOST`: URL to the `influxd` instance running setup logic +- `DOCKER_INFLUXDB_INIT_USER_ID`: ID of the initial admin user created by `setup`/`upgrade` +- `DOCKER_INFLUXDB_INIT_ORG_ID`: ID of the initial organization created by `setup`/`upgrade` +- `DOCKER_INFLUXDB_INIT_BUCKET_ID`: ID of the initial bucket created by `setup`/`upgrade` + +For example, if you wanted to grant write-access to an InfluxDB 1.x client on your initial bucket, you'd first create the file `$PWD/scripts/setup-v1.sh` with contents: + +```bash +#!/bin/bash +set -e + +influx v1 dbrp create \ + --bucket-id ${DOCKER_INFLUXDB_INIT_BUCKET_ID} \ + --db ${V1_DB_NAME} \ + --rp ${V1_RP_NAME} \ + --default \ + --org ${DOCKER_INFLUXDB_INIT_ORG} + +influx v1 auth create \ + --username ${V1_AUTH_USERNAME} \ + --password ${V1_AUTH_PASSWORD} \ + --write-bucket ${DOCKER_INFLUXDB_INIT_BUCKET_ID} \ + --org ${DOCKER_INFLUXDB_INIT_ORG} +``` + +Then you'd run: + +```console +$ docker run -p 8086:8086 \ + -v $PWD/data:/var/lib/influxdb2 \ + -v $PWD/config:/etc/influxdb2 \ + -v $PWD/scripts:/docker-entrypoint-initdb.d \ + -e DOCKER_INFLUXDB_INIT_MODE=setup \ + -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \ + -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \ + -e DOCKER_INFLUXDB_INIT_ORG=my-org \ + -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \ + -e V1_DB_NAME=v1-db \ + -e V1_RP_NAME=v1-rp \ + -e V1_AUTH_USERNAME=v1-user \ + -e V1_AUTH_PASSWORD=v1-password \ + %%IMAGE%%:2.0 +``` + +**NOTE:** Custom scripts will not run if an existing boltdb file is found at the configured path (causing `setup` or `upgrade` to be skipped). This behavior allows for the InfluxDB container to reboot post-initialization without encountering errors from non-idempotent script commands. + +## Using this Image - InfluxDB 1.x ### Running the container @@ -19,7 +429,7 @@ The InfluxDB image exposes a shared volume under `/var/lib/influxdb`, so you can ```console $ docker run -p 8086:8086 \ -v $PWD:/var/lib/influxdb \ - %%IMAGE%% + %%IMAGE%%:1.8 ``` Modify `$PWD` to the directory where you want to store data associated with the InfluxDB container. @@ -29,7 +439,7 @@ You can also have Docker control the volume mountpoint by using a named volume. ```console $ docker run -p 8086:8086 \ -v influxdb:/var/lib/influxdb \ - %%IMAGE%% + %%IMAGE%%:1.8 ``` ### Exposed Ports @@ -41,8 +451,6 @@ The following ports are important and are used by InfluxDB. The HTTP API port will be automatically exposed when using `docker run -P`. -Find more about API Endpoints & Ports [here](https://docs.influxdata.com/influxdb/latest/concepts/api/). - ### Configuration InfluxDB can be either configured from a config file or using environment variables. To mount a configuration file and use it with the server, you can use this command: @@ -50,7 +458,7 @@ InfluxDB can be either configured from a config file or using environment variab Generate the default configuration file: ```console -$ docker run --rm %%IMAGE%% influxd config > influxdb.conf +$ docker run --rm %%IMAGE%%:1.8 influxd config > influxdb.conf ``` Modify the default configuration, which will now be available under `$PWD`. Then start the InfluxDB container. @@ -58,7 +466,7 @@ Modify the default configuration, which will now be available under `$PWD`. Then ```console $ docker run -p 8086:8086 \ -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \ - %%IMAGE%% -config /etc/influxdb/influxdb.conf + %%IMAGE%%:1.8 -config /etc/influxdb/influxdb.conf ``` Modify `$PWD` to the directory where you want to store the configuration file. @@ -73,7 +481,7 @@ INFLUXDB_META_DIR=/path/to/metadir INFLUXDB_DATA_QUERY_LOG_ENABLED=false ``` -Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/latest/introduction/installation/). +Find more about configuring InfluxDB [here](https://docs.influxdata.com/influxdb/v1.8/administration/config/). ### Graphite @@ -82,7 +490,7 @@ InfluxDB supports the Graphite line protocol, but the service and ports are not ```console docker run -p 8086:8086 -p 2003:2003 \ -e INFLUXDB_GRAPHITE_ENABLED=true \ - %%IMAGE%% + %%IMAGE%%:1.8 ``` See the [README on GitHub](https://github.com/influxdata/influxdb/blob/master/services/graphite/README.md) for more detailed documentation to set up the Graphite service. In order to take advantage of graphite templates, you should use a configuration file by outputting a default configuration file using the steps above and modifying the `[[graphite]]` section. @@ -108,7 +516,7 @@ Read more about this in the [official documentation](https://docs.influxdata.com Start the container: ```console -$ docker run --name=influxdb -d -p 8086:8086 %%IMAGE%% +$ docker run --name=influxdb -d -p 8086:8086 %%IMAGE%%:1.8 ``` Run the influx client in this container: @@ -120,7 +528,7 @@ $ docker exec -it influxdb influx Or run the influx client in a separate container: ```console -$ docker run --rm --link=influxdb -it %%IMAGE%% influx -host influxdb +$ docker run --rm --link=influxdb -it %%IMAGE%%:1.8 influx -host influxdb ``` ### Database Initialization @@ -187,7 +595,7 @@ $ docker run --rm \ -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \ -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \ -v $PWD:/var/lib/influxdb \ - influxdb /init-influxdb.sh + %%IMAGE%%:1.8 /init-influxdb.sh ``` The above would create the database `db0`, create an admin user with the password `supersecretpassword`, then create the `telegraf` user with your telegraf's secret password. It would then exit and leave behind any files it created in the volume that you mounted. diff --git a/influxdb/variant-data.md b/influxdb/variant-data.md index 84ab2410e7bd..f6c6fc19c4f7 100644 --- a/influxdb/variant-data.md +++ b/influxdb/variant-data.md @@ -2,6 +2,6 @@ *This image requires a valid license key from InfluxData.* Please visit our [products page](https://www.influxdata.com/products/) to learn more. -This image contains the enterprise data node package for clustering. It supports all of the same options as the OSS image, but it needs port 8088 to be exposed to the meta nodes. +This image contains the enterprise data node package for clustering. It supports all of the same options as the InfluxDB 1.x OSS image, but it needs port 8088 to be exposed to the meta nodes. Refer to the `influxdb:meta` variant for directions on how to setup a cluster. diff --git a/irssi/README.md b/irssi/README.md index fde00f60ff87..3bba4a68ba33 100644 --- a/irssi/README.md +++ b/irssi/README.md @@ -20,12 +20,12 @@ WARNING: [Jessie and Tianon (of the Docker Community)](https://github.com/jessfraz/irssi), [with the appreciation of the Irssi Project](https://twitter.com/GeertHauwaerts/status/559131523145035776) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.2.2`, `1.2`, `1`, `latest`](https://github.com/jessfraz/irssi/blob/773216139cd3685fd710b77dc7d4ee26ec9fb187/debian/Dockerfile) -- [`1.2.2-alpine`, `1.2-alpine`, `1-alpine`, `alpine`](https://github.com/jessfraz/irssi/blob/4eb15e5f0583e58b326282ce0b1454aa5df1cf31/alpine/Dockerfile) +- [`1.2.3`, `1.2`, `1`, `latest`](https://github.com/jessfraz/irssi/blob/1828e23a4b14600e1194c911bbdab6e927748351/debian/Dockerfile) +- [`1.2.3-alpine`, `1.2-alpine`, `1-alpine`, `alpine`](https://github.com/jessfraz/irssi/blob/1828e23a4b14600e1194c911bbdab6e927748351/alpine/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/irssi`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Firssi) + [official-images repo's `library/irssi` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Firssi) [official-images repo's `library/irssi` file](https://github.com/docker-library/official-images/blob/master/library/irssi) ([history](https://github.com/docker-library/official-images/commits/master/library/irssi)) - **Source of this description**: @@ -95,9 +95,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `irssi:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/jetty/README.md b/jetty/README.md index aab29b8caefe..bd1c93ca4d1f 100644 --- a/jetty/README.md +++ b/jetty/README.md @@ -17,25 +17,42 @@ WARNING: # Quick reference - **Maintained by**: - [the Docker Community](https://github.com/appropriate/docker-jetty) + [the Docker Community](https://github.com/eclipse/jetty.docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`9.4.27-jre11-slim`, `9.4-jre11-slim`, `9-jre11-slim`](https://github.com/appropriate/docker-jetty/blob/89dfeafc4a603611cf5135249acbe218b515439c/9.4-jre11-slim/Dockerfile) -- [`9.4.27-jre11`, `9.4-jre11`, `9-jre11`](https://github.com/appropriate/docker-jetty/blob/89dfeafc4a603611cf5135249acbe218b515439c/9.4-jre11/Dockerfile) -- [`9.4.27-jre8`, `9.4-jre8`, `9-jre8`](https://github.com/appropriate/docker-jetty/blob/89dfeafc4a603611cf5135249acbe218b515439c/9.4-jre8/Dockerfile) -- [`9.4.27-jdk13-slim`, `9.4-jdk13-slim`, `9-jdk13-slim`](https://github.com/appropriate/docker-jetty/blob/89dfeafc4a603611cf5135249acbe218b515439c/9.4-jdk13-slim/Dockerfile) -- [`9.4.27`, `9.4`, `9`, `9.4.27-jdk13`, `9.4-jdk13`, `9-jdk13`, `latest`, `jdk13`](https://github.com/appropriate/docker-jetty/blob/89dfeafc4a603611cf5135249acbe218b515439c/9.4-jdk13/Dockerfile) -- [`9.3.28-jre8`, `9.3-jre8`](https://github.com/appropriate/docker-jetty/blob/28562cbee783f1ccb94c375b7e9165c6cfe6d2e2/9.3-jre8/Dockerfile) -- [`9.2.29-jre8`, `9.2-jre8`](https://github.com/appropriate/docker-jetty/blob/28562cbee783f1ccb94c375b7e9165c6cfe6d2e2/9.2-jre8/Dockerfile) +- [`11.0.2-jre11-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jre11-slim/Dockerfile) +- [`11.0.2-jre11`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jre11/Dockerfile) +- [`11.0.2-jdk15-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jdk15-slim/Dockerfile) +- [`11.0.2`, `11.0.2-jdk15`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jdk15/Dockerfile) +- [`11.0.2-jdk11-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jdk11-slim/Dockerfile) +- [`11.0.2-jdk11`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/11.0-jdk11/Dockerfile) +- [`10.0.2-jre11-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jre11-slim/Dockerfile) +- [`10.0.2-jre11`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jre11/Dockerfile) +- [`10.0.2-jdk15-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jdk15-slim/Dockerfile) +- [`10.0.2`, `10.0.2-jdk15`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jdk15/Dockerfile) +- [`10.0.2-jdk11-slim`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jdk11-slim/Dockerfile) +- [`10.0.2-jdk11`](https://github.com/eclipse/jetty.docker/blob/a5956c18b302fce8eacb8d6e7944c638761bc052/10.0-jdk11/Dockerfile) +- [`9.4.40-jre11-slim`, `9.4-jre11-slim`, `9-jre11-slim`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jre11-slim/Dockerfile) +- [`9.4.40-jre11`, `9.4-jre11`, `9-jre11`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jre11/Dockerfile) +- [`9.4.40-jre8-slim`, `9.4-jre8-slim`, `9-jre8-slim`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jre8-slim/Dockerfile) +- [`9.4.40-jre8`, `9.4-jre8`, `9-jre8`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jre8/Dockerfile) +- [`9.4.40-jdk15-slim`, `9.4-jdk15-slim`, `9-jdk15-slim`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk15-slim/Dockerfile) +- [`9.4.40`, `9.4`, `9`, `9.4.40-jdk15`, `9.4-jdk15`, `9-jdk15`, `latest`, `jdk15`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk15/Dockerfile) +- [`9.4.40-jdk11-slim`, `9.4-jdk11-slim`, `9-jdk11-slim`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk11-slim/Dockerfile) +- [`9.4.40-jdk11`, `9.4-jdk11`, `9-jdk11`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk11/Dockerfile) +- [`9.4.40-jdk8-slim`, `9.4-jdk8-slim`, `9-jdk8-slim`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk8-slim/Dockerfile) +- [`9.4.40-jdk8`, `9.4-jdk8`, `9-jdk8`](https://github.com/eclipse/jetty.docker/blob/c33e2e9e291d5407594e33c9e7675bea2c0cda6f/9.4-jdk8/Dockerfile) +- [`9.3.29-jre8`, `9.3-jre8`](https://github.com/eclipse/jetty.docker/blob/c47212fa6db5547a5090fa409c4ee3913bcc18ce/9.3-jre8/Dockerfile) +- [`9.2.30-jre8`, `9.2-jre8`](https://github.com/eclipse/jetty.docker/blob/481a3bcb16a8bf0ee11a4b67a4710050e5403064/9.2-jre8/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/appropriate/docker-jetty/issues](https://github.com/appropriate/docker-jetty/issues) + [https://github.com/eclipse/jetty.docker/issues](https://github.com/eclipse/jetty.docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/jetty/), [`arm64v8`](https://hub.docker.com/r/arm64v8/jetty/) @@ -45,7 +62,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/jetty`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fjetty) + [official-images repo's `library/jetty` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjetty) [official-images repo's `library/jetty` file](https://github.com/docker-library/official-images/blob/master/library/jetty) ([history](https://github.com/docker-library/official-images/commits/master/library/jetty)) - **Source of this description**: @@ -169,7 +186,7 @@ This image does not contain the common packages contained in the default tag and # 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.html) for the software contained in this image. As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/jetty/github-repo b/jetty/github-repo index d72a673cabc3..782a4709aa91 100644 --- a/jetty/github-repo +++ b/jetty/github-repo @@ -1 +1 @@ -https://github.com/appropriate/docker-jetty +https://github.com/eclipse/jetty.docker diff --git a/jetty/license.md b/jetty/license.md index c6cea5395848..27b7c27fcdeb 100644 --- a/jetty/license.md +++ b/jetty/license.md @@ -1 +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.html) for the software contained in this image. diff --git a/jobber/README.md b/jobber/README.md index 64ab8fd61a3b..cb60de5176fa 100644 --- a/jobber/README.md +++ b/jobber/README.md @@ -20,11 +20,11 @@ WARNING: [Jobber](https://github.com/dshearer/jobber-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.4.3-alpine3.11`, `1.4-alpine3.11`, `1-alpine3.11`, `latest`](https://github.com/dshearer/jobber-docker/blob/f7b276c7e49184667f6fc7323e15735c3a08c1d2/alpine3.11/Dockerfile) +- [`1.4.4-alpine3.11`, `1.4-alpine3.11`, `1-alpine3.11`, `latest`](https://github.com/dshearer/jobber-docker/blob/cd07d76987097b5389aa9be5f48df041aa74d699/alpine3.11/Dockerfile) # Quick reference (cont.) @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/jobber`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fjobber) + [official-images repo's `library/jobber` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjobber) [official-images repo's `library/jobber` file](https://github.com/docker-library/official-images/blob/master/library/jobber) ([history](https://github.com/docker-library/official-images/commits/master/library/jobber)) - **Source of this description**: diff --git a/joomla/README.md b/joomla/README.md index a71ff02b54ff..a65fa1b64b44 100644 --- a/joomla/README.md +++ b/joomla/README.md @@ -20,19 +20,16 @@ WARNING: [Joomla!](https://github.com/joomla/docker-joomla) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.9.18-php7.2-apache`, `3.9-php7.2-apache`, `3-php7.2-apache`, `php7.2-apache`, `3.9.18-php7.2`, `3.9-php7.2`, `3-php7.2`, `php7.2`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.2/apache/Dockerfile) -- [`3.9.18-php7.2-fpm`, `3.9-php7.2-fpm`, `3-php7.2-fpm`, `php7.2-fpm`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.2/fpm/Dockerfile) -- [`3.9.18-php7.2-fpm-alpine`, `3.9-php7.2-fpm-alpine`, `3-php7.2-fpm-alpine`, `php7.2-fpm-alpine`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.2/fpm-alpine/Dockerfile) -- [`3.9.18-apache`, `3.9-apache`, `3-apache`, `apache`, `3.9.18`, `3.9`, `3`, `latest`, `3.9.18-php7.3-apache`, `3.9-php7.3-apache`, `3-php7.3-apache`, `php7.3-apache`, `3.9.18-php7.3`, `3.9-php7.3`, `3-php7.3`, `php7.3`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.3/apache/Dockerfile) -- [`3.9.18-fpm`, `3.9-fpm`, `3-fpm`, `fpm`, `3.9.18-php7.3-fpm`, `3.9-php7.3-fpm`, `3-php7.3-fpm`, `php7.3-fpm`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.3/fpm/Dockerfile) -- [`3.9.18-fpm-alpine`, `3.9-fpm-alpine`, `3-fpm-alpine`, `fpm-alpine`, `3.9.18-php7.3-fpm-alpine`, `3.9-php7.3-fpm-alpine`, `3-php7.3-fpm-alpine`, `php7.3-fpm-alpine`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.3/fpm-alpine/Dockerfile) -- [`3.9.18-php7.4-apache`, `3.9-php7.4-apache`, `3-php7.4-apache`, `php7.4-apache`, `3.9.18-php7.4`, `3.9-php7.4`, `3-php7.4`, `php7.4`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.4/apache/Dockerfile) -- [`3.9.18-php7.4-fpm`, `3.9-php7.4-fpm`, `3-php7.4-fpm`, `php7.4-fpm`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.4/fpm/Dockerfile) -- [`3.9.18-php7.4-fpm-alpine`, `3.9-php7.4-fpm-alpine`, `3-php7.4-fpm-alpine`, `php7.4-fpm-alpine`](https://github.com/joomla/docker-joomla/blob/f57eb977eb1cdd6872c278be24458f281a9c92c3/php7.4/fpm-alpine/Dockerfile) +- [`3.9.26-apache`, `3.9-apache`, `3-apache`, `apache`, `3.9.26`, `3.9`, `3`, `latest`, `3.9.26-php7.3-apache`, `3.9-php7.3-apache`, `3-php7.3-apache`, `php7.3-apache`, `3.9.26-php7.3`, `3.9-php7.3`, `3-php7.3`, `php7.3`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.3/apache/Dockerfile) +- [`3.9.26-fpm`, `3.9-fpm`, `3-fpm`, `fpm`, `3.9.26-php7.3-fpm`, `3.9-php7.3-fpm`, `3-php7.3-fpm`, `php7.3-fpm`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.3/fpm/Dockerfile) +- [`3.9.26-fpm-alpine`, `3.9-fpm-alpine`, `3-fpm-alpine`, `fpm-alpine`, `3.9.26-php7.3-fpm-alpine`, `3.9-php7.3-fpm-alpine`, `3-php7.3-fpm-alpine`, `php7.3-fpm-alpine`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.3/fpm-alpine/Dockerfile) +- [`3.9.26-php7.4-apache`, `3.9-php7.4-apache`, `3-php7.4-apache`, `php7.4-apache`, `3.9.26-php7.4`, `3.9-php7.4`, `3-php7.4`, `php7.4`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.4/apache/Dockerfile) +- [`3.9.26-php7.4-fpm`, `3.9-php7.4-fpm`, `3-php7.4-fpm`, `php7.4-fpm`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.4/fpm/Dockerfile) +- [`3.9.26-php7.4-fpm-alpine`, `3.9-php7.4-fpm-alpine`, `3-php7.4-fpm-alpine`, `php7.4-fpm-alpine`](https://github.com/joomla-docker/docker-joomla/blob/c5683fca8a8351a7fab82135b4a804a602ccfe14/php7.4/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -47,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/joomla`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fjoomla) + [official-images repo's `library/joomla` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjoomla) [official-images repo's `library/joomla` file](https://github.com/docker-library/official-images/blob/master/library/joomla) ([history](https://github.com/docker-library/official-images/commits/master/library/joomla)) - **Source of this description**: @@ -141,9 +138,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `joomla:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/jruby/README.md b/jruby/README.md index 933a25724371..9648efb3d098 100644 --- a/jruby/README.md +++ b/jruby/README.md @@ -17,26 +17,25 @@ WARNING: # Quick reference - **Maintained by**: - [the Docker Community](https://github.com/cpuguy83/docker-jruby) + [the Docker Community](https://github.com/jruby/docker-jruby) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `9`, `9.2`, `9.2.11`, `9.2-jre`, `9.2-jre8`, `9.2.11-jre`, `9.2.11-jre8`, `9.2.11.1`, `9.2.11.1-jre`, `9.2.11.1-jre8`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/jre8/Dockerfile) -- [`9-jdk`, `9-jdk8`, `9.2-jdk`, `9.2-jdk8`, `9.2.11-jdk`, `9.2.11-jdk8`, `9.2.11.1-jdk`, `9.2.11.1-jdk8`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/jdk8/Dockerfile) -- [`9.2-jre11`, `9.2.11-jre11`, `9.2.11.1-jre11`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/jre11/Dockerfile) -- [`9.2-jdk11`, `9.2.11-jdk11`, `9.2.11.1-jdk11`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/jdk11/Dockerfile) -- [`9.2-jdk14`, `9.2.11-jdk14`, `9.2.11.1-jdk14`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/jdk14/Dockerfile) -- [`9-onbuild`, `9.2-onbuild`, `9.2.11-onbuild`, `9.2.11.1-onbuild`](https://github.com/cpuguy83/docker-jruby/blob/669ad8f91df152ae83deef766569e0b1f5ec6b2f/9000/onbuild-jdk8/Dockerfile) -- [`9.1`, `9.1.17`, `9.1.17.0`, `9.1-jre`, `9.1.17-jre`, `9.1.17.0-jre`](https://github.com/cpuguy83/docker-jruby/blob/8bc3fe27670a851953345182fe12f14f5e708383/9000/jre/Dockerfile) -- [`9.1-jdk`, `9.1.17-jdk`, `9.1.17.0-jdk`](https://github.com/cpuguy83/docker-jruby/blob/8bc3fe27670a851953345182fe12f14f5e708383/9000/jdk/Dockerfile) +- [`latest`, `9`, `9.2`, `9.2.17`, `9.2-jre`, `9.2-jre8`, `9.2.17-jre`, `9.2.17-jre8`, `9.2.17.0`, `9.2.17.0-jre`, `9.2.17.0-jre8`](https://github.com/jruby/docker-jruby/blob/623057f3dd0bd15d75fc1bf9b55882c4c10aa38c/9000/jre8/Dockerfile) +- [`9-jdk`, `9-jdk8`, `9.2-jdk`, `9.2-jdk8`, `9.2.17-jdk`, `9.2.17-jdk8`, `9.2.17.0-jdk`, `9.2.17.0-jdk8`](https://github.com/jruby/docker-jruby/blob/623057f3dd0bd15d75fc1bf9b55882c4c10aa38c/9000/jdk8/Dockerfile) +- [`9.2-jre11`, `9.2.17-jre11`, `9.2.17.0-jre11`](https://github.com/jruby/docker-jruby/blob/623057f3dd0bd15d75fc1bf9b55882c4c10aa38c/9000/jre11/Dockerfile) +- [`9.2-jdk11`, `9.2.17-jdk11`, `9.2.17.0-jdk11`](https://github.com/jruby/docker-jruby/blob/623057f3dd0bd15d75fc1bf9b55882c4c10aa38c/9000/jdk11/Dockerfile) +- [`9-onbuild`, `9.2-onbuild`, `9.2.17-onbuild`, `9.2.17.0-onbuild`](https://github.com/jruby/docker-jruby/blob/623057f3dd0bd15d75fc1bf9b55882c4c10aa38c/9000/onbuild-jdk8/Dockerfile) +- [`9.1`, `9.1.17`, `9.1.17.0`, `9.1-jre`, `9.1.17-jre`, `9.1.17.0-jre`](https://github.com/jruby/docker-jruby/blob/8bc3fe27670a851953345182fe12f14f5e708383/9000/jre/Dockerfile) +- [`9.1-jdk`, `9.1.17-jdk`, `9.1.17.0-jdk`](https://github.com/jruby/docker-jruby/blob/8bc3fe27670a851953345182fe12f14f5e708383/9000/jdk/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/cpuguy83/docker-jruby/issues](https://github.com/cpuguy83/docker-jruby/issues) + [https://github.com/jruby/docker-jruby/issues](https://github.com/jruby/docker-jruby/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/jruby/) @@ -46,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/jruby`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fjruby) + [official-images repo's `library/jruby` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjruby) [official-images repo's `library/jruby` file](https://github.com/docker-library/official-images/blob/master/library/jruby) ([history](https://github.com/docker-library/official-images/commits/master/library/jruby)) - **Source of this description**: diff --git a/jruby/github-repo b/jruby/github-repo index 083130bae873..305a7cc12e86 100644 --- a/jruby/github-repo +++ b/jruby/github-repo @@ -1 +1 @@ -https://github.com/cpuguy83/docker-jruby +https://github.com/jruby/docker-jruby diff --git a/julia/README.md b/julia/README.md index 1e3d052268b2..2b8db1dd23ae 100644 --- a/julia/README.md +++ b/julia/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/julia) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,24 +28,25 @@ WARNING: ## Simple Tags -- [`1.4.2-buster`, `1.4-buster`, `1-buster`, `buster`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/buster/Dockerfile) -- [`1.4.2-windowsservercore-ltsc2016`, `1.4-windowsservercore-ltsc2016`, `1-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/windows/windowsservercore-ltsc2016/Dockerfile) -- [`1.4.2-windowsservercore-1809`, `1.4-windowsservercore-1809`, `1-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/windows/windowsservercore-1809/Dockerfile) +- [`1.6.1-buster`, `1.6-buster`, `1-buster`, `buster`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/buster/Dockerfile) +- [`1.6.1-alpine3.13`, `1.6-alpine3.13`, `1-alpine3.13`, `alpine3.13`, `1.6.1-alpine`, `1.6-alpine`, `1-alpine`, `alpine`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/alpine3.13/Dockerfile) +- [`1.6.1-windowsservercore-1809`, `1.6-windowsservercore-1809`, `1-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/windows/windowsservercore-1809/Dockerfile) +- [`1.6.1-windowsservercore-ltsc2016`, `1.6-windowsservercore-ltsc2016`, `1-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/windows/windowsservercore-ltsc2016/Dockerfile) - [`1.0.5-buster`, `1.0-buster`](https://github.com/docker-library/julia/blob/4c770401df0b946da5cf61150bedb05280b218a6/1.0/buster/Dockerfile) - [`1.0.5-stretch`, `1.0-stretch`](https://github.com/docker-library/julia/blob/4c770401df0b946da5cf61150bedb05280b218a6/1.0/stretch/Dockerfile) -- [`1.0.5-windowsservercore-ltsc2016`, `1.0-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-ltsc2016/Dockerfile) - [`1.0.5-windowsservercore-1809`, `1.0-windowsservercore-1809`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-1809/Dockerfile) +- [`1.0.5-windowsservercore-ltsc2016`, `1.0-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-ltsc2016/Dockerfile) ## Shared Tags -- `1.4.2`, `1.4`, `1`, `latest`: - - [`1.4.2-buster`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/buster/Dockerfile) - - [`1.4.2-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/windows/windowsservercore-ltsc2016/Dockerfile) - - [`1.4.2-windowsservercore-1809`](https://github.com/docker-library/julia/blob/a427b70887e18776bf16b3f06bfc136a65392690/1.4/windows/windowsservercore-1809/Dockerfile) +- `1.6.1`, `1.6`, `1`, `latest`: + - [`1.6.1-buster`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/buster/Dockerfile) + - [`1.6.1-windowsservercore-1809`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/windows/windowsservercore-1809/Dockerfile) + - [`1.6.1-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/6458311a816406d7b1eb6d37ae92a6e27e32028c/1.6/windows/windowsservercore-ltsc2016/Dockerfile) - `1.0.5`, `1.0`: - [`1.0.5-buster`](https://github.com/docker-library/julia/blob/4c770401df0b946da5cf61150bedb05280b218a6/1.0/buster/Dockerfile) - - [`1.0.5-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-ltsc2016/Dockerfile) - [`1.0.5-windowsservercore-1809`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-1809/Dockerfile) + - [`1.0.5-windowsservercore-ltsc2016`](https://github.com/docker-library/julia/blob/fc3c116c6fe19f870091df6843ed63a37f6c291b/1.0/windows/windowsservercore-ltsc2016/Dockerfile) # Quick reference (cont.) @@ -53,14 +54,14 @@ WARNING: [https://github.com/docker-library/julia/issues](https://github.com/docker-library/julia/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/julia/), [`arm32v7`](https://hub.docker.com/r/arm32v7/julia/), [`arm64v8`](https://hub.docker.com/r/arm64v8/julia/), [`i386`](https://hub.docker.com/r/i386/julia/), [`windows-amd64`](https://hub.docker.com/r/winamd64/julia/) + [`amd64`](https://hub.docker.com/r/amd64/julia/), [`arm32v7`](https://hub.docker.com/r/arm32v7/julia/), [`arm64v8`](https://hub.docker.com/r/arm64v8/julia/), [`i386`](https://hub.docker.com/r/i386/julia/), [`ppc64le`](https://hub.docker.com/r/ppc64le/julia/), [`windows-amd64`](https://hub.docker.com/r/winamd64/julia/) - **Published image artifact details**: [repo-info repo's `repos/julia/` directory](https://github.com/docker-library/repo-info/blob/master/repos/julia) ([history](https://github.com/docker-library/repo-info/commits/master/repos/julia)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/julia`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fjulia) + [official-images repo's `library/julia` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fjulia) [official-images repo's `library/julia` file](https://github.com/docker-library/official-images/blob/master/library/julia) ([history](https://github.com/docker-library/official-images/commits/master/library/julia)) - **Source of this description**: @@ -74,6 +75,12 @@ Julia is a high-level, high-performance dynamic programming language for technic ![logo](https://raw.githubusercontent.com/docker-library/docs/520519ad7db3ea9fd5d3590e836c839a0ffd6f19/julia/logo.png) +# Support Tiers + +Platforms supported by Julia are divided into a tier system that ranks them based on level of support. For more dedicated information about support tiers, please see ["Currently supported platforms" on the Julia download page](https://julialang.org/downloads/#currently_supported_platforms). + +It's especially relevant to note that Alpine / musl is "Tier 3" due to several known issues (see [docker-library/julia#47 (comment)](https://github.com/docker-library/julia/pull/47#issuecomment-652661869), [JuliaLang/julia#28805](https://github.com/JuliaLang/julia/issues/28805), [JuliaLang/julia#36458](https://github.com/JuliaLang/julia/issues/36458)). + # How to use this image ## Start Julia REPL @@ -100,6 +107,14 @@ This is the defacto image. If you are unsure about what your needs are, you prob Some of these tags may have names like buster or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. +## `julia:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + ## `julia:-windowsservercore` This image is based on [Windows Server Core (`microsoft/windowsservercore`)](https://hub.docker.com/r/microsoft/windowsservercore/). As such, it only works in places which that image does, such as Windows 10 Professional/Enterprise (Anniversary Edition) or Windows Server 2016. diff --git a/julia/content.md b/julia/content.md index 19907cf1e016..4c49c9049b64 100644 --- a/julia/content.md +++ b/julia/content.md @@ -6,6 +6,12 @@ Julia is a high-level, high-performance dynamic programming language for technic %%LOGO%% +# Support Tiers + +Platforms supported by Julia are divided into a tier system that ranks them based on level of support. For more dedicated information about support tiers, please see ["Currently supported platforms" on the Julia download page](https://julialang.org/downloads/#currently_supported_platforms). + +It's especially relevant to note that Alpine / musl is "Tier 3" due to several known issues (see [docker-library/julia#47 (comment)](https://github.com/docker-library/julia/pull/47#issuecomment-652661869), [JuliaLang/julia#28805](https://github.com/JuliaLang/julia/issues/28805), [JuliaLang/julia#36458](https://github.com/JuliaLang/julia/issues/36458)). + # How to use this image ## Start Julia REPL diff --git a/kaazing-gateway/README.md b/kaazing-gateway/README.md index dfaaa5ad2856..a7d15fc2503a 100644 --- a/kaazing-gateway/README.md +++ b/kaazing-gateway/README.md @@ -20,7 +20,7 @@ WARNING: [the Kaazing Docker Maintainers](https://github.com/kaazing/gateway.docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/kaazing-gateway`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fkaazing-gateway) + [official-images repo's `library/kaazing-gateway` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkaazing-gateway) [official-images repo's `library/kaazing-gateway` file](https://github.com/docker-library/official-images/blob/master/library/kaazing-gateway) ([history](https://github.com/docker-library/official-images/commits/master/library/kaazing-gateway)) - **Source of this description**: diff --git a/kapacitor/README.md b/kapacitor/README.md index 64fec85bb261..91a452c2c687 100644 --- a/kapacitor/README.md +++ b/kapacitor/README.md @@ -20,14 +20,14 @@ WARNING: [InfluxData](https://github.com/influxdata/influxdata-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.4`, `1.4.1`](https://github.com/influxdata/influxdata-docker/blob/65e446ee51fa4324559198886e2dd2ce0c24d21e/kapacitor/1.4/Dockerfile) -- [`1.4-alpine`, `1.4.1-alpine`](https://github.com/influxdata/influxdata-docker/blob/65e446ee51fa4324559198886e2dd2ce0c24d21e/kapacitor/1.4/alpine/Dockerfile) -- [`1.5`, `1.5.4`, `latest`](https://github.com/influxdata/influxdata-docker/blob/65e446ee51fa4324559198886e2dd2ce0c24d21e/kapacitor/1.5/Dockerfile) -- [`1.5-alpine`, `1.5.4-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/65e446ee51fa4324559198886e2dd2ce0c24d21e/kapacitor/1.5/alpine/Dockerfile) +- [`1.4`, `1.4.1`](https://github.com/influxdata/influxdata-docker/blob/63fe0684150d96916514a84cf5978c3512dc15fa/kapacitor/1.4/Dockerfile) +- [`1.4-alpine`, `1.4.1-alpine`](https://github.com/influxdata/influxdata-docker/blob/63fe0684150d96916514a84cf5978c3512dc15fa/kapacitor/1.4/alpine/Dockerfile) +- [`1.5`, `1.5.9`, `latest`](https://github.com/influxdata/influxdata-docker/blob/63fe0684150d96916514a84cf5978c3512dc15fa/kapacitor/1.5/Dockerfile) +- [`1.5-alpine`, `1.5.9-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/63fe0684150d96916514a84cf5978c3512dc15fa/kapacitor/1.5/alpine/Dockerfile) # Quick reference (cont.) @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/kapacitor`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fkapacitor) + [official-images repo's `library/kapacitor` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkapacitor) [official-images repo's `library/kapacitor` file](https://github.com/docker-library/official-images/blob/master/library/kapacitor) ([history](https://github.com/docker-library/official-images/commits/master/library/kapacitor)) - **Source of this description**: @@ -191,9 +191,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `kapacitor:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/kibana/README.md b/kibana/README.md index 8f2e57d72816..e3590f403dc7 100644 --- a/kibana/README.md +++ b/kibana/README.md @@ -24,8 +24,8 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`7.7.0`](https://github.com/docker-library/kibana/blob/f3512f90b2c0be7c3547095a0bd1e607e18e9af3/7/Dockerfile) -- [`6.8.9`](https://github.com/docker-library/kibana/blob/f3512f90b2c0be7c3547095a0bd1e607e18e9af3/6/Dockerfile) +- [`7.12.0`](https://github.com/docker-library/kibana/blob/357513fc65a890add229f11f9379697f22af9c28/7/Dockerfile) +- [`6.8.15`](https://github.com/docker-library/kibana/blob/d6759ae96883bf483b449f26c97229442e13c5cc/6/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/kibana`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fkibana) + [official-images repo's `library/kibana` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkibana) [official-images repo's `library/kibana` file](https://github.com/docker-library/official-images/blob/master/library/kibana) ([history](https://github.com/docker-library/official-images/commits/master/library/kibana)) - **Source of this description**: @@ -94,7 +94,7 @@ For additional information on running and configuring Kibana on Docker, see [Run # License -View [license information](https://github.com/elastic/kibana/blob/master/licenses/ELASTIC-LICENSE.txt) for the software contained in this image. +View [license information](https://github.com/elastic/kibana/blob/master/licenses/ELASTIC-LICENSE-2.0.txt) for the software contained in this image. As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/kibana/license.md b/kibana/license.md index 235b4ac7c23a..9bf621b35289 100644 --- a/kibana/license.md +++ b/kibana/license.md @@ -1 +1 @@ -View [license information](https://github.com/elastic/kibana/blob/master/licenses/ELASTIC-LICENSE.txt) for the software contained in this image. +View [license information](https://github.com/elastic/kibana/blob/master/licenses/ELASTIC-LICENSE-2.0.txt) for the software contained in this image. diff --git a/known/README.md b/known/README.md index 0eff64a1c385..e0efa4a4b46d 100644 --- a/known/README.md +++ b/known/README.md @@ -14,13 +14,17 @@ WARNING: --> +# **DEPRECATION NOTICE** + +This image is deprecated due to inactivity (last updated Aug 2018; [docker-library/official-images#4670](https://github.com/docker-library/official-images/pull/4670)). + # Quick reference - **Maintained by**: [Known](https://github.com/idno/Known-Docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/known`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fknown) + [official-images repo's `library/known` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fknown) [official-images repo's `library/known` file](https://github.com/docker-library/official-images/blob/master/library/known) ([history](https://github.com/docker-library/official-images/commits/master/library/known)) - **Source of this description**: diff --git a/known/deprecated.md b/known/deprecated.md new file mode 100644 index 000000000000..1f0f4272075c --- /dev/null +++ b/known/deprecated.md @@ -0,0 +1 @@ +This image is deprecated due to inactivity (last updated Aug 2018; [docker-library/official-images#4670](https://github.com/docker-library/official-images/pull/4670)). diff --git a/kong/README-short.txt b/kong/README-short.txt index 031330bcf561..3bcf8a2a5e40 100644 --- a/kong/README-short.txt +++ b/kong/README-short.txt @@ -1 +1 @@ -The Cloud-Native API Gateway & Service Mesh for APIs and Microservices \ No newline at end of file +The Cloud-Native API Gateway for APIs and Microservices diff --git a/kong/README.md b/kong/README.md index 56b52d1149d3..91d32af14d99 100644 --- a/kong/README.md +++ b/kong/README.md @@ -20,28 +20,25 @@ WARNING: [the Kong Docker Maintainers](https://github.com/kong/kong) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.0.4-alpine`, `2.0.4`, `2.0`, `latest`, `alpine`](https://github.com/Kong/docker-kong/blob/74c5796ec1789d13b794c7cda0a5bca692aa6d53/alpine/Dockerfile) -- [`2.0.4-ubuntu`, `2.0-ubuntu`, `ubuntu`](https://github.com/Kong/docker-kong/blob/74c5796ec1789d13b794c7cda0a5bca692aa6d53/ubuntu/Dockerfile) -- [`2.0.4-centos`, `2.0-centos`, `centos`](https://github.com/Kong/docker-kong/blob/74c5796ec1789d13b794c7cda0a5bca692aa6d53/centos/Dockerfile) -- [`1.5.1-alpine`, `1.5.1`, `1.5`](https://github.com/Kong/docker-kong/blob/8ba4389169d5873be65a09001d06293ccdfc7caf/alpine/Dockerfile) -- [`1.5.1-ubuntu`, `1.5-ubuntu`](https://github.com/Kong/docker-kong/blob/8ba4389169d5873be65a09001d06293ccdfc7caf/ubuntu/Dockerfile) -- [`1.5.1-centos`, `1.5-centos`](https://github.com/Kong/docker-kong/blob/8ba4389169d5873be65a09001d06293ccdfc7caf/centos/Dockerfile) -- [`1.4.3-alpine`, `1.4.3`, `1.4`](https://github.com/Kong/docker-kong/blob/d2884ee222e72c3edb9abd48d4062991e41ea7bc/alpine/Dockerfile) -- [`1.4.3-ubuntu`, `1.4-ubuntu`](https://github.com/Kong/docker-kong/blob/d2884ee222e72c3edb9abd48d4062991e41ea7bc/ubuntu/Dockerfile) -- [`1.4.3-centos`, `1.4-centos`](https://github.com/Kong/docker-kong/blob/d2884ee222e72c3edb9abd48d4062991e41ea7bc/centos/Dockerfile) -- [`1.3.1-alpine`, `1.3.1`, `1.3`](https://github.com/Kong/docker-kong/blob/48b240c47a4d902ddcc20de408e2c08855a5feca/alpine/Dockerfile) -- [`1.3.1-ubuntu`, `1.3-ubuntu`](https://github.com/Kong/docker-kong/blob/48b240c47a4d902ddcc20de408e2c08855a5feca/ubuntu/Dockerfile) -- [`1.3.1-centos`, `1.3-centos`](https://github.com/Kong/docker-kong/blob/48b240c47a4d902ddcc20de408e2c08855a5feca/centos/Dockerfile) -- [`1.2.3-alpine`, `1.2.3`, `1.2`](https://github.com/Kong/docker-kong/blob/f5512d2898dad8ad6c95d42b1762ea004713d519/alpine/Dockerfile) -- [`1.2.3-centos`, `1.2-centos`](https://github.com/Kong/docker-kong/blob/f5512d2898dad8ad6c95d42b1762ea004713d519/centos/Dockerfile) -- [`1.1.3-alpine`, `1.1.3`, `1.1`](https://github.com/Kong/docker-kong/blob/196331b1e6b4798032af4d6c218a441e2c8db74d/alpine/Dockerfile) -- [`1.1.3-centos`, `1.1-centos`](https://github.com/Kong/docker-kong/blob/196331b1e6b4798032af4d6c218a441e2c8db74d/centos/Dockerfile) -- [`1.0.4-alpine`, `1.0.4`, `1.0`](https://github.com/Kong/docker-kong/blob/5a47f391b479e6660edab76813891326630bed0e/alpine/Dockerfile) -- [`1.0.4-centos`, `1.0-centos`](https://github.com/Kong/docker-kong/blob/5a47f391b479e6660edab76813891326630bed0e/centos/Dockerfile) +- [`2.4.0-alpine`, `2.4-alpine`, `2.4.0`, `2.4`, `2`, `alpine`, `latest`](https://github.com/Kong/docker-kong/blob/a62135b29314e50120f61ab479b82287f52dc167/alpine/Dockerfile) +- [`2.4.0-ubuntu`, `2.4-ubuntu`, `ubuntu`](https://github.com/Kong/docker-kong/blob/a62135b29314e50120f61ab479b82287f52dc167/ubuntu/Dockerfile) +- [`2.4.0-centos`, `2.4-centos`, `centos`](https://github.com/Kong/docker-kong/blob/a62135b29314e50120f61ab479b82287f52dc167/centos/Dockerfile) +- [`2.3.3-alpine`, `2.3-alpine`, `2.3.3`, `2.3`](https://github.com/Kong/docker-kong/blob/6a6944f5abb7bd2708a47f5571a5133ad976b343/alpine/Dockerfile) +- [`2.3.3-ubuntu`, `2.3-ubuntu`](https://github.com/Kong/docker-kong/blob/6a6944f5abb7bd2708a47f5571a5133ad976b343/ubuntu/Dockerfile) +- [`2.3.3-centos`, `2.3-centos`](https://github.com/Kong/docker-kong/blob/6a6944f5abb7bd2708a47f5571a5133ad976b343/centos/Dockerfile) +- [`2.2.2-alpine`, `2.2-alpine`, `2.2.2`, `2.2`](https://github.com/Kong/docker-kong/blob/40f9973922b56ac590053b56f159bdce802e9296/alpine/Dockerfile) +- [`2.2.2-ubuntu`, `2.2-ubuntu`](https://github.com/Kong/docker-kong/blob/40f9973922b56ac590053b56f159bdce802e9296/ubuntu/Dockerfile) +- [`2.2.2-centos`, `2.2-centos`](https://github.com/Kong/docker-kong/blob/40f9973922b56ac590053b56f159bdce802e9296/centos/Dockerfile) +- [`2.1.4-alpine`, `2.1-alpine`, `2.1.4`, `2.1`](https://github.com/Kong/docker-kong/blob/b4c835f84d56a2d2d69c2780a1a409177ea0844f/alpine/Dockerfile) +- [`2.1.4-ubuntu`, `2.1-ubuntu`](https://github.com/Kong/docker-kong/blob/397f34af7d3503cc64614ef5852d5929a84ef65b/ubuntu/Dockerfile) +- [`2.1.4-centos`, `2.1-centos`](https://github.com/Kong/docker-kong/blob/397f34af7d3503cc64614ef5852d5929a84ef65b/centos/Dockerfile) +- [`2.0.5-alpine`, `2.0.5`, `2.0`](https://github.com/Kong/docker-kong/blob/60626098f2f32fe1528eb4ffacff13fd1c3e919f/alpine/Dockerfile) +- [`2.0.5-ubuntu`, `2.0-ubuntu`](https://github.com/Kong/docker-kong/blob/60626098f2f32fe1528eb4ffacff13fd1c3e919f/ubuntu/Dockerfile) +- [`2.0.5-centos`, `2.0-centos`](https://github.com/Kong/docker-kong/blob/60626098f2f32fe1528eb4ffacff13fd1c3e919f/centos/Dockerfile) # Quick reference (cont.) @@ -56,7 +53,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/kong`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fkong) + [official-images repo's `library/kong` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fkong) [official-images repo's `library/kong` file](https://github.com/docker-library/official-images/blob/master/library/kong) ([history](https://github.com/docker-library/official-images/commits/master/library/kong)) - **Source of this description**: @@ -64,15 +61,49 @@ WARNING: # What is Kong? -Kong is a scalable, open source API Platform (also known as an API Gateway, or API Middleware, or Service Mesh for Microservices). Kong was originally built by [Kong Inc.](https://konghq.com) (formerly known as Mashape) to secure, manage and extend over 15,000 Microservices for its API Marketplace, which generates billions of requests per month. +Kong is a scalable, open source API Platform (also known as an API Gateway or API Middleware). Kong was originally built by [Kong Inc.](https://konghq.com) (formerly known as Mashape) to secure, manage and extend over 15,000 Microservices for its API Marketplace, which generates billions of requests per month. Under active development, Kong is now used in production at hundreds of organizations from startups, to large enterprises and governments including: The New York Times, Expedia, Healthcare.gov, The Guardian, Condè Nast, The University of Auckland, Ferrari, Rakuten, Cisco, SkyScanner, Yahoo! Japan, Giphy and so on. Kong's official documentation can be found at [docs.konghq.com](https://docs.konghq.com/). -# How to use this image +# How to use this image without a Database -First, Kong requires a running Cassandra cluster (3.x+) or PostgreSQL instance (9.6+) before it starts. You can either use the official Cassandra/PostgreSQL containers, or use your own. +Kong 1.1 added the capability to run Kong without a database, using only in-memory storage for entities: we call this DB-less mode. When running Kong DB-less, the configuration of entities is done in a second configuration file, in YAML or JSON, using declarative configuration. + +```shell +$ docker run -d --name kong \ + -e "KONG_DATABASE=off" \ + -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \ + -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \ + -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \ + -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \ + -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \ + -p 8000:8000 \ + -p 8443:8443 \ + -p 8001:8001 \ + -p 8444:8444 \ + kong +``` + +Generate a skeleton configuration file to get you started + +```shell +$ docker exec -it kong kong config init /home/kong/kong.yml +$ docker exec -it kong cat /home/kong/kong.yml >> kong.yml +``` + +Load a declarative configuration into a running Kong node via its Admin API using HTTPie + +```shell +$ http :8001/config config=@kong.yml +``` + +**Note**: Not all Kong plugins are compatible with DB-less mode, since some of them by design require a central database coordination and/or dynamic creation of entities, see the doc for details at [DB-less and Declarative Configuration](https://docs.konghq.com/latest/db-less-and-declarative-config/) + +# How to use this image with a Database + +First, for fully-compatible with all plugins (e.g. acl, oauth2), Kong requires a running Cassandra cluster (3.x+) or PostgreSQL instance (9.6+) before it starts. You can either use the official Cassandra/PostgreSQL containers, or use your own. ## 1. Link Kong to either a Cassandra or PostgreSQL container @@ -97,6 +128,7 @@ $ docker run -d --name kong-database \ -p 5432:5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ + -e "POSTGRES_PASSWORD=kong" \ postgres:9.6 ``` @@ -109,6 +141,8 @@ $ docker run --rm \ --link kong-database:kong-database \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ + -e "KONG_PG_USER=kong" \ + -e "KONG_PG_PASSWORD=kong" \ -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ kong kong migrations bootstrap ``` @@ -126,6 +160,7 @@ $ docker run -d --name kong \ --link kong-database:kong-database \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ + -e "KONG_PG_PASSWORD=kong" \ -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \ -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \ @@ -176,13 +211,6 @@ This will run the [`kong reload`](https://docs.konghq.com/latest/cli/#reload) co Among the many deployment options [available](https://konghq.com/install), Kong also offers a [Kubernetes Ingress Controller](https://github.com/Kong/kubernetes-ingress-controller) ready to use in your K8S environment. -# Service Mesh - -Since version 1.x you can run Kong in a Service Mesh deployment as a platform-agnostic sidecar proxy (including Kubernetes, but also on any other platform supported by Kong). To get started and learn more you can read the docs at: - -- [Streams and Service Mesh](https://docs.konghq.com/latest/streams-and-service-mesh/) -- [Kubernetes and Service Mesh](https://github.com/Kong/kong-mesh-dist-kubernetes) - # Image Variants The `kong` images come in many flavors, each designed for a specific use case. @@ -193,9 +221,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `kong:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/kong/content.md b/kong/content.md index 0e065b79ae65..65a4ee26e151 100644 --- a/kong/content.md +++ b/kong/content.md @@ -1,14 +1,48 @@ # What is Kong? -Kong is a scalable, open source API Platform (also known as an API Gateway, or API Middleware, or Service Mesh for Microservices). Kong was originally built by [Kong Inc.](https://konghq.com) (formerly known as Mashape) to secure, manage and extend over 15,000 Microservices for its API Marketplace, which generates billions of requests per month. +Kong is a scalable, open source API Platform (also known as an API Gateway or API Middleware). Kong was originally built by [Kong Inc.](https://konghq.com) (formerly known as Mashape) to secure, manage and extend over 15,000 Microservices for its API Marketplace, which generates billions of requests per month. Under active development, Kong is now used in production at hundreds of organizations from startups, to large enterprises and governments including: The New York Times, Expedia, Healthcare.gov, The Guardian, Condè Nast, The University of Auckland, Ferrari, Rakuten, Cisco, SkyScanner, Yahoo! Japan, Giphy and so on. Kong's official documentation can be found at [docs.konghq.com](https://docs.konghq.com/). -# How to use this image +# How to use this image without a Database -First, Kong requires a running Cassandra cluster (3.x+) or PostgreSQL instance (9.6+) before it starts. You can either use the official Cassandra/PostgreSQL containers, or use your own. +Kong 1.1 added the capability to run Kong without a database, using only in-memory storage for entities: we call this DB-less mode. When running Kong DB-less, the configuration of entities is done in a second configuration file, in YAML or JSON, using declarative configuration. + +```shell +$ docker run -d --name kong \ + -e "KONG_DATABASE=off" \ + -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \ + -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \ + -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \ + -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \ + -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \ + -p 8000:8000 \ + -p 8443:8443 \ + -p 8001:8001 \ + -p 8444:8444 \ + %%IMAGE%% +``` + +Generate a skeleton configuration file to get you started + +```shell +$ docker exec -it kong kong config init /home/kong/kong.yml +$ docker exec -it kong cat /home/kong/kong.yml >> kong.yml +``` + +Load a declarative configuration into a running Kong node via its Admin API using HTTPie + +```shell +$ http :8001/config config=@kong.yml +``` + +**Note**: Not all Kong plugins are compatible with DB-less mode, since some of them by design require a central database coordination and/or dynamic creation of entities, see the doc for details at [DB-less and Declarative Configuration](https://docs.konghq.com/latest/db-less-and-declarative-config/) + +# How to use this image with a Database + +First, for fully-compatible with all plugins (e.g. acl, oauth2), Kong requires a running Cassandra cluster (3.x+) or PostgreSQL instance (9.6+) before it starts. You can either use the official Cassandra/PostgreSQL containers, or use your own. ## 1. Link Kong to either a Cassandra or PostgreSQL container @@ -33,6 +67,7 @@ $ docker run -d --name kong-database \ -p 5432:5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ + -e "POSTGRES_PASSWORD=kong" \ postgres:9.6 ``` @@ -45,6 +80,8 @@ $ docker run --rm \ --link kong-database:kong-database \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ + -e "KONG_PG_USER=kong" \ + -e "KONG_PG_PASSWORD=kong" \ -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ %%IMAGE%% kong migrations bootstrap ``` @@ -62,6 +99,7 @@ $ docker run -d --name kong \ --link kong-database:kong-database \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ + -e "KONG_PG_PASSWORD=kong" \ -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \ -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \ @@ -111,10 +149,3 @@ This will run the [`kong reload`](https://docs.konghq.com/latest/cli/#reload) co # Kubernetes Ingress Among the many deployment options [available](https://konghq.com/install), Kong also offers a [Kubernetes Ingress Controller](https://github.com/Kong/kubernetes-ingress-controller) ready to use in your K8S environment. - -# Service Mesh - -Since version 1.x you can run Kong in a Service Mesh deployment as a platform-agnostic sidecar proxy (including Kubernetes, but also on any other platform supported by Kong). To get started and learn more you can read the docs at: - -- [Streams and Service Mesh](https://docs.konghq.com/latest/streams-and-service-mesh/) -- [Kubernetes and Service Mesh](https://github.com/Kong/kong-mesh-dist-kubernetes) diff --git a/lightstreamer/README.md b/lightstreamer/README.md index 5b95033e8427..926969304473 100644 --- a/lightstreamer/README.md +++ b/lightstreamer/README.md @@ -20,16 +20,16 @@ WARNING: [the Lightstreamer Server Development Team](https://github.com/Lightstreamer/Docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links - [`6.0.3`, `6.0`](https://github.com/Lightstreamer/Docker/blob/eeab1ae534273b1b05c973e577a1f3eec8d58427/6.0/Dockerfile) - [`6.1.0`, `6.1`, `6`](https://github.com/Lightstreamer/Docker/blob/eeab1ae534273b1b05c973e577a1f3eec8d58427/6.1/Dockerfile) -- [`7.0.3-jdk8-openjdk`, `7.0-jdk8-openjdk`, `7.0.3-jdk8`, `7.0-jdk8`](https://github.com/Lightstreamer/Docker/blob/4ffe8753677fe6d6fea3c0e8cdc44383b278a0b7/7.0/jdk8/Dockerfile) -- [`7.0.3-jdk11-openjdk`, `7.0-jdk11-openjdk`, `7.0.3-jdk11`, `7.0-jdk11`, `7.0.3`, `7.0`](https://github.com/Lightstreamer/Docker/blob/3efee7177cc5213bf17ad12ff1ba518f5b58c1f0/7.0/jdk11/Dockerfile) -- [`7.1.0-jdk8-openjdk`, `7.1-jdk8-openjdk`, `7-jdk8-openjdk`, `7.1.0-jdk8`, `7.1-jdk8`, `7-jdk8`](https://github.com/Lightstreamer/Docker/blob/45001c033ed1837a9374a9285b7d2e8acfee6dca/7.1/jdk8/Dockerfile) -- [`7.1.0-jdk11-openjdk`, `7.1-jdk11-openjdk`, `7-jdk11-openjdk`, `7.1.0-jdk11`, `7.1-jdk11`, `7-jdk11`, `7.1.0`, `7.1`, `7`, `latest`](https://github.com/Lightstreamer/Docker/blob/45001c033ed1837a9374a9285b7d2e8acfee6dca/7.1/jdk11/Dockerfile) +- [`7.0.3-jdk8-openjdk`, `7.0-jdk8-openjdk`, `7.0.3-jdk8`, `7.0-jdk8`](https://github.com/Lightstreamer/Docker/blob/f3aaece15133b9405aef20c5d378c5a83aba7585/7.0/jdk8/Dockerfile) +- [`7.0.3-jdk11-openjdk`, `7.0-jdk11-openjdk`, `7.0.3-jdk11`, `7.0-jdk11`, `7.0.3`, `7.0`](https://github.com/Lightstreamer/Docker/blob/f3aaece15133b9405aef20c5d378c5a83aba7585/7.0/jdk11/Dockerfile) +- [`7.1.2-jdk8-openjdk`, `7.1-jdk8-openjdk`, `7-jdk8-openjdk`, `7.1.2-jdk8`, `7.1-jdk8`, `7-jdk8`](https://github.com/Lightstreamer/Docker/blob/7bdd2632e1cae0bf838899d591aadb2dd128c41a/7.1/jdk8/Dockerfile) +- [`7.1.2-jdk11-openjdk`, `7.1-jdk11-openjdk`, `7-jdk11-openjdk`, `7.1.2-jdk11`, `7.1-jdk11`, `7-jdk11`, `7.1.2`, `7.1`, `7`, `latest`](https://github.com/Lightstreamer/Docker/blob/7bdd2632e1cae0bf838899d591aadb2dd128c41a/7.1/jdk11/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/lightstreamer`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Flightstreamer) + [official-images repo's `library/lightstreamer` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Flightstreamer) [official-images repo's `library/lightstreamer` file](https://github.com/docker-library/official-images/blob/master/library/lightstreamer) ([history](https://github.com/docker-library/official-images/commits/master/library/lightstreamer)) - **Source of this description**: diff --git a/logstash/README.md b/logstash/README.md index f7e2763f4c66..9d7b37775cbe 100644 --- a/logstash/README.md +++ b/logstash/README.md @@ -24,8 +24,8 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`7.7.0`](https://github.com/docker-library/logstash/blob/0d647982be457e2a1f1910a143eff0778ba09f76/7/Dockerfile) -- [`6.8.9`](https://github.com/docker-library/logstash/blob/0d647982be457e2a1f1910a143eff0778ba09f76/6/Dockerfile) +- [`7.12.0`](https://github.com/docker-library/logstash/blob/5cbbe444c8ff8bf931fdf9177bb879398c47dd44/7/Dockerfile) +- [`6.8.15`](https://github.com/docker-library/logstash/blob/3640745741d172b99cb90382e701de77726c43a5/6/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/logstash`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Flogstash) + [official-images repo's `library/logstash` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Flogstash) [official-images repo's `library/logstash` file](https://github.com/docker-library/official-images/blob/master/library/logstash) ([history](https://github.com/docker-library/official-images/commits/master/library/logstash)) - **Source of this description**: diff --git a/mageia/README.md b/mageia/README.md index bfa8c7fb26fc..24aa8a8f4db4 100644 --- a/mageia/README.md +++ b/mageia/README.md @@ -20,11 +20,13 @@ WARNING: [Mageia Developers](https://github.com/juanluisbaptiste/docker-brew-mageia) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`7`, `latest`](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/718477bf0e9298cf8ed9f08c5229713356e4728d/dist/7/x86_64/Dockerfile) +- [`8`, `latest`](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/067e6df19c568e101a42dc71b77f6a2de5992c70/dist/8/x86_64/Dockerfile) +- [`7`](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/067e6df19c568e101a42dc71b77f6a2de5992c70/dist/7/x86_64/Dockerfile) +- [`cauldron`](https://github.com/juanluisbaptiste/docker-brew-mageia/blob/067e6df19c568e101a42dc71b77f6a2de5992c70/dist/cauldron/x86_64/Dockerfile) # Quick reference (cont.) @@ -39,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mageia`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmageia) + [official-images repo's `library/mageia` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmageia) [official-images repo's `library/mageia` file](https://github.com/docker-library/official-images/blob/master/library/mageia) ([history](https://github.com/docker-library/official-images/commits/master/library/mageia)) - **Source of this description**: diff --git a/mariadb/README-short.txt b/mariadb/README-short.txt index 4d5ba71da8c0..12378062037a 100644 --- a/mariadb/README-short.txt +++ b/mariadb/README-short.txt @@ -1 +1 @@ -MariaDB is a community-developed fork of MySQL intended to remain free under the GNU GPL. +MariaDB Server is a high performing open source relational databases, forked from MySQL. diff --git a/mariadb/README.md b/mariadb/README.md index b63af677bb27..eb2d2e2f5848 100644 --- a/mariadb/README.md +++ b/mariadb/README.md @@ -17,23 +17,25 @@ WARNING: # Quick reference - **Maintained by**: - [the Docker Community](https://github.com/docker-library/mariadb) + [MariaDB developer community](https://github.com/MariaDB/mariadb-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [Database Adminstrators (Stack Exchange)](https://dba.stackexchange.com/questions/tagged/docker+mariadb), [MariaDB Knowledge Base](https://mariadb.com/kb/en/docker-and-mariadb/) ([Ask a Question here](https://mariadb.com/kb/en/docker-and-mariadb/ask) available). + +Also see the ["Getting Help with MariaDB" article on the MariaDB Knowledge Base](https://mariadb.com/kb/en/getting-help-with-mariadb/). # Supported tags and respective `Dockerfile` links -- [`10.5.3-bionic`, `10.5-bionic`, `rc-bionic`, `10.5.3`, `10.5`, `rc`](https://github.com/docker-library/mariadb/blob/f2ba44905eb3aed53fca34536f05f109055d9bc2/10.5/Dockerfile) -- [`10.4.13-bionic`, `10.4-bionic`, `10-bionic`, `bionic`, `10.4.13`, `10.4`, `10`, `latest`](https://github.com/docker-library/mariadb/blob/f2ba44905eb3aed53fca34536f05f109055d9bc2/10.4/Dockerfile) -- [`10.3.23-bionic`, `10.3-bionic`, `10.3.23`, `10.3`](https://github.com/docker-library/mariadb/blob/f2ba44905eb3aed53fca34536f05f109055d9bc2/10.3/Dockerfile) -- [`10.2.32-bionic`, `10.2-bionic`, `10.2.32`, `10.2`](https://github.com/docker-library/mariadb/blob/f2ba44905eb3aed53fca34536f05f109055d9bc2/10.2/Dockerfile) -- [`10.1.45-bionic`, `10.1-bionic`, `10.1.45`, `10.1`](https://github.com/docker-library/mariadb/blob/f2ba44905eb3aed53fca34536f05f109055d9bc2/10.1/Dockerfile) +- [`10.5.9-focal`, `10.5-focal`, `10-focal`, `focal`, `10.5.9`, `10.5`, `10`, `latest`](https://github.com/docker-library/mariadb/blob/5d57b119775458cd37994a0f313ea3a29603efbb/10.5/Dockerfile) +- [`10.4.18-focal`, `10.4-focal`, `10.4.18`, `10.4`](https://github.com/docker-library/mariadb/blob/74078d37c547949e762bbabdd3b684f932c7be2e/10.4/Dockerfile) +- [`10.3.28-focal`, `10.3-focal`, `10.3.28`, `10.3`](https://github.com/docker-library/mariadb/blob/ac4469cfa8e1a01093ce0a142ca0a03a5db58fce/10.3/Dockerfile) +- [`10.2.37-bionic`, `10.2-bionic`, `10.2.37`, `10.2`](https://github.com/docker-library/mariadb/blob/f0e04a7e0e4b7d83691efc889865da8d6ae5f00e/10.2/Dockerfile) +- [`10.1.48-bionic`, `10.1-bionic`, `10.1.48`, `10.1`](https://github.com/docker-library/mariadb/blob/0d197a924990af521cded73d04f113b06488844f/10.1/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/docker-library/mariadb/issues](https://github.com/docker-library/mariadb/issues) + [https://jira.mariadb.org/](https://jira.mariadb.org/) under "MDEV" Project, and component "Packaging" or [GitHub](https://github.com/MariaDB/mariadb-docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/mariadb/), [`arm64v8`](https://hub.docker.com/r/arm64v8/mariadb/), [`ppc64le`](https://hub.docker.com/r/ppc64le/mariadb/) @@ -43,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mariadb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmariadb) + [official-images repo's `library/mariadb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmariadb) [official-images repo's `library/mariadb` file](https://github.com/docker-library/official-images/blob/master/library/mariadb) ([history](https://github.com/docker-library/official-images/commits/master/library/mariadb)) - **Source of this description**: @@ -51,13 +53,11 @@ WARNING: # 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. - -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. +MariaDB Server is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users include Wikipedia, DBS Bank and ServiceNow. -> [wikipedia.org/wiki/MariaDB](https://en.wikipedia.org/wiki/MariaDB) +The intent is also to maintain high compatibility with MySQL, ensuring a library binary equivalency and exact matching with MySQL APIs and commands. MariaDB developers continue to develop new features and improve performance to better serve its users. -![logo](https://raw.githubusercontent.com/docker-library/docs/74e3b3d4d60389208732dbd2c95145868111d959/mariadb/logo.png) +![logo](https://raw.githubusercontent.com/docker-library/docs/fe985dcb24154456254e252d1fa4a2b6b656ee80/mariadb/logo.png) # How to use this image @@ -66,12 +66,19 @@ The intent is also to maintain high compatibility with MySQL, ensuring a "drop-i Starting a MariaDB instance is simple: ```console -$ docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag +$ docker run -p 127.0.0.1:3306:3306 --name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag +``` + +or: + +```console +$ docker network create some-network # Create the network +$ docker run --net some-network --name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag ``` -... where `some-mariadb` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MySQL root user and `tag` is the tag specifying the MySQL version you want. See the list above for relevant tags. +... where `some-network` is newly created network (other than `bridge` as the default network), `some-mariadb` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MariaDB root user and `tag` is the tag specifying the MariaDB version you want. See the list above for relevant tags. -## Connect to MariaDB from the MySQL command line client +## Connect to MariaDB from the MySQL/MariaDB command line client The following command starts another `mariadb` container instance and runs the `mysql` command line client against your original `mariadb` container, allowing you to execute SQL statements against your database instance: @@ -87,7 +94,7 @@ This image can also be used as a client for non-Docker or remote instances: $ docker run -it --rm mariadb mysql -hsome.mysql.host -usome-mysql-user -p ``` -More information about the MySQL command line client can be found in the [MySQL documentation](http://dev.mysql.com/doc/en/mysql.html) +More information about the MariaDB command line client can be found in the [MariaDB Knowledge Base](https://mariadb.com/kb/en/mysql-command-line-client/) ## ... via [`docker stack deploy`](https://docs.docker.com/engine/reference/commandline/stack_deploy/) or [`docker-compose`](https://github.com/docker/compose) @@ -116,7 +123,7 @@ services: Run `docker stack deploy -c stack.yml mariadb` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate). -## Container shell access and viewing MySQL logs +## Container shell access and viewing MariaDB logs The `docker exec` command allows you to run commands inside a Docker container. The following command line will give you a bash shell inside your `mariadb` container: @@ -130,7 +137,7 @@ The log is available through Docker's container log: $ docker logs some-mariadb ``` -## Using a custom MySQL configuration file +## Using a custom MariaDB configuration file The startup configuration is specified in the file `/etc/mysql/my.cnf`, and that file in turn includes any files found in the `/etc/mysql/conf.d` directory that end with `.cnf`. Settings in files in this directory will augment and/or override settings in `/etc/mysql/my.cnf`. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as `/etc/mysql/conf.d` inside the `mariadb` container. @@ -176,11 +183,15 @@ Do note that there is no need to use this mechanism to create the root superuser ### `MYSQL_ALLOW_EMPTY_PASSWORD` -This is an optional variable. Set to `yes` to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MariaDB instance completely unprotected, allowing anyone to gain complete superuser access. +This is an optional variable. Set to a non-empty value, like `yes`, to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MariaDB instance completely unprotected, allowing anyone to gain complete superuser access. ### `MYSQL_RANDOM_ROOT_PASSWORD` -This is an optional variable. Set to `yes` to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). +This is an optional variable. Set to a non-empty value, like `yes`, to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). + +### `MYSQL_INITDB_SKIP_TZINFO` + +By default, the entrypoint script automatically loads the timezone data needed for the `CONVERT_TZ()` function. If it is not needed, any non-empty value disables timezone loading. ## Docker Secrets @@ -194,7 +205,7 @@ Currently, this is only supported for `MYSQL_ROOT_PASSWORD`, `MYSQL_ROOT_HOST`, # Initializing a fresh instance -When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions `.sh`, `.sql` and `.sql.gz` that are found in `/docker-entrypoint-initdb.d`. Files will be executed in alphabetical order. You can easily populate your `mariadb` services by [mounting a SQL dump into that directory](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume) and provide [custom images](https://docs.docker.com/reference/builder/) with contributed data. SQL files will be imported by default to the database specified by the `MYSQL_DATABASE` variable. +When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions `.sh`, `.sql`, `.sql.gz`, and `.sql.xz` that are found in `/docker-entrypoint-initdb.d`. Files will be executed in alphabetical order. `.sh` files without file execute permission are sourced rather than executed. You can easily populate your `mariadb` services by [mounting a SQL dump into that directory](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume) and provide [custom images](https://docs.docker.com/reference/builder/) with contributed data. SQL files will be imported by default to the database specified by the `MYSQL_DATABASE` variable. # Caveats diff --git a/mariadb/content.md b/mariadb/content.md index e9e205437b9c..ddd3ee6a6a05 100644 --- a/mariadb/content.md +++ b/mariadb/content.md @@ -1,10 +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 Server is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users include Wikipedia, DBS Bank and ServiceNow. -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) +The intent is also to maintain high compatibility with MySQL, ensuring a library binary equivalency and exact matching with MySQL APIs and commands. MariaDB developers continue to develop new features and improve performance to better serve its users. %%LOGO%% @@ -15,12 +13,19 @@ The intent is also to maintain high compatibility with MySQL, ensuring a "drop-i Starting a MariaDB instance is simple: ```console -$ docker run --name some-%%REPO%% -e MYSQL_ROOT_PASSWORD=my-secret-pw -d %%IMAGE%%:tag +$ docker run -p 127.0.0.1:3306:3306 --name some-%%REPO%% -e MYSQL_ROOT_PASSWORD=my-secret-pw -d %%IMAGE%%:tag ``` -... where `some-%%REPO%%` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MySQL root user and `tag` is the tag specifying the MySQL version you want. See the list above for relevant tags. +or: + +```console +$ docker network create some-network # Create the network +$ docker run --net some-network --name some-%%REPO%% -e MYSQL_ROOT_PASSWORD=my-secret-pw -d %%IMAGE%%:tag +``` -## Connect to MariaDB from the MySQL command line client +... where `some-network` is newly created network (other than `bridge` as the default network), `some-%%REPO%%` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MariaDB root user and `tag` is the tag specifying the MariaDB version you want. See the list above for relevant tags. + +## Connect to MariaDB from the MySQL/MariaDB command line client The following command starts another `%%IMAGE%%` container instance and runs the `mysql` command line client against your original `%%IMAGE%%` container, allowing you to execute SQL statements against your database instance: @@ -36,13 +41,13 @@ This image can also be used as a client for non-Docker or remote instances: $ docker run -it --rm %%IMAGE%% mysql -hsome.mysql.host -usome-mysql-user -p ``` -More information about the MySQL command line client can be found in the [MySQL documentation](http://dev.mysql.com/doc/en/mysql.html) +More information about the MariaDB command line client can be found in the [MariaDB Knowledge Base](https://mariadb.com/kb/en/mysql-command-line-client/) ## %%STACK%% Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate). -## Container shell access and viewing MySQL logs +## Container shell access and viewing MariaDB logs The `docker exec` command allows you to run commands inside a Docker container. The following command line will give you a bash shell inside your `%%IMAGE%%` container: @@ -56,7 +61,7 @@ The log is available through Docker's container log: $ docker logs some-%%REPO%% ``` -## Using a custom MySQL configuration file +## Using a custom MariaDB configuration file The startup configuration is specified in the file `/etc/mysql/my.cnf`, and that file in turn includes any files found in the `/etc/mysql/conf.d` directory that end with `.cnf`. Settings in files in this directory will augment and/or override settings in `/etc/mysql/my.cnf`. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as `/etc/mysql/conf.d` inside the `%%IMAGE%%` container. @@ -102,11 +107,15 @@ Do note that there is no need to use this mechanism to create the root superuser ### `MYSQL_ALLOW_EMPTY_PASSWORD` -This is an optional variable. Set to `yes` to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MariaDB instance completely unprotected, allowing anyone to gain complete superuser access. +This is an optional variable. Set to a non-empty value, like `yes`, to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MariaDB instance completely unprotected, allowing anyone to gain complete superuser access. ### `MYSQL_RANDOM_ROOT_PASSWORD` -This is an optional variable. Set to `yes` to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). +This is an optional variable. Set to a non-empty value, like `yes`, to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). + +### `MYSQL_INITDB_SKIP_TZINFO` + +By default, the entrypoint script automatically loads the timezone data needed for the `CONVERT_TZ()` function. If it is not needed, any non-empty value disables timezone loading. ## Docker Secrets @@ -120,7 +129,7 @@ Currently, this is only supported for `MYSQL_ROOT_PASSWORD`, `MYSQL_ROOT_HOST`, # Initializing a fresh instance -When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions `.sh`, `.sql` and `.sql.gz` that are found in `/docker-entrypoint-initdb.d`. Files will be executed in alphabetical order. You can easily populate your `%%IMAGE%%` services by [mounting a SQL dump into that directory](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume) and provide [custom images](https://docs.docker.com/reference/builder/) with contributed data. SQL files will be imported by default to the database specified by the `MYSQL_DATABASE` variable. +When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions `.sh`, `.sql`, `.sql.gz`, and `.sql.xz` that are found in `/docker-entrypoint-initdb.d`. Files will be executed in alphabetical order. `.sh` files without file execute permission are sourced rather than executed. You can easily populate your `%%IMAGE%%` services by [mounting a SQL dump into that directory](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume) and provide [custom images](https://docs.docker.com/reference/builder/) with contributed data. SQL files will be imported by default to the database specified by the `MYSQL_DATABASE` variable. # Caveats diff --git a/mariadb/get-help.md b/mariadb/get-help.md new file mode 100644 index 000000000000..9f87e7b498d8 --- /dev/null +++ b/mariadb/get-help.md @@ -0,0 +1,3 @@ +[Database Adminstrators (Stack Exchange)](https://dba.stackexchange.com/questions/tagged/docker+mariadb), [MariaDB Knowledge Base](https://mariadb.com/kb/en/docker-and-mariadb/) ([Ask a Question here](https://mariadb.com/kb/en/docker-and-mariadb/ask) available). + +Also see the ["Getting Help with MariaDB" article on the MariaDB Knowledge Base](https://mariadb.com/kb/en/getting-help-with-mariadb/). diff --git a/mariadb/github-repo b/mariadb/github-repo index 5ef8d698b566..b8c401d9883d 100644 --- a/mariadb/github-repo +++ b/mariadb/github-repo @@ -1 +1 @@ -https://github.com/docker-library/mariadb +https://github.com/MariaDB/mariadb-docker diff --git a/mariadb/issues.md b/mariadb/issues.md new file mode 100644 index 000000000000..fc893a4f346e --- /dev/null +++ b/mariadb/issues.md @@ -0,0 +1 @@ +[https://jira.mariadb.org/](https://jira.mariadb.org/) under "MDEV" Project, and component "Packaging" or [GitHub](%%GITHUB-REPO%%/issues) diff --git a/mariadb/logo.png b/mariadb/logo.png index 5c4efbd9cb09..fb112daedcf9 100644 Binary files a/mariadb/logo.png and b/mariadb/logo.png differ diff --git a/mariadb/maintainer.md b/mariadb/maintainer.md deleted file mode 120000 index e727ff0696ae..000000000000 --- a/mariadb/maintainer.md +++ /dev/null @@ -1 +0,0 @@ -../.common-templates/maintainer-community.md \ No newline at end of file diff --git a/mariadb/maintainer.md b/mariadb/maintainer.md new file mode 100644 index 000000000000..3907b235702b --- /dev/null +++ b/mariadb/maintainer.md @@ -0,0 +1 @@ +[MariaDB developer community](%%GITHUB-REPO%%) diff --git a/matomo/README.md b/matomo/README.md index 4f7ecd2dbc23..e610418d92af 100644 --- a/matomo/README.md +++ b/matomo/README.md @@ -20,13 +20,13 @@ WARNING: [Matomo](https://github.com/matomo-org/docker) (a Matomo community contributor) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.13.5-apache`, `3.13-apache`, `3-apache`, `apache`, `3.13.5`, `3.13`, `3`, `latest`](https://github.com/matomo-org/docker/blob/5f0966ed08cf055472793309e070fd3caef5af2b/apache/Dockerfile) -- [`3.13.5-fpm`, `3.13-fpm`, `3-fpm`, `fpm`](https://github.com/matomo-org/docker/blob/5f0966ed08cf055472793309e070fd3caef5af2b/fpm/Dockerfile) -- [`3.13.5-fpm-alpine`, `3.13-fpm-alpine`, `3-fpm-alpine`, `fpm-alpine`](https://github.com/matomo-org/docker/blob/5f0966ed08cf055472793309e070fd3caef5af2b/fpm-alpine/Dockerfile) +- [`4.2.1-apache`, `4.2-apache`, `4-apache`, `apache`, `4.2.1`, `4.2`, `4`, `latest`](https://github.com/matomo-org/docker/blob/56ea9f5137c2a7fc41389da3db7bae75d2f8a275/apache/Dockerfile) +- [`4.2.1-fpm`, `4.2-fpm`, `4-fpm`, `fpm`](https://github.com/matomo-org/docker/blob/56ea9f5137c2a7fc41389da3db7bae75d2f8a275/fpm/Dockerfile) +- [`4.2.1-fpm-alpine`, `4.2-fpm-alpine`, `4-fpm-alpine`, `fpm-alpine`](https://github.com/matomo-org/docker/blob/56ea9f5137c2a7fc41389da3db7bae75d2f8a275/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/matomo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmatomo) + [official-images repo's `library/matomo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmatomo) [official-images repo's `library/matomo` file](https://github.com/docker-library/official-images/blob/master/library/matomo) ([history](https://github.com/docker-library/official-images/commits/master/library/matomo)) - **Source of this description**: @@ -117,7 +117,10 @@ We'd love to hear your feedback and suggestions in the issue tracker: [github.co ## GeoIP -This product includes GeoLite data created by MaxMind, available from [http://www.maxmind.com](http://www.maxmind.com). +~~This product includes GeoLite data created by MaxMind, available from [http://www.maxmind.com](http://www.maxmind.com).~~ + +- https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/ +- https://matomo.org/faq/how-to/faq_163/ # Image Variants @@ -129,9 +132,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `matomo:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/matomo/content.md b/matomo/content.md index c59bfa3d5067..6eccf13475b5 100644 --- a/matomo/content.md +++ b/matomo/content.md @@ -68,4 +68,7 @@ We'd love to hear your feedback and suggestions in the issue tracker: [github.co ## GeoIP -This product includes GeoLite data created by MaxMind, available from [http://www.maxmind.com](http://www.maxmind.com). +~~This product includes GeoLite data created by MaxMind, available from [http://www.maxmind.com](http://www.maxmind.com).~~ + +- https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/ +- https://matomo.org/faq/how-to/faq_163/ diff --git a/maven/README.md b/maven/README.md index 0221f55ab2f0..cca7ff0be92d 100644 --- a/maven/README.md +++ b/maven/README.md @@ -17,30 +17,37 @@ WARNING: # Quick reference - **Maintained by**: - [the Maven Project](https://github.com/carlossg/docker-maven) + [Carlos Sanchez](https://github.com/carlossg/docker-maven) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.6.3-jdk-11`, `3.6-jdk-11`, `3-jdk-11`, `3.6.3-openjdk-11`, `3.6-openjdk-11`, `3-openjdk-11`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/openjdk-11/Dockerfile) -- [`3.6.3-jdk-11-openj9`, `3.6-jdk-11-openj9`, `3-jdk-11-openj9`, `3.6.3-adoptopenjdk-11-openj9`, `3.6-adoptopenjdk-11-openj9`, `3-adoptopenjdk-11-openj9`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/adoptopenjdk-11-openj9/Dockerfile) -- [`3.6.3-jdk-11-slim`, `3.6-jdk-11-slim`, `3-jdk-11-slim`, `3.6.3-openjdk-11-slim`, `3.6-openjdk-11-slim`, `3-openjdk-11-slim`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/openjdk-11-slim/Dockerfile) -- [`3.6.3-jdk-14`, `3.6-jdk-14`, `3-jdk-14`, `3.6.3-openjdk-14`, `3.6.3`, `3.6.3-openjdk`, `3.6-openjdk-14`, `3.6`, `3.6-openjdk`, `3-openjdk-14`, `3`, `latest`, `3-openjdk`, `openjdk`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/openjdk-14/Dockerfile) -- [`3.6.3-jdk-8`, `3.6-jdk-8`, `3-jdk-8`, `3.6.3-openjdk-8`, `3.6-openjdk-8`, `3-openjdk-8`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/openjdk-8/Dockerfile) -- [`3.6.3-jdk-8-openj9`, `3.6-jdk-8-openj9`, `3-jdk-8-openj9`, `3.6.3-adoptopenjdk-8-openj9`, `3.6-adoptopenjdk-8-openj9`, `3-adoptopenjdk-8-openj9`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/adoptopenjdk-8-openj9/Dockerfile) -- [`3.6.3-jdk-8-slim`, `3.6-jdk-8-slim`, `3-jdk-8-slim`, `3.6.3-openjdk-8-slim`, `3.6-openjdk-8-slim`, `3-openjdk-8-slim`](https://github.com/carlossg/docker-maven/blob/26ba49149787c85b9c51222b47c00879b2a0afde/openjdk-8-slim/Dockerfile) -- [`3.6.3-openjdk-14-slim`, `3.6.3-slim`, `3.6-openjdk-14-slim`, `3.6-slim`, `3-openjdk-14-slim`, `slim`](https://github.com/carlossg/docker-maven/blob/440e1f708e8fa5ea4d6ef509d22aee6d8265b209/openjdk-14-slim/Dockerfile) -- [`3.6.3-openjdk-15`, `3.6-openjdk-15`, `3-openjdk-15`](https://github.com/carlossg/docker-maven/blob/4ba4f1c3b6600e64c8c430dfea2ef65ff18608ff/openjdk-15/Dockerfile) -- [`3.6.3-adoptopenjdk-11`, `3.6-adoptopenjdk-11`, `3-adoptopenjdk-11`](https://github.com/carlossg/docker-maven/blob/d98fc55d68cbd5fa8df9e59c95678e1d702b0925/adoptopenjdk-11/Dockerfile) -- [`3.6.3-adoptopenjdk-14`, `3.6.3-adoptopenjdk`, `3.6-adoptopenjdk-14`, `3.6-adoptopenjdk`, `3-adoptopenjdk-14`, `3-adoptopenjdk`, `adoptopenjdk`](https://github.com/carlossg/docker-maven/blob/5768b638a84739d0ad85dbcbe42018075550b109/adoptopenjdk-14/Dockerfile) -- [`3.6.3-adoptopenjdk-14-openj9`, `3.6-adoptopenjdk-14-openj9`, `3-adoptopenjdk-14-openj9`](https://github.com/carlossg/docker-maven/blob/5768b638a84739d0ad85dbcbe42018075550b109/adoptopenjdk-14-openj9/Dockerfile) -- [`3.6.3-adoptopenjdk-8`, `3.6-adoptopenjdk-8`, `3-adoptopenjdk-8`](https://github.com/carlossg/docker-maven/blob/d98fc55d68cbd5fa8df9e59c95678e1d702b0925/adoptopenjdk-8/Dockerfile) -- [`3.6.3-ibmjava-8`, `3.6.3-ibmjava`, `3.6-ibmjava-8`, `3.6-ibmjava`, `3-ibmjava-8`, `3-ibmjava`, `ibmjava`](https://github.com/carlossg/docker-maven/blob/d3dd6bc261c6173c5e52e3a7a36b6a3d8d2800b4/ibmjava-8/Dockerfile) -- [`3.6.3-ibmjava-8-alpine`, `3.6.3-ibmjava-alpine`, `3.6-ibmjava-8-alpine`, `3.6-ibmjava-alpine`, `3-ibmjava-8-alpine`, `ibmjava-alpine`](https://github.com/carlossg/docker-maven/blob/d3dd6bc261c6173c5e52e3a7a36b6a3d8d2800b4/ibmjava-8-alpine/Dockerfile) -- [`3.6.3-amazoncorretto-11`, `3.6.3-amazoncorretto`, `3.6-amazoncorretto-11`, `3.6-amazoncorretto`, `3-amazoncorretto-11`, `3-amazoncorretto`, `amazoncorretto`](https://github.com/carlossg/docker-maven/blob/d3dd6bc261c6173c5e52e3a7a36b6a3d8d2800b4/amazoncorretto-11/Dockerfile) -- [`3.6.3-amazoncorretto-8`, `3.6-amazoncorretto-8`, `3-amazoncorretto-8`](https://github.com/carlossg/docker-maven/blob/d3dd6bc261c6173c5e52e3a7a36b6a3d8d2800b4/amazoncorretto-8/Dockerfile) +- [`3.8.1-jdk-11`, `3.8-jdk-11`, `3-jdk-11`, `3.8.1-openjdk-11`, `3.8-openjdk-11`, `3-openjdk-11`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-11/Dockerfile) +- [`3.8.1-jdk-11-openj9`, `3.8-jdk-11-openj9`, `3-jdk-11-openj9`, `3.8.1-adoptopenjdk-11-openj9`, `3.8-adoptopenjdk-11-openj9`, `3-adoptopenjdk-11-openj9`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-11-openj9/Dockerfile) +- [`3.8.1-jdk-11-slim`, `3.8-jdk-11-slim`, `3-jdk-11-slim`, `3.8.1-openjdk-11-slim`, `3.8-openjdk-11-slim`, `3-openjdk-11-slim`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-11-slim/Dockerfile) +- [`3.8.1-jdk-8`, `3.8-jdk-8`, `3-jdk-8`, `3.8.1-openjdk-8`, `3.8-openjdk-8`, `3-openjdk-8`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-8/Dockerfile) +- [`3.8.1-jdk-8-openj9`, `3.8-jdk-8-openj9`, `3-jdk-8-openj9`, `3.8.1-adoptopenjdk-8-openj9`, `3.8-adoptopenjdk-8-openj9`, `3-adoptopenjdk-8-openj9`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-8-openj9/Dockerfile) +- [`3.8.1-jdk-8-slim`, `3.8-jdk-8-slim`, `3-jdk-8-slim`, `3.8.1-openjdk-8-slim`, `3.8-openjdk-8-slim`, `3-openjdk-8-slim`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-8-slim/Dockerfile) +- [`3.8.1-openjdk-15`, `3.8-openjdk-15`, `3-openjdk-15`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-15/Dockerfile) +- [`3.8.1-openjdk-15-slim`, `3.8-openjdk-15-slim`, `3-openjdk-15-slim`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-15-slim/Dockerfile) +- [`3.8.1-openjdk-16`, `3.8.1`, `3.8.1-openjdk`, `3.8-openjdk-16`, `3.8`, `3.8-openjdk`, `3-openjdk-16`, `3`, `latest`, `3-openjdk`, `openjdk`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-16/Dockerfile) +- [`3.8.1-openjdk-16-slim`, `3.8-openjdk-16-slim`, `3-openjdk-16-slim`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-16-slim/Dockerfile) +- [`3.8.1-openjdk-17`, `3.8-openjdk-17`, `3-openjdk-17`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-17/Dockerfile) +- [`3.8.1-openjdk-17-slim`, `3.8-openjdk-17-slim`, `3-openjdk-17-slim`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/openjdk-17-slim/Dockerfile) +- [`3.8.1-adoptopenjdk-11`, `3.8-adoptopenjdk-11`, `3-adoptopenjdk-11`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-11/Dockerfile) +- [`3.8.1-adoptopenjdk-15`, `3.8.1-adoptopenjdk`, `3.8-adoptopenjdk-15`, `3.8-adoptopenjdk`, `3-adoptopenjdk-15`, `3-adoptopenjdk`, `adoptopenjdk`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-15/Dockerfile) +- [`3.8.1-adoptopenjdk-15-openj9`, `3.8-adoptopenjdk-15-openj9`, `3-adoptopenjdk-15-openj9`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-15-openj9/Dockerfile) +- [`3.8.1-adoptopenjdk-16`, `3.8-adoptopenjdk-16`, `3-adoptopenjdk-16`](https://github.com/carlossg/docker-maven/blob/b1a19f5406f0d01cd8fe689efbb838474c48db4f/adoptopenjdk-16/Dockerfile) +- [`3.8.1-adoptopenjdk-16-openj9`, `3.8-adoptopenjdk-16-openj9`, `3-adoptopenjdk-16-openj9`](https://github.com/carlossg/docker-maven/blob/b1a19f5406f0d01cd8fe689efbb838474c48db4f/adoptopenjdk-16-openj9/Dockerfile) +- [`3.8.1-adoptopenjdk-8`, `3.8-adoptopenjdk-8`, `3-adoptopenjdk-8`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/adoptopenjdk-8/Dockerfile) +- [`3.8.1-ibmjava-8`, `3.8.1-ibmjava`, `3.8-ibmjava-8`, `3.8-ibmjava`, `3-ibmjava-8`, `3-ibmjava`, `ibmjava`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/ibmjava-8/Dockerfile) +- [`3.8.1-ibmjava-8-alpine`, `3.8.1-ibmjava-alpine`, `3.8-ibmjava-8-alpine`, `3.8-ibmjava-alpine`, `3-ibmjava-8-alpine`, `ibmjava-alpine`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/ibmjava-8-alpine/Dockerfile) +- [`3.8.1-amazoncorretto-11`, `3.8.1-amazoncorretto`, `3.8-amazoncorretto-11`, `3.8-amazoncorretto`, `3-amazoncorretto-11`, `3-amazoncorretto`, `amazoncorretto`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/amazoncorretto-11/Dockerfile) +- [`3.8.1-amazoncorretto-15`, `3.8-amazoncorretto-15`, `3-amazoncorretto-15`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/amazoncorretto-15/Dockerfile) +- [`3.8.1-amazoncorretto-16`, `3.8-amazoncorretto-16`, `3-amazoncorretto-16`](https://github.com/carlossg/docker-maven/blob/b6352962a604bfffb21a535e0999c0292b68c1db/amazoncorretto-16/Dockerfile) +- [`3.8.1-amazoncorretto-8`, `3.8-amazoncorretto-8`, `3-amazoncorretto-8`](https://github.com/carlossg/docker-maven/blob/bdffb5117c33476d554325d8efe5866306004b99/amazoncorretto-8/Dockerfile) # Quick reference (cont.) @@ -55,7 +62,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/maven`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmaven) + [official-images repo's `library/maven` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmaven) [official-images repo's `library/maven` file](https://github.com/docker-library/official-images/blob/master/library/maven) ([history](https://github.com/docker-library/official-images/commits/master/library/maven)) - **Source of this description**: @@ -142,9 +149,9 @@ This image does not contain the common packages contained in the default tag and ## `maven:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/maven/maintainer.md b/maven/maintainer.md index ab3ef11baa7b..a0cfecfa4385 100644 --- a/maven/maintainer.md +++ b/maven/maintainer.md @@ -1 +1 @@ -[the Maven Project](%%GITHUB-REPO%%) +[Carlos Sanchez](%%GITHUB-REPO%%) diff --git a/mediawiki/README.md b/mediawiki/README.md index fccc15e42286..2fdefe5436e3 100644 --- a/mediawiki/README.md +++ b/mediawiki/README.md @@ -17,16 +17,22 @@ WARNING: # Quick reference - **Maintained by**: - [Wikimedia Foundation & Docker Community](https://github.com/wikimedia/mediawiki-docker) + [MediaWiki community & Docker Community](https://github.com/wikimedia/mediawiki-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.34.1`, `1.34`, `stable`, `latest`](https://github.com/wikimedia/mediawiki-docker/blob/672a803dfb39e86b8dc1f4b57fde4c6df6304050/1.34/Dockerfile) -- [`1.33.3`, `1.33`, `legacy`](https://github.com/wikimedia/mediawiki-docker/blob/672a803dfb39e86b8dc1f4b57fde4c6df6304050/1.33/Dockerfile) -- [`1.31.7`, `1.31`, `lts`, `legacylts`](https://github.com/wikimedia/mediawiki-docker/blob/672a803dfb39e86b8dc1f4b57fde4c6df6304050/1.31/Dockerfile) +- [`1.35.2`, `1.35`, `lts`, `stable`, `latest`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.35/apache/Dockerfile) +- [`1.35.2-fpm`, `1.35-fpm`, `lts-fpm`, `stable-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.35/fpm/Dockerfile) +- [`1.35.2-fpm-alpine`, `1.35-fpm-alpine`, `lts-fpm-alpine`, `stable-fpm-alpine`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.35/fpm-alpine/Dockerfile) +- [`1.34.4`, `1.34`, `legacy`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.34/apache/Dockerfile) +- [`1.34.4-fpm`, `1.34-fpm`, `legacy-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.34/fpm/Dockerfile) +- [`1.34.4-fpm-alpine`, `1.34-fpm-alpine`, `legacy-fpm-alpline`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.34/fpm-alpine/Dockerfile) +- [`1.31.14`, `1.31`, `legacylts`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.31/apache/Dockerfile) +- [`1.31.14-fpm`, `1.31-fpm`, `legacylts-fpm`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.31/fpm/Dockerfile) +- [`1.31.14-fpm-alpine`, `1.31-fpm-alpine`, `legacylts-fpm-alpine`](https://github.com/wikimedia/mediawiki-docker/blob/dc240fc8771ce74bc2c420eb1283d718ebf1abe0/1.31/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -34,14 +40,14 @@ WARNING: [https://phabricator.wikimedia.org/project/view/3094/](https://phabricator.wikimedia.org/project/view/3094/) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/mediawiki/), [`arm32v5`](https://hub.docker.com/r/arm32v5/mediawiki/), [`arm32v7`](https://hub.docker.com/r/arm32v7/mediawiki/), [`arm64v8`](https://hub.docker.com/r/arm64v8/mediawiki/), [`i386`](https://hub.docker.com/r/i386/mediawiki/), [`ppc64le`](https://hub.docker.com/r/ppc64le/mediawiki/) + [`amd64`](https://hub.docker.com/r/amd64/mediawiki/), [`arm32v5`](https://hub.docker.com/r/arm32v5/mediawiki/), [`arm32v6`](https://hub.docker.com/r/arm32v6/mediawiki/), [`arm32v7`](https://hub.docker.com/r/arm32v7/mediawiki/), [`arm64v8`](https://hub.docker.com/r/arm64v8/mediawiki/), [`i386`](https://hub.docker.com/r/i386/mediawiki/), [`ppc64le`](https://hub.docker.com/r/ppc64le/mediawiki/) - **Published image artifact details**: [repo-info repo's `repos/mediawiki/` directory](https://github.com/docker-library/repo-info/blob/master/repos/mediawiki) ([history](https://github.com/docker-library/repo-info/commits/master/repos/mediawiki)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mediawiki`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmediawiki) + [official-images repo's `library/mediawiki` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmediawiki) [official-images repo's `library/mediawiki` file](https://github.com/docker-library/official-images/blob/master/library/mediawiki) ([history](https://github.com/docker-library/official-images/commits/master/library/mediawiki)) - **Source of this description**: @@ -53,7 +59,7 @@ MediaWiki is free and open-source wiki software. Originally developed by Magnus > [wikipedia.org/wiki/MediaWiki](https://en.wikipedia.org/wiki/MediaWiki) -![logo](https://raw.githubusercontent.com/docker-library/docs/0e325698c0f701882e333c6cb112a0f1fa98a003/mediawiki/logo.png) +![logo](https://raw.githubusercontent.com/docker-library/docs/82edffd5b9edd34a517be9e079966978fb1c990b/mediawiki/logo.png) # How to use this image @@ -144,6 +150,22 @@ The following Docker Hub features can help with the task of keeping your depende - [Automated Builds](https://docs.docker.com/docker-hub/builds/) let Docker Hub automatically build your Dockerfile each time you push changes to it. +# Image Variants + +The `mediawiki` images come in many flavors, each designed for a specific use case. + +## `mediawiki:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +## `mediawiki:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + # License View [license information](https://phabricator.wikimedia.org/source/mediawiki/browse/master/COPYING) for the software contained in this image. diff --git a/mediawiki/logo.png b/mediawiki/logo.png index f5c10179aee1..dacec45056e2 100644 Binary files a/mediawiki/logo.png and b/mediawiki/logo.png differ diff --git a/mediawiki/maintainer.md b/mediawiki/maintainer.md index 63f4f82a8975..5712c56de031 100644 --- a/mediawiki/maintainer.md +++ b/mediawiki/maintainer.md @@ -1 +1 @@ -[Wikimedia Foundation & Docker Community](%%GITHUB-REPO%%) +[MediaWiki community & Docker Community](%%GITHUB-REPO%%) diff --git a/memcached/README.md b/memcached/README.md index a19da0f8dd02..4d8a03dc88e4 100644 --- a/memcached/README.md +++ b/memcached/README.md @@ -20,12 +20,12 @@ WARNING: [the Docker Community](https://github.com/docker-library/memcached) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.6.6`, `1.6`, `1`, `latest`](https://github.com/docker-library/memcached/blob/4538128227a0e422e59df735d67b03ee23d39637/debian/Dockerfile) -- [`1.6.6-alpine`, `1.6-alpine`, `1-alpine`, `alpine`](https://github.com/docker-library/memcached/blob/4538128227a0e422e59df735d67b03ee23d39637/alpine/Dockerfile) +- [`1.6.9`, `1.6`, `1`, `latest`](https://github.com/docker-library/memcached/blob/e67da60d356bf67cf1f822c563dd522c19d48deb/debian/Dockerfile) +- [`1.6.9-alpine`, `1.6-alpine`, `1-alpine`, `alpine`](https://github.com/docker-library/memcached/blob/2f06a1eacb5ca1bbdcc1a1b57334897e04d7a270/alpine/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/memcached`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmemcached) + [official-images repo's `library/memcached` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmemcached) [official-images repo's `library/memcached` file](https://github.com/docker-library/official-images/blob/master/library/memcached) ([history](https://github.com/docker-library/official-images/commits/master/library/memcached)) - **Source of this description**: @@ -80,9 +80,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `memcached:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/mongo-express/README.md b/mongo-express/README.md index 0bc0c1e78e90..dad4c6a6fead 100644 --- a/mongo-express/README.md +++ b/mongo-express/README.md @@ -20,7 +20,7 @@ WARNING: [mongo-express](https://github.com/mongo-express/mongo-express-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mongo-express`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmongo-express) + [official-images repo's `library/mongo-express` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmongo-express) [official-images repo's `library/mongo-express` file](https://github.com/docker-library/official-images/blob/master/library/mongo-express) ([history](https://github.com/docker-library/official-images/commits/master/library/mongo-express)) - **Source of this description**: diff --git a/mongo/README.md b/mongo/README.md index 9ede64036cd7..11174bc1c7b9 100644 --- a/mongo/README.md +++ b/mongo/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/mongo) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,39 +28,49 @@ WARNING: ## Simple Tags -- [`3.6.18-xenial`, `3.6-xenial`, `3-xenial`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/Dockerfile) -- [`3.6.18-windowsservercore-ltsc2016`, `3.6-windowsservercore-ltsc2016`, `3-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-ltsc2016/Dockerfile) -- [`3.6.18-windowsservercore-1809`, `3.6-windowsservercore-1809`, `3-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-1809/Dockerfile) -- [`4.0.18-xenial`, `4.0-xenial`](https://github.com/docker-library/mongo/blob/3a626c5e0de4943f0b7d0aeaf9511526d13bfb60/4.0/Dockerfile) -- [`4.0.18-windowsservercore-ltsc2016`, `4.0-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-ltsc2016/Dockerfile) -- [`4.0.18-windowsservercore-1809`, `4.0-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-1809/Dockerfile) -- [`4.2.7-bionic`, `4.2-bionic`, `4-bionic`, `bionic`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/Dockerfile) -- [`4.2.7-windowsservercore-ltsc2016`, `4.2-windowsservercore-ltsc2016`, `4-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-ltsc2016/Dockerfile) -- [`4.2.7-windowsservercore-1809`, `4.2-windowsservercore-1809`, `4-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-1809/Dockerfile) +- [`3.6.23-xenial`, `3.6-xenial`, `3-xenial`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/Dockerfile) +- [`3.6.23-windowsservercore-1809`, `3.6-windowsservercore-1809`, `3-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-1809/Dockerfile) +- [`3.6.23-windowsservercore-ltsc2016`, `3.6-windowsservercore-ltsc2016`, `3-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-ltsc2016/Dockerfile) +- [`4.0.24-xenial`, `4.0-xenial`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/Dockerfile) +- [`4.0.24-windowsservercore-1809`, `4.0-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-1809/Dockerfile) +- [`4.0.24-windowsservercore-ltsc2016`, `4.0-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-ltsc2016/Dockerfile) +- [`4.2.13-bionic`, `4.2-bionic`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/Dockerfile) +- [`4.2.13-windowsservercore-1809`, `4.2-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-1809/Dockerfile) +- [`4.2.13-windowsservercore-ltsc2016`, `4.2-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-ltsc2016/Dockerfile) +- [`4.4.5-bionic`, `4.4-bionic`, `4-bionic`, `bionic`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/Dockerfile) +- [`4.4.5-windowsservercore-1809`, `4.4-windowsservercore-1809`, `4-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-1809/Dockerfile) +- [`4.4.5-windowsservercore-ltsc2016`, `4.4-windowsservercore-ltsc2016`, `4-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-ltsc2016/Dockerfile) ## Shared Tags -- `3.6.18`, `3.6`, `3`: - - [`3.6.18-xenial`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/Dockerfile) - - [`3.6.18-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.6.18-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-1809/Dockerfile) -- `3.6.18-windowsservercore`, `3.6-windowsservercore`, `3-windowsservercore`: - - [`3.6.18-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.6.18-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/be3c690cae52447831b977dab9c6a66dc993df65/3.6/windows/windowsservercore-1809/Dockerfile) -- `4.0.18`, `4.0`: - - [`4.0.18-xenial`](https://github.com/docker-library/mongo/blob/3a626c5e0de4943f0b7d0aeaf9511526d13bfb60/4.0/Dockerfile) - - [`4.0.18-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-ltsc2016/Dockerfile) - - [`4.0.18-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-1809/Dockerfile) -- `4.0.18-windowsservercore`, `4.0-windowsservercore`: - - [`4.0.18-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-ltsc2016/Dockerfile) - - [`4.0.18-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/0e738a2b4ce1968d09d2a9acf84585f3cb0ba467/4.0/windows/windowsservercore-1809/Dockerfile) -- `4.2.7`, `4.2`, `4`, `latest`: - - [`4.2.7-bionic`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/Dockerfile) - - [`4.2.7-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-ltsc2016/Dockerfile) - - [`4.2.7-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-1809/Dockerfile) -- `4.2.7-windowsservercore`, `4.2-windowsservercore`, `4-windowsservercore`, `windowsservercore`: - - [`4.2.7-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-ltsc2016/Dockerfile) - - [`4.2.7-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/3ec50f2f7ae9fd2c824682bc08d07a093bbdb521/4.2/windows/windowsservercore-1809/Dockerfile) +- `3.6.23`, `3.6`, `3`: + - [`3.6.23-xenial`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/Dockerfile) + - [`3.6.23-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-1809/Dockerfile) + - [`3.6.23-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.6.23-windowsservercore`, `3.6-windowsservercore`, `3-windowsservercore`: + - [`3.6.23-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-1809/Dockerfile) + - [`3.6.23-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/38648d9dddd6a6f87f0d47885bf6525c20b63557/3.6/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.0.24`, `4.0`: + - [`4.0.24-xenial`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/Dockerfile) + - [`4.0.24-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-1809/Dockerfile) + - [`4.0.24-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.0.24-windowsservercore`, `4.0-windowsservercore`: + - [`4.0.24-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-1809/Dockerfile) + - [`4.0.24-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8806928aa5596f4b310dc2d9371a6e153f18d3b4/4.0/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.2.13`, `4.2`: + - [`4.2.13-bionic`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/Dockerfile) + - [`4.2.13-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-1809/Dockerfile) + - [`4.2.13-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.2.13-windowsservercore`, `4.2-windowsservercore`: + - [`4.2.13-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-1809/Dockerfile) + - [`4.2.13-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/8e63a67baf888cf322007085d46b96f6a1018979/4.2/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.4.5`, `4.4`, `4`, `latest`: + - [`4.4.5-bionic`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/Dockerfile) + - [`4.4.5-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-1809/Dockerfile) + - [`4.4.5-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-ltsc2016/Dockerfile) +- `4.4.5-windowsservercore`, `4.4-windowsservercore`, `4-windowsservercore`, `windowsservercore`: + - [`4.4.5-windowsservercore-1809`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-1809/Dockerfile) + - [`4.4.5-windowsservercore-ltsc2016`](https://github.com/docker-library/mongo/blob/9db9e3d4704f5d963e424a3894fa740b8ce4ea70/4.4/windows/windowsservercore-ltsc2016/Dockerfile) # Quick reference (cont.) @@ -75,7 +85,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mongo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmongo) + [official-images repo's `library/mongo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmongo) [official-images repo's `library/mongo` file](https://github.com/docker-library/official-images/blob/master/library/mongo) ([history](https://github.com/docker-library/official-images/commits/master/library/mongo)) - **Source of this description**: @@ -275,7 +285,7 @@ Important note: There are several ways to store data used by applications that r - Let Docker manage the storage of your database data [by writing the database files to disk on the host system using its own internal volume management](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume). This is the default and is easy and fairly transparent to the user. The downside is that the files may be hard to locate for tools and applications that run directly on the host system, i.e. outside containers. - Create a data directory on the host system (outside the container) and [mount this to a directory visible from inside the container](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume). This places the database files in a known location on the host system, and makes it easy for tools and applications on the host system to access the files. The downside is that the user needs to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly. -**WARNING (Windows & OS X)**: The default Docker setup on Windows and OS X uses a VirtualBox VM to host the Docker daemon. Unfortunately, the mechanism VirtualBox uses to share folders between the host system and the Docker container is not compatible with the memory mapped files used by MongoDB (see [vbox bug](https://www.virtualbox.org/ticket/819), [docs.mongodb.org](https://docs.mongodb.com/manual/administration/production-notes/#fsync-on-directories) and related [jira.mongodb.org](https://jira.mongodb.org/browse/SERVER-8600) bug). This means that it is not possible to run a MongoDB container with the data directory mapped to the host. +**WARNING (Windows & OS X)**: When running the Linux-based MongoDB images on Windows and OS X, the file systems used to share between the host system and the Docker container is not compatible with the memory mapped files used by MongoDB ([docs.mongodb.org](https://docs.mongodb.com/manual/administration/production-notes/#fsync---on-directories) and related [jira.mongodb.org](https://jira.mongodb.org/browse/SERVER-8600) bug). This means that it is not possible to run a MongoDB container with the data directory mapped to the host. To persist data between container restarts, we recommend using a local named volume instead (see `docker volume create`). Alternatively you can use the Windows-based images on Windows. The Docker documentation is a good starting point for understanding the different storage options and variations, and there are multiple blogs and forum postings that discuss and give advice in this area. We will simply show the basic procedure here for the latter option above: diff --git a/mongo/content.md b/mongo/content.md index bf8fdc4aca40..1f44d9c55649 100644 --- a/mongo/content.md +++ b/mongo/content.md @@ -165,7 +165,7 @@ Important note: There are several ways to store data used by applications that r - Let Docker manage the storage of your database data [by writing the database files to disk on the host system using its own internal volume management](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume). This is the default and is easy and fairly transparent to the user. The downside is that the files may be hard to locate for tools and applications that run directly on the host system, i.e. outside containers. - Create a data directory on the host system (outside the container) and [mount this to a directory visible from inside the container](https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-directory-as-a-data-volume). This places the database files in a known location on the host system, and makes it easy for tools and applications on the host system to access the files. The downside is that the user needs to make sure that the directory exists, and that e.g. directory permissions and other security mechanisms on the host system are set up correctly. -**WARNING (Windows & OS X)**: The default Docker setup on Windows and OS X uses a VirtualBox VM to host the Docker daemon. Unfortunately, the mechanism VirtualBox uses to share folders between the host system and the Docker container is not compatible with the memory mapped files used by MongoDB (see [vbox bug](https://www.virtualbox.org/ticket/819), [docs.mongodb.org](https://docs.mongodb.com/manual/administration/production-notes/#fsync-on-directories) and related [jira.mongodb.org](https://jira.mongodb.org/browse/SERVER-8600) bug). This means that it is not possible to run a MongoDB container with the data directory mapped to the host. +**WARNING (Windows & OS X)**: When running the Linux-based MongoDB images on Windows and OS X, the file systems used to share between the host system and the Docker container is not compatible with the memory mapped files used by MongoDB ([docs.mongodb.org](https://docs.mongodb.com/manual/administration/production-notes/#fsync---on-directories) and related [jira.mongodb.org](https://jira.mongodb.org/browse/SERVER-8600) bug). This means that it is not possible to run a MongoDB container with the data directory mapped to the host. To persist data between container restarts, we recommend using a local named volume instead (see `docker volume create`). Alternatively you can use the Windows-based images on Windows. The Docker documentation is a good starting point for understanding the different storage options and variations, and there are multiple blogs and forum postings that discuss and give advice in this area. We will simply show the basic procedure here for the latter option above: diff --git a/monica/README-short.txt b/monica/README-short.txt new file mode 100644 index 000000000000..34f1e72d1d7f --- /dev/null +++ b/monica/README-short.txt @@ -0,0 +1 @@ +Monica – the Personal Relationship Manager. diff --git a/monica/README.md b/monica/README.md new file mode 100644 index 000000000000..a603390f4e1c --- /dev/null +++ b/monica/README.md @@ -0,0 +1,284 @@ + + +# Quick reference + +- **Maintained by**: + [Monica Team](https://github.com/monicahq/docker) + +- **Where to get help**: + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + +# Supported tags and respective `Dockerfile` links + +- [`2.21.0-apache`, `2.21-apache`, `2-apache`, `apache`, `2.21.0`, `2.21`, `2`, `latest`](https://github.com/monicahq/docker/blob/b3f212609d699f9090f6087bd93d05405ef75ce8/apache/Dockerfile) +- [`2.21.0-fpm`, `2.21-fpm`, `2-fpm`, `fpm`](https://github.com/monicahq/docker/blob/b3f212609d699f9090f6087bd93d05405ef75ce8/fpm/Dockerfile) +- [`2.21.0-fpm-alpine`, `2.21-fpm-alpine`, `2-fpm-alpine`, `fpm-alpine`](https://github.com/monicahq/docker/blob/b3f212609d699f9090f6087bd93d05405ef75ce8/fpm-alpine/Dockerfile) + +# Quick reference (cont.) + +- **Where to file issues**: + [https://github.com/monicahq/docker/issues](https://github.com/monicahq/docker/issues) + +- **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) + [`amd64`](https://hub.docker.com/r/amd64/monica/), [`arm32v5`](https://hub.docker.com/r/arm32v5/monica/), [`arm32v6`](https://hub.docker.com/r/arm32v6/monica/), [`arm32v7`](https://hub.docker.com/r/arm32v7/monica/), [`arm64v8`](https://hub.docker.com/r/arm64v8/monica/), [`i386`](https://hub.docker.com/r/i386/monica/), [`mips64le`](https://hub.docker.com/r/mips64le/monica/), [`ppc64le`](https://hub.docker.com/r/ppc64le/monica/), [`s390x`](https://hub.docker.com/r/s390x/monica/) + +- **Published image artifact details**: + [repo-info repo's `repos/monica/` directory](https://github.com/docker-library/repo-info/blob/master/repos/monica) ([history](https://github.com/docker-library/repo-info/commits/master/repos/monica)) + (image metadata, transfer size, etc) + +- **Image updates**: + [official-images repo's `library/monica` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmonica) + [official-images repo's `library/monica` file](https://github.com/docker-library/official-images/blob/master/library/monica) ([history](https://github.com/docker-library/official-images/commits/master/library/monica)) + +- **Source of this description**: + [docs repo's `monica/` directory](https://github.com/docker-library/docs/tree/master/monica) ([history](https://github.com/docker-library/docs/commits/master/monica)) + +# What is Monica? + +Monica is a great open source personal relationship management system to organize the interactions with your loved ones. + +![logo](https://raw.githubusercontent.com/docker-library/docs/b962028212dbd77c9531dbcf8d5a81db79d4a735/monica/logo.svg?sanitize=true) + +# How to use this image + +There are two versions of the image you may choose from. + +The `apache` tag contains a full Monica installation with an apache webserver. This points to the default `latest` tag too. + +The `fpm` tag contains a fastCGI-Process that serves the web pages. This image should be combined with a webserver used as a proxy, like apache or nginx. + +### Using the apache image + +This image contains a webserver that exposes port 80. Run the container with: + +```console +docker run --name some-monica -d -p 80:80 monica +``` + +### Using the fpm image + +This image serves a fastCGI server that exposes port 9000. You may need an additional web server that can proxy requests to the fpm port 9000 of the container. Run this container with: + +```console +docker run --name some-monica -d -p 9000:9000 monica:fpm +``` + +### Persistent data storage + +To have a persistent storage for your datas, you may want to create volumes for your db, and for monica you will have to save the `/var/www/html/storage` directory. + +Run a container with this named volume: + +```console +docker run -d \ + -v monica_data:/var/www/html/storage \ + monica +``` + +### Run commands inside the container + +Like every Laravel application, the `php artisan` command is very usefull for Monica. To run a command inside the container, run + +```console +docker exec CONTAINER_ID php artisan COMMAND +``` + +or for docker-compose + +```console +docker-compose exec monica php artisan COMMAND +``` + +where `monica` is the name of the service in your `docker-compose.yml` file. + +## Running the image with docker-compose + +See some examples of docker-compose possibilities in the [example section](https://github.com/monicahq/docker/blob/master/.examples). + +--- + +### Apache version + +This version will use the apache image and add a mysql container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. + +Make sure to pass in values for `APP_KEY` variable before you run this setup. + +1. Create a `docker-compose.yml` file + + ```yaml + version: "3.4" + + services: + app: + image: monica + depends_on: + - db + ports: + - 8080:80 + environment: + - APP_KEY= + - DB_HOST=db + volumes: + - data:/var/www/html/storage + restart: always + + db: + image: mysql:5.7 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=true + - MYSQL_DATABASE=monica + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + volumes: + - mysql:/var/lib/mysql + restart: always + + volumes: + data: + name: data + mysql: + name: mysql + ``` + +2. Set a value for `APP_KEY` variable before you run this setup. It should be a random 32-character string. For example, if you have the `pwgen` utility installed, you can copy and paste the output of: + + ```console + pwgen -s 32 1 + ``` + +3. Run + + ```console + docker-compose up -d + ``` + + Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system. If this looks ok, add your first user account. + +4. Run this command once: + + ```console + docker-compose exec app php artisan setup:production + ``` + +### FPM version + +When using FPM image, you will need another container with a webserver to proxy http requests. In this example we use nginx with a basic container to do this. + +1. Download `nginx.conf` and `Dockerfile` file for nginx image. An example can be found on the [`example section`](https://github.com/monicahq/docker/blob/master/.examples/supervisor/fpm/web/). The `web` container image should be pre-build before each deploy with: `docker-compose build` + +2. Create a `docker-compose.yml` file + + ```yaml + version: "3.4" + + services: + app: + image: monica:fpm + depends_on: + - db + environment: + - APP_KEY= + - DB_HOST=db + volumes: + - data:/var/www/html/storage + restart: always + + web: + build: ./web + ports: + - 8080:80 + depends_on: + - app + volumes: + - data:/var/www/html/storage:ro + restart: always + + db: + image: mysql:5.7 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=true + - MYSQL_DATABASE=monica + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + volumes: + - mysql:/var/lib/mysql + restart: always + + volumes: + data: + name: data + mysql: + name: mysql + ``` + +3. Set a value for `APP_KEY` variable before you run this setup. It should be a random 32-character string. For example, if you have the `pwgen` utility installed, you can copy and paste the output of: + + ```console + pwgen -s 32 1 + ``` + +4. Run + + ```console + docker-compose up -d + ``` + + Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system. If this looks ok, add your first user account. + +5. Run this command once: + + ```console + docker-compose exec app php artisan setup:production + ``` + +## Make Monica available from the internet + +To expose your Monica instance for the internet, it's important to set environment variable `APP_ENV=production`. In this case `https` mode will be mandatory. + +### Using a proxy webserver on the host + +One way to expose your Monica instance is to use a proxy webserver from your host with SSL capabilities. This is possible with a reverse proxy. + +### Using a proxy webserver container + +See some examples of docker-compose possibilities in the [example section](https://github.com/monicahq/docker/blob/master/.examples) to show how to a proxy webserver with ssl capabilities. + +# Image Variants + +The `monica` images come in many flavors, each designed for a specific use case. + +## `monica:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +## `monica:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + +# License + +View [license information](https://github.com/monicahq/monica/blob/master/LICENSE) for the software contained in this image. + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `monica/` directory](https://github.com/docker-library/repo-info/tree/master/repos/monica). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. diff --git a/monica/content.md b/monica/content.md new file mode 100644 index 000000000000..f5e6bf89e108 --- /dev/null +++ b/monica/content.md @@ -0,0 +1,209 @@ +# What is Monica? + +Monica is a great open source personal relationship management system to organize the interactions with your loved ones. + +%%LOGO%% + +# How to use this image + +There are two versions of the image you may choose from. + +The `apache` tag contains a full Monica installation with an apache webserver. This points to the default `latest` tag too. + +The `fpm` tag contains a fastCGI-Process that serves the web pages. This image should be combined with a webserver used as a proxy, like apache or nginx. + +### Using the apache image + +This image contains a webserver that exposes port 80. Run the container with: + +```console +docker run --name some-%%REPO%% -d -p 80:80 %%IMAGE%% +``` + +### Using the fpm image + +This image serves a fastCGI server that exposes port 9000. You may need an additional web server that can proxy requests to the fpm port 9000 of the container. Run this container with: + +```console +docker run --name some-%%REPO%% -d -p 9000:9000 %%IMAGE%%:fpm +``` + +### Persistent data storage + +To have a persistent storage for your datas, you may want to create volumes for your db, and for monica you will have to save the `/var/www/html/storage` directory. + +Run a container with this named volume: + +```console +docker run -d \ + -v monica_data:/var/www/html/storage \ + %%IMAGE%% +``` + +### Run commands inside the container + +Like every Laravel application, the `php artisan` command is very usefull for Monica. To run a command inside the container, run + +```console +docker exec CONTAINER_ID php artisan COMMAND +``` + +or for docker-compose + +```console +docker-compose exec %%REPO%% php artisan COMMAND +``` + +where `%%REPO%%` is the name of the service in your `docker-compose.yml` file. + +## Running the image with docker-compose + +See some examples of docker-compose possibilities in the [example section](%%GITHUB-REPO%%/blob/master/.examples). + +--- + +### Apache version + +This version will use the apache image and add a mysql container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. + +Make sure to pass in values for `APP_KEY` variable before you run this setup. + +1. Create a `docker-compose.yml` file + + ```yaml + version: "3.4" + + services: + app: + image: monica + depends_on: + - db + ports: + - 8080:80 + environment: + - APP_KEY= + - DB_HOST=db + volumes: + - data:/var/www/html/storage + restart: always + + db: + image: mysql:5.7 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=true + - MYSQL_DATABASE=monica + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + volumes: + - mysql:/var/lib/mysql + restart: always + + volumes: + data: + name: data + mysql: + name: mysql + ``` + +2. Set a value for `APP_KEY` variable before you run this setup. It should be a random 32-character string. For example, if you have the `pwgen` utility installed, you can copy and paste the output of: + + ```console + pwgen -s 32 1 + ``` + +3. Run + + ```console + docker-compose up -d + ``` + + Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system. If this looks ok, add your first user account. + +4. Run this command once: + + ```console + docker-compose exec app php artisan setup:production + ``` + +### FPM version + +When using FPM image, you will need another container with a webserver to proxy http requests. In this example we use nginx with a basic container to do this. + +1. Download `nginx.conf` and `Dockerfile` file for nginx image. An example can be found on the [`example section`](%%GITHUB-REPO%%/blob/master/.examples/supervisor/fpm/web/). The `web` container image should be pre-build before each deploy with: `docker-compose build` + +2. Create a `docker-compose.yml` file + + ```yaml + version: "3.4" + + services: + app: + image: monica:fpm + depends_on: + - db + environment: + - APP_KEY= + - DB_HOST=db + volumes: + - data:/var/www/html/storage + restart: always + + web: + build: ./web + ports: + - 8080:80 + depends_on: + - app + volumes: + - data:/var/www/html/storage:ro + restart: always + + db: + image: mysql:5.7 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=true + - MYSQL_DATABASE=monica + - MYSQL_USER=homestead + - MYSQL_PASSWORD=secret + volumes: + - mysql:/var/lib/mysql + restart: always + + volumes: + data: + name: data + mysql: + name: mysql + ``` + +3. Set a value for `APP_KEY` variable before you run this setup. It should be a random 32-character string. For example, if you have the `pwgen` utility installed, you can copy and paste the output of: + + ```console + pwgen -s 32 1 + ``` + +4. Run + + ```console + docker-compose up -d + ``` + + Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system. If this looks ok, add your first user account. + +5. Run this command once: + + ```console + docker-compose exec app php artisan setup:production + ``` + +## Make Monica available from the internet + +To expose your Monica instance for the internet, it's important to set environment variable `APP_ENV=production`. In this case `https` mode will be mandatory. + +### Using a proxy webserver on the host + +One way to expose your Monica instance is to use a proxy webserver from your host with SSL capabilities. This is possible with a reverse proxy. + +### Using a proxy webserver container + +See some examples of docker-compose possibilities in the [example section](%%GITHUB-REPO%%/blob/master/.examples) to show how to a proxy webserver with ssl capabilities. diff --git a/monica/github-repo b/monica/github-repo new file mode 100644 index 000000000000..10cb578beb3b --- /dev/null +++ b/monica/github-repo @@ -0,0 +1 @@ +https://github.com/monicahq/docker diff --git a/monica/license.md b/monica/license.md new file mode 100644 index 000000000000..7212853924e0 --- /dev/null +++ b/monica/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/monicahq/monica/blob/master/LICENSE) for the software contained in this image. diff --git a/monica/logo.svg b/monica/logo.svg new file mode 100644 index 000000000000..3dd240f96db3 --- /dev/null +++ b/monica/logo.svg @@ -0,0 +1 @@ +Artboard 3.1Created using Figma \ No newline at end of file diff --git a/monica/maintainer.md b/monica/maintainer.md new file mode 100644 index 000000000000..bf1f56b278bb --- /dev/null +++ b/monica/maintainer.md @@ -0,0 +1 @@ +[Monica Team](%%GITHUB-REPO%%) diff --git a/mono/README.md b/mono/README.md index 2f36a0f2c7e5..43be52fb01f5 100644 --- a/mono/README.md +++ b/mono/README.md @@ -20,16 +20,14 @@ WARNING: [the Mono Project](https://github.com/mono/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`6.8.0.96`, `latest`, `6.8.0`, `6.8`, `6`](https://github.com/mono/docker/blob/65ca4c1ec4349dd187997f216d1fdcbfcb46b38a/6.8.0.96/Dockerfile) -- [`6.8.0.96-slim`, `slim`, `6.8.0-slim`, `6.8-slim`, `6-slim`](https://github.com/mono/docker/blob/65ca4c1ec4349dd187997f216d1fdcbfcb46b38a/6.8.0.96/slim/Dockerfile) -- [`6.6.0.161`, `6.6.0`, `6.6`](https://github.com/mono/docker/blob/4374af564e9ffd69f526135fb78c148d0a03012a/6.6.0.161/Dockerfile) -- [`6.6.0.161-slim`, `6.6.0-slim`, `6.6-slim`](https://github.com/mono/docker/blob/4374af564e9ffd69f526135fb78c148d0a03012a/6.6.0.161/slim/Dockerfile) -- [`5.20.1.34`, `5.20.1`, `5.20`, `5`](https://github.com/mono/docker/blob/c47c852008be6934ac650f282c18c70f2cfec72f/5.20.1.34/Dockerfile) -- [`5.20.1.34-slim`, `5.20.1-slim`, `5.20-slim`, `5-slim`](https://github.com/mono/docker/blob/c47c852008be6934ac650f282c18c70f2cfec72f/5.20.1.34/slim/Dockerfile) +- [`6.12.0.107`, `latest`, `6.12.0`, `6.12`, `6`](https://github.com/mono/docker/blob/490ebd19e006c00165baca7fbef00c9e98a96d34/6.12.0.107/Dockerfile) +- [`6.12.0.107-slim`, `slim`, `6.12.0-slim`, `6.12-slim`, `6-slim`](https://github.com/mono/docker/blob/490ebd19e006c00165baca7fbef00c9e98a96d34/6.12.0.107/slim/Dockerfile) +- [`6.10.0.104`, `6.10.0`, `6.10`](https://github.com/mono/docker/blob/a449b2a57e1cfadd098c2bcad13f89c4eab83e54/6.10.0.104/Dockerfile) +- [`6.10.0.104-slim`, `6.10.0-slim`, `6.10-slim`](https://github.com/mono/docker/blob/a449b2a57e1cfadd098c2bcad13f89c4eab83e54/6.10.0.104/slim/Dockerfile) # Quick reference (cont.) @@ -44,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mono`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmono) + [official-images repo's `library/mono` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmono) [official-images repo's `library/mono` file](https://github.com/docker-library/official-images/blob/master/library/mono) ([history](https://github.com/docker-library/official-images/commits/master/library/mono)) - **Source of this description**: diff --git a/mysql/README.md b/mysql/README.md index c894224e1542..d551438824c9 100644 --- a/mysql/README.md +++ b/mysql/README.md @@ -20,13 +20,13 @@ WARNING: [the Docker Community and the MySQL Team](https://github.com/docker-library/mysql) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8.0.20`, `8.0`, `8`, `latest`](https://github.com/docker-library/mysql/blob/bc6e37a2bed792b1c4fc6ab1ec3ce316e6a5f061/8.0/Dockerfile) -- [`5.7.30`, `5.7`, `5`](https://github.com/docker-library/mysql/blob/bc6e37a2bed792b1c4fc6ab1ec3ce316e6a5f061/5.7/Dockerfile) -- [`5.6.48`, `5.6`](https://github.com/docker-library/mysql/blob/bc6e37a2bed792b1c4fc6ab1ec3ce316e6a5f061/5.6/Dockerfile) +- [`8.0.24`, `8.0`, `8`, `latest`](https://github.com/docker-library/mysql/blob/919d1ce067be67fbeb1ff43e82c0a3153160ca28/8.0/Dockerfile.debian) +- [`5.7.34`, `5.7`, `5`](https://github.com/docker-library/mysql/blob/b11f06b0d202e7b0f97b000e158fc4fc869d2194/5.7/Dockerfile.debian) +- [`5.6.51`, `5.6`](https://github.com/docker-library/mysql/blob/43ee7daebca3af6cb13ae3032b2a4e6f642c7233/5.6/Dockerfile.debian) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/mysql`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fmysql) + [official-images repo's `library/mysql` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fmysql) [official-images repo's `library/mysql` file](https://github.com/docker-library/official-images/blob/master/library/mysql) ([history](https://github.com/docker-library/official-images/commits/master/library/mysql)) - **Source of this description**: @@ -175,15 +175,19 @@ Do note that there is no need to use this mechanism to create the root superuser ### `MYSQL_ALLOW_EMPTY_PASSWORD` -This is an optional variable. Set to `yes` to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MySQL instance completely unprotected, allowing anyone to gain complete superuser access. +This is an optional variable. Set to a non-empty value, like `yes`, to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MySQL instance completely unprotected, allowing anyone to gain complete superuser access. ### `MYSQL_RANDOM_ROOT_PASSWORD` -This is an optional variable. Set to `yes` to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). +This is an optional variable. Set to a non-empty value, like `yes`, to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). ### `MYSQL_ONETIME_PASSWORD` -Sets root (*not* the user specified in `MYSQL_USER`!) user as expired once init is complete, forcing a password change on first login. *NOTE*: This feature is supported on MySQL 5.6+ only. Using this option on MySQL 5.5 will throw an appropriate error during initialization. +Sets root (*not* the user specified in `MYSQL_USER`!) user as expired once init is complete, forcing a password change on first login. Any non-empty value will activate this setting. *NOTE*: This feature is supported on MySQL 5.6+ only. Using this option on MySQL 5.5 will throw an appropriate error during initialization. + +### `MYSQL_INITDB_SKIP_TZINFO` + +By default, the entrypoint script automatically loads the timezone data needed for the `CONVERT_TZ()` function. If it is not needed, any non-empty value disables timezone loading. ## Docker Secrets diff --git a/mysql/content.md b/mysql/content.md index 59a45a07c7e9..1e05ae1a8a18 100644 --- a/mysql/content.md +++ b/mysql/content.md @@ -102,15 +102,19 @@ Do note that there is no need to use this mechanism to create the root superuser ### `MYSQL_ALLOW_EMPTY_PASSWORD` -This is an optional variable. Set to `yes` to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MySQL instance completely unprotected, allowing anyone to gain complete superuser access. +This is an optional variable. Set to a non-empty value, like `yes`, to allow the container to be started with a blank password for the root user. *NOTE*: Setting this variable to `yes` is not recommended unless you really know what you are doing, since this will leave your MySQL instance completely unprotected, allowing anyone to gain complete superuser access. ### `MYSQL_RANDOM_ROOT_PASSWORD` -This is an optional variable. Set to `yes` to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). +This is an optional variable. Set to a non-empty value, like `yes`, to generate a random initial password for the root user (using `pwgen`). The generated root password will be printed to stdout (`GENERATED ROOT PASSWORD: .....`). ### `MYSQL_ONETIME_PASSWORD` -Sets root (*not* the user specified in `MYSQL_USER`!) user as expired once init is complete, forcing a password change on first login. *NOTE*: This feature is supported on MySQL 5.6+ only. Using this option on MySQL 5.5 will throw an appropriate error during initialization. +Sets root (*not* the user specified in `MYSQL_USER`!) user as expired once init is complete, forcing a password change on first login. Any non-empty value will activate this setting. *NOTE*: This feature is supported on MySQL 5.6+ only. Using this option on MySQL 5.5 will throw an appropriate error during initialization. + +### `MYSQL_INITDB_SKIP_TZINFO` + +By default, the entrypoint script automatically loads the timezone data needed for the `CONVERT_TZ()` function. If it is not needed, any non-empty value disables timezone loading. ## Docker Secrets diff --git a/nats-streaming/README.md b/nats-streaming/README.md index b4399f92ae45..e21f6511f088 100644 --- a/nats-streaming/README.md +++ b/nats-streaming/README.md @@ -20,7 +20,7 @@ WARNING: [the NATS Project](https://github.com/nats-io/nats-streaming-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,15 +28,22 @@ WARNING: ## Simple Tags -- [`0.17.0-linux`, `linux`](https://github.com/nats-io/nats-streaming-docker/blob/9716618a61deba8a7e28b69d53d95d698bde5117/amd64/Dockerfile) -- [`0.17.0-nanoserver-1809`, `nanoserver-1809`](https://github.com/nats-io/nats-streaming-docker/blob/9716618a61deba8a7e28b69d53d95d698bde5117/windows/nanoserver-1809/Dockerfile) -- [`0.17.0-windowsservercore`, `windowsservercore`](https://github.com/nats-io/nats-streaming-docker/blob/9716618a61deba8a7e28b69d53d95d698bde5117/windows/windowsservercore/Dockerfile) +- [`0.21.2-alpine3.13`, `0.21-alpine3.13`, `alpine3.13`, `0.21.2-alpine`, `0.21-alpine`, `alpine`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/alpine3.13/Dockerfile) +- [`0.21.2-scratch`, `0.21-scratch`, `scratch`, `0.21.2-linux`, `0.21-linux`, `linux`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/scratch/Dockerfile) +- [`0.21.2-windowsservercore-1809`, `0.21-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/windowsservercore-1809/Dockerfile) +- [`0.21.2-nanoserver-1809`, `0.21-nanoserver-1809`, `nanoserver-1809`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/nanoserver-1809/Dockerfile) +- [`0.21.2-windowsservercore-ltsc2016`, `0.21-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/windowsservercore-ltsc2016/Dockerfile) ## Shared Tags -- `0.17.0`, `latest`: - - [`0.17.0-linux`](https://github.com/nats-io/nats-streaming-docker/blob/9716618a61deba8a7e28b69d53d95d698bde5117/amd64/Dockerfile) - - [`0.17.0-nanoserver-1809`](https://github.com/nats-io/nats-streaming-docker/blob/9716618a61deba8a7e28b69d53d95d698bde5117/windows/nanoserver-1809/Dockerfile) +- `0.21.2`, `0.21`, `latest`: + - [`0.21.2-scratch`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/scratch/Dockerfile) + - [`0.21.2-nanoserver-1809`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/nanoserver-1809/Dockerfile) +- `0.21.2-windowsservercore`, `0.21-windowsservercore`, `windowsservercore`: + - [`0.21.2-windowsservercore-1809`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/windowsservercore-1809/Dockerfile) + - [`0.21.2-windowsservercore-ltsc2016`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/windowsservercore-ltsc2016/Dockerfile) +- `0.21.2-nanoserver`, `0.21-nanoserver`, `nanoserver`: + - [`0.21.2-nanoserver-1809`](https://github.com/nats-io/nats-streaming-docker/blob/878420260fc33929e4d3b272a8c813d64dbbbaa2/0.21.2/nanoserver-1809/Dockerfile) # Quick reference (cont.) @@ -51,7 +58,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/nats-streaming`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnats-streaming) + [official-images repo's `library/nats-streaming` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnats-streaming) [official-images repo's `library/nats-streaming` file](https://github.com/docker-library/official-images/blob/master/library/nats-streaming) ([history](https://github.com/docker-library/official-images/commits/master/library/nats-streaming)) - **Source of this description**: @@ -125,29 +132,29 @@ $ docker run -d -p 4222:4222 -p 8222:8222 nats-streaming Output that you would get if you had started with `-ti` instead of `d` (for daemon): ```bash -[1] 2020/02/11 19:45:55.379789 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:45:55.379864 [INF] STREAM: ServerID: oe3fSgSCIfkPnbGvQch6k9 -[1] 2020/02/11 19:45:55.379867 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:45:55.379869 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:45:55.380454 [INF] Starting nats-server version 2.1.4 -[1] 2020/02/11 19:45:55.380461 [INF] Git commit [fb009af] -[1] 2020/02/11 19:45:55.380619 [INF] Starting http monitor on 0.0.0.0:8222 -[1] 2020/02/11 19:45:55.380659 [INF] Listening for client connections on 0.0.0.0:4222 -[1] 2020/02/11 19:45:55.380662 [INF] Server id is NCIJ5WZMDXD3SRQFXAZNMO4C4BMEKVTZA33WLG4VPP7LRE37KIB5D4FX -[1] 2020/02/11 19:45:55.380664 [INF] Server is ready -[1] 2020/02/11 19:45:55.407105 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:45:55.407113 [INF] STREAM: No recovered state -[1] 2020/02/11 19:45:55.662310 [INF] STREAM: Message store is MEMORY -[1] 2020/02/11 19:45:55.662347 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:45:55.662351 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:45:55.662355 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:45:55.662358 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:45:55.662361 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:45:55.662364 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:45:55.662367 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:45:55.662370 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:45:55.662374 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:45:55.662377 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:24.029522 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:24.029614 [INF] STREAM: ServerID: acLxdol0iiSa6VABdmeeqW +[1] 2021/03/01 18:13:24.029633 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:24.029659 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:24.030571 [INF] Starting nats-server version 2.1.9 +[1] 2021/03/01 18:13:24.030607 [INF] Git commit [7c76626] +[1] 2021/03/01 18:13:24.031158 [INF] Starting http monitor on 0.0.0.0:8222 +[1] 2021/03/01 18:13:24.031433 [INF] Listening for client connections on 0.0.0.0:4222 +[1] 2021/03/01 18:13:24.031480 [INF] Server id is NCZTPYMKECGMDAZTXP7KZFQYSVGQVSGTDH6BTWAWRKGOX6TCO3DH5AYO +[1] 2021/03/01 18:13:24.031524 [INF] Server is ready +[1] 2021/03/01 18:13:24.061238 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:24.061288 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:24.313179 [INF] STREAM: Message store is MEMORY +[1] 2021/03/01 18:13:24.313258 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:24.313278 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:24.313304 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:24.313342 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:24.313358 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:24.313382 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:24.313400 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:24.313422 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:24.313438 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:24.313507 [INF] STREAM: Streaming Server is ready ``` To use a file based store instead, you would run: @@ -155,29 +162,29 @@ To use a file based store instead, you would run: ```bash $ docker run -d -p 4222:4222 -p 8222:8222 nats-streaming -store file -dir datastore -[1] 2020/02/11 19:46:24.891825 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:46:24.891863 [INF] STREAM: ServerID: y2zpmpnNLbnnLX4RGpW4HT -[1] 2020/02/11 19:46:24.891866 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:46:24.891868 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:46:24.892633 [INF] Starting nats-server version 2.1.4 -[1] 2020/02/11 19:46:24.892653 [INF] Git commit [fb009af] -[1] 2020/02/11 19:46:24.892837 [INF] Listening for client connections on 0.0.0.0:4222 -[1] 2020/02/11 19:46:24.892857 [INF] Server id is NAB5BC4I4DY7UQ3NJVRYVSZ66SWMWQYCHMMMVO4KZDZU3WUDOBQZYH52 -[1] 2020/02/11 19:46:24.892860 [INF] Server is ready -[1] 2020/02/11 19:46:24.919546 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:46:24.919685 [INF] STREAM: No recovered state -[1] 2020/02/11 19:46:25.170492 [INF] STREAM: Message store is FILE -[1] 2020/02/11 19:46:25.170536 [INF] STREAM: Store location: datastore -[1] 2020/02/11 19:46:25.170563 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:46:25.170602 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:46:25.170608 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:46:25.170611 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:46:25.170614 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:46:25.170618 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:46:25.170621 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:46:25.170624 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:46:25.170627 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:46:25.170630 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:42.717965 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:42.718083 [INF] STREAM: ServerID: vD0WyHKj1p3I1Zx5dXrzpq +[1] 2021/03/01 18:13:42.718095 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:42.718129 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:42.722922 [INF] Starting nats-server version 2.1.9 +[1] 2021/03/01 18:13:42.723014 [INF] Git commit [7c76626] +[1] 2021/03/01 18:13:42.724267 [INF] Listening for client connections on 0.0.0.0:4222 +[1] 2021/03/01 18:13:42.724314 [INF] Server id is NAD24W33SHEWTCXFPWRAHUUAZZ4EMQPQTPYDX4Q77PORYCLDBNY6TOK4 +[1] 2021/03/01 18:13:42.724329 [INF] Server is ready +[1] 2021/03/01 18:13:42.752587 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:42.752985 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:43.005756 [INF] STREAM: Message store is FILE +[1] 2021/03/01 18:13:43.005852 [INF] STREAM: Store location: datastore +[1] 2021/03/01 18:13:43.005927 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:43.005959 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:43.005994 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:43.006219 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:43.006255 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:43.006280 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:43.006335 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:43.006374 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:43.006440 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:43.006477 [INF] STREAM: Streaming Server is ready ``` You can also connect to a remote NATS Server running in a docker image. First, run NATS Server: @@ -191,24 +198,24 @@ Now, start the Streaming server and link it to the above docker image: ```bash $ docker run -d --link nats-main nats-streaming -store file -dir datastore -ns nats://nats-main:4222 -[1] 2020/02/11 19:46:40.206660 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:46:40.206699 [INF] STREAM: ServerID: bon7pyyeNH4ClntI1fCJos -[1] 2020/02/11 19:46:40.206702 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:46:40.206704 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:46:40.233833 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:46:40.233992 [INF] STREAM: No recovered state -[1] 2020/02/11 19:46:40.487836 [INF] STREAM: Message store is FILE -[1] 2020/02/11 19:46:40.487845 [INF] STREAM: Store location: datastore -[1] 2020/02/11 19:46:40.487884 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:46:40.487963 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:46:40.487966 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:46:40.487968 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:46:40.487993 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:46:40.487995 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:46:40.488023 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:46:40.488025 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:46:40.488027 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:46:40.488029 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:58.582483 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:58.582548 [INF] STREAM: ServerID: wCpsCJ1DOPwmS3imYNuZ82 +[1] 2021/03/01 18:13:58.582561 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:58.582597 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:58.615689 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:58.615980 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:58.867680 [INF] STREAM: Message store is FILE +[1] 2021/03/01 18:13:58.867777 [INF] STREAM: Store location: datastore +[1] 2021/03/01 18:13:58.867848 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:58.867886 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:58.868001 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:58.868027 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:58.868161 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:58.868243 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:58.868291 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:58.868372 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:58.868528 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:58.868685 [INF] STREAM: Streaming Server is ready ``` Notice that the output shows that the NATS Server was not started, as opposed to the first output. @@ -232,22 +239,24 @@ Streaming Server Options: -hbt, --hb_timeout How long server waits for a heartbeat response -hbf, --hb_fail_count Number of failed heartbeats before server closes the client connection --ft_group Name of the FT Group. A group can be 2 or more servers with a single active server and all sharing the same datastore - -sl, --signal [=] Send signal to nats-streaming-server process (stop, quit, reopen) + -sl, --signal [=] Send signal to nats-streaming-server process (stop, quit, reopen, reload - only for embedded NATS Server) --encrypt Specify if server should use encryption at rest --encryption_cipher Cipher to use for encryption. Currently support AES and CHAHA (ChaChaPoly). Defaults to AES --encryption_key Encryption Key. It is recommended to specify it through the NATS_STREAMING_ENCRYPTION_KEY environment variable instead - + --replace_durable Replace the existing durable subscription instead of reporting a duplicate durable error + Streaming Server Clustering Options: - --clustered Run the server in a clustered configuration (default: false) - --cluster_node_id ID of the node within the cluster if there is no stored ID (default: random UUID) - --cluster_bootstrap Bootstrap the cluster if there is no existing state by electing self as leader (default: false) - --cluster_peers Comma separated list of cluster peer node IDs to bootstrap cluster state - --cluster_log_path Directory to store log replication data - --cluster_log_cache_size Number of log entries to cache in memory to reduce disk IO (default: 512) - --cluster_log_snapshots Number of log snapshots to retain (default: 2) - --cluster_trailing_logs Number of log entries to leave after a snapshot and compaction - --cluster_sync Do a file sync after every write to the replication log and message store - --cluster_raft_logging Enable logging from the Raft library (disabled by default) + --clustered Run the server in a clustered configuration (default: false) + --cluster_node_id ID of the node within the cluster if there is no stored ID (default: random UUID) + --cluster_bootstrap Bootstrap the cluster if there is no existing state by electing self as leader (default: false) + --cluster_peers Comma separated list of cluster peer node IDs to bootstrap cluster state + --cluster_log_path Directory to store log replication data + --cluster_log_cache_size Number of log entries to cache in memory to reduce disk IO (default: 512) + --cluster_log_snapshots Number of log snapshots to retain (default: 2) + --cluster_trailing_logs Number of log entries to leave after a snapshot and compaction + --cluster_sync Do a file sync after every write to the replication log and message store + --cluster_raft_logging Enable logging from the Raft library (disabled by default) + --cluster_allow_add_remove_node Enable the ability to send NATS requests to the leader to add/remove cluster nodes Streaming Server File Store Options: --file_compact_enabled Enable file compaction @@ -273,6 +282,7 @@ Streaming Server SQL Store Options: --sql_source Datasource used when opening an SQL connection to the database --sql_no_caching Enable/Disable caching for improved performance --sql_max_open_conns Maximum number of opened connections to the database + --sql_bulk_insert_limit Maximum number of messages stored with a single SQL "INSERT" statement Streaming Server TLS Options: -secure Use a TLS connection to the NATS server without @@ -299,7 +309,7 @@ Embedded NATS Server Options: Logging Options: -l, --log File to redirect log output -T, --logtime= Timestamp log entries (default: true) - -s, --syslog Enable syslog as log method + -s, --syslog Enable syslog as log method -r, --remote_syslog Syslog server addr (udp://localhost:514) -D, --debug= Enable debugging output -V, --trace= Trace the raw protocol @@ -339,6 +349,14 @@ The `nats-streaming` images come in many flavors, each designed for a specific u This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. +## `nats-streaming:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + ## `nats-streaming:-windowsservercore` This image is based on [Windows Server Core (`microsoft/windowsservercore`)](https://hub.docker.com/r/microsoft/windowsservercore/). As such, it only works in places which that image does, such as Windows 10 Professional/Enterprise (Anniversary Edition) or Windows Server 2016. diff --git a/nats-streaming/content.md b/nats-streaming/content.md index 9e1268a65ed6..740ae21da28a 100644 --- a/nats-streaming/content.md +++ b/nats-streaming/content.md @@ -66,29 +66,29 @@ $ docker run -d -p 4222:4222 -p 8222:8222 %%IMAGE%% Output that you would get if you had started with `-ti` instead of `d` (for daemon): ```bash -[1] 2020/02/11 19:45:55.379789 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:45:55.379864 [INF] STREAM: ServerID: oe3fSgSCIfkPnbGvQch6k9 -[1] 2020/02/11 19:45:55.379867 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:45:55.379869 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:45:55.380454 [INF] Starting nats-server version 2.1.4 -[1] 2020/02/11 19:45:55.380461 [INF] Git commit [fb009af] -[1] 2020/02/11 19:45:55.380619 [INF] Starting http monitor on 0.0.0.0:8222 -[1] 2020/02/11 19:45:55.380659 [INF] Listening for client connections on 0.0.0.0:4222 -[1] 2020/02/11 19:45:55.380662 [INF] Server id is NCIJ5WZMDXD3SRQFXAZNMO4C4BMEKVTZA33WLG4VPP7LRE37KIB5D4FX -[1] 2020/02/11 19:45:55.380664 [INF] Server is ready -[1] 2020/02/11 19:45:55.407105 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:45:55.407113 [INF] STREAM: No recovered state -[1] 2020/02/11 19:45:55.662310 [INF] STREAM: Message store is MEMORY -[1] 2020/02/11 19:45:55.662347 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:45:55.662351 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:45:55.662355 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:45:55.662358 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:45:55.662361 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:45:55.662364 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:45:55.662367 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:45:55.662370 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:45:55.662374 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:45:55.662377 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:24.029522 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:24.029614 [INF] STREAM: ServerID: acLxdol0iiSa6VABdmeeqW +[1] 2021/03/01 18:13:24.029633 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:24.029659 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:24.030571 [INF] Starting nats-server version 2.1.9 +[1] 2021/03/01 18:13:24.030607 [INF] Git commit [7c76626] +[1] 2021/03/01 18:13:24.031158 [INF] Starting http monitor on 0.0.0.0:8222 +[1] 2021/03/01 18:13:24.031433 [INF] Listening for client connections on 0.0.0.0:4222 +[1] 2021/03/01 18:13:24.031480 [INF] Server id is NCZTPYMKECGMDAZTXP7KZFQYSVGQVSGTDH6BTWAWRKGOX6TCO3DH5AYO +[1] 2021/03/01 18:13:24.031524 [INF] Server is ready +[1] 2021/03/01 18:13:24.061238 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:24.061288 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:24.313179 [INF] STREAM: Message store is MEMORY +[1] 2021/03/01 18:13:24.313258 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:24.313278 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:24.313304 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:24.313342 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:24.313358 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:24.313382 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:24.313400 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:24.313422 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:24.313438 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:24.313507 [INF] STREAM: Streaming Server is ready ``` To use a file based store instead, you would run: @@ -96,29 +96,29 @@ To use a file based store instead, you would run: ```bash $ docker run -d -p 4222:4222 -p 8222:8222 %%IMAGE%% -store file -dir datastore -[1] 2020/02/11 19:46:24.891825 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:46:24.891863 [INF] STREAM: ServerID: y2zpmpnNLbnnLX4RGpW4HT -[1] 2020/02/11 19:46:24.891866 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:46:24.891868 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:46:24.892633 [INF] Starting nats-server version 2.1.4 -[1] 2020/02/11 19:46:24.892653 [INF] Git commit [fb009af] -[1] 2020/02/11 19:46:24.892837 [INF] Listening for client connections on 0.0.0.0:4222 -[1] 2020/02/11 19:46:24.892857 [INF] Server id is NAB5BC4I4DY7UQ3NJVRYVSZ66SWMWQYCHMMMVO4KZDZU3WUDOBQZYH52 -[1] 2020/02/11 19:46:24.892860 [INF] Server is ready -[1] 2020/02/11 19:46:24.919546 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:46:24.919685 [INF] STREAM: No recovered state -[1] 2020/02/11 19:46:25.170492 [INF] STREAM: Message store is FILE -[1] 2020/02/11 19:46:25.170536 [INF] STREAM: Store location: datastore -[1] 2020/02/11 19:46:25.170563 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:46:25.170602 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:46:25.170608 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:46:25.170611 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:46:25.170614 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:46:25.170618 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:46:25.170621 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:46:25.170624 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:46:25.170627 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:46:25.170630 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:42.717965 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:42.718083 [INF] STREAM: ServerID: vD0WyHKj1p3I1Zx5dXrzpq +[1] 2021/03/01 18:13:42.718095 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:42.718129 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:42.722922 [INF] Starting nats-server version 2.1.9 +[1] 2021/03/01 18:13:42.723014 [INF] Git commit [7c76626] +[1] 2021/03/01 18:13:42.724267 [INF] Listening for client connections on 0.0.0.0:4222 +[1] 2021/03/01 18:13:42.724314 [INF] Server id is NAD24W33SHEWTCXFPWRAHUUAZZ4EMQPQTPYDX4Q77PORYCLDBNY6TOK4 +[1] 2021/03/01 18:13:42.724329 [INF] Server is ready +[1] 2021/03/01 18:13:42.752587 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:42.752985 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:43.005756 [INF] STREAM: Message store is FILE +[1] 2021/03/01 18:13:43.005852 [INF] STREAM: Store location: datastore +[1] 2021/03/01 18:13:43.005927 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:43.005959 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:43.005994 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:43.006219 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:43.006255 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:43.006280 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:43.006335 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:43.006374 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:43.006440 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:43.006477 [INF] STREAM: Streaming Server is ready ``` You can also connect to a remote NATS Server running in a docker image. First, run NATS Server: @@ -132,24 +132,24 @@ Now, start the Streaming server and link it to the above docker image: ```bash $ docker run -d --link nats-main %%IMAGE%% -store file -dir datastore -ns nats://nats-main:4222 -[1] 2020/02/11 19:46:40.206660 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.17.0 -[1] 2020/02/11 19:46:40.206699 [INF] STREAM: ServerID: bon7pyyeNH4ClntI1fCJos -[1] 2020/02/11 19:46:40.206702 [INF] STREAM: Go version: go1.13.7 -[1] 2020/02/11 19:46:40.206704 [INF] STREAM: Git commit: [f4b7190] -[1] 2020/02/11 19:46:40.233833 [INF] STREAM: Recovering the state... -[1] 2020/02/11 19:46:40.233992 [INF] STREAM: No recovered state -[1] 2020/02/11 19:46:40.487836 [INF] STREAM: Message store is FILE -[1] 2020/02/11 19:46:40.487845 [INF] STREAM: Store location: datastore -[1] 2020/02/11 19:46:40.487884 [INF] STREAM: ---------- Store Limits ---------- -[1] 2020/02/11 19:46:40.487963 [INF] STREAM: Channels: 100 * -[1] 2020/02/11 19:46:40.487966 [INF] STREAM: --------- Channels Limits -------- -[1] 2020/02/11 19:46:40.487968 [INF] STREAM: Subscriptions: 1000 * -[1] 2020/02/11 19:46:40.487993 [INF] STREAM: Messages : 1000000 * -[1] 2020/02/11 19:46:40.487995 [INF] STREAM: Bytes : 976.56 MB * -[1] 2020/02/11 19:46:40.488023 [INF] STREAM: Age : unlimited * -[1] 2020/02/11 19:46:40.488025 [INF] STREAM: Inactivity : unlimited * -[1] 2020/02/11 19:46:40.488027 [INF] STREAM: ---------------------------------- -[1] 2020/02/11 19:46:40.488029 [INF] STREAM: Streaming Server is ready +[1] 2021/03/01 18:13:58.582483 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.21.0 +[1] 2021/03/01 18:13:58.582548 [INF] STREAM: ServerID: wCpsCJ1DOPwmS3imYNuZ82 +[1] 2021/03/01 18:13:58.582561 [INF] STREAM: Go version: go1.16 +[1] 2021/03/01 18:13:58.582597 [INF] STREAM: Git commit: [bb8246c] +[1] 2021/03/01 18:13:58.615689 [INF] STREAM: Recovering the state... +[1] 2021/03/01 18:13:58.615980 [INF] STREAM: No recovered state +[1] 2021/03/01 18:13:58.867680 [INF] STREAM: Message store is FILE +[1] 2021/03/01 18:13:58.867777 [INF] STREAM: Store location: datastore +[1] 2021/03/01 18:13:58.867848 [INF] STREAM: ---------- Store Limits ---------- +[1] 2021/03/01 18:13:58.867886 [INF] STREAM: Channels: 100 * +[1] 2021/03/01 18:13:58.868001 [INF] STREAM: --------- Channels Limits -------- +[1] 2021/03/01 18:13:58.868027 [INF] STREAM: Subscriptions: 1000 * +[1] 2021/03/01 18:13:58.868161 [INF] STREAM: Messages : 1000000 * +[1] 2021/03/01 18:13:58.868243 [INF] STREAM: Bytes : 976.56 MB * +[1] 2021/03/01 18:13:58.868291 [INF] STREAM: Age : unlimited * +[1] 2021/03/01 18:13:58.868372 [INF] STREAM: Inactivity : unlimited * +[1] 2021/03/01 18:13:58.868528 [INF] STREAM: ---------------------------------- +[1] 2021/03/01 18:13:58.868685 [INF] STREAM: Streaming Server is ready ``` Notice that the output shows that the NATS Server was not started, as opposed to the first output. @@ -173,22 +173,24 @@ Streaming Server Options: -hbt, --hb_timeout How long server waits for a heartbeat response -hbf, --hb_fail_count Number of failed heartbeats before server closes the client connection --ft_group Name of the FT Group. A group can be 2 or more servers with a single active server and all sharing the same datastore - -sl, --signal [=] Send signal to nats-streaming-server process (stop, quit, reopen) + -sl, --signal [=] Send signal to nats-streaming-server process (stop, quit, reopen, reload - only for embedded NATS Server) --encrypt Specify if server should use encryption at rest --encryption_cipher Cipher to use for encryption. Currently support AES and CHAHA (ChaChaPoly). Defaults to AES --encryption_key Encryption Key. It is recommended to specify it through the NATS_STREAMING_ENCRYPTION_KEY environment variable instead - + --replace_durable Replace the existing durable subscription instead of reporting a duplicate durable error + Streaming Server Clustering Options: - --clustered Run the server in a clustered configuration (default: false) - --cluster_node_id ID of the node within the cluster if there is no stored ID (default: random UUID) - --cluster_bootstrap Bootstrap the cluster if there is no existing state by electing self as leader (default: false) - --cluster_peers Comma separated list of cluster peer node IDs to bootstrap cluster state - --cluster_log_path Directory to store log replication data - --cluster_log_cache_size Number of log entries to cache in memory to reduce disk IO (default: 512) - --cluster_log_snapshots Number of log snapshots to retain (default: 2) - --cluster_trailing_logs Number of log entries to leave after a snapshot and compaction - --cluster_sync Do a file sync after every write to the replication log and message store - --cluster_raft_logging Enable logging from the Raft library (disabled by default) + --clustered Run the server in a clustered configuration (default: false) + --cluster_node_id ID of the node within the cluster if there is no stored ID (default: random UUID) + --cluster_bootstrap Bootstrap the cluster if there is no existing state by electing self as leader (default: false) + --cluster_peers Comma separated list of cluster peer node IDs to bootstrap cluster state + --cluster_log_path Directory to store log replication data + --cluster_log_cache_size Number of log entries to cache in memory to reduce disk IO (default: 512) + --cluster_log_snapshots Number of log snapshots to retain (default: 2) + --cluster_trailing_logs Number of log entries to leave after a snapshot and compaction + --cluster_sync Do a file sync after every write to the replication log and message store + --cluster_raft_logging Enable logging from the Raft library (disabled by default) + --cluster_allow_add_remove_node Enable the ability to send NATS requests to the leader to add/remove cluster nodes Streaming Server File Store Options: --file_compact_enabled Enable file compaction @@ -214,6 +216,7 @@ Streaming Server SQL Store Options: --sql_source Datasource used when opening an SQL connection to the database --sql_no_caching Enable/Disable caching for improved performance --sql_max_open_conns Maximum number of opened connections to the database + --sql_bulk_insert_limit Maximum number of messages stored with a single SQL "INSERT" statement Streaming Server TLS Options: -secure Use a TLS connection to the NATS server without @@ -240,7 +243,7 @@ Embedded NATS Server Options: Logging Options: -l, --log File to redirect log output -T, --logtime= Timestamp log entries (default: true) - -s, --syslog Enable syslog as log method + -s, --syslog Enable syslog as log method -r, --remote_syslog Syslog server addr (udp://localhost:514) -D, --debug= Enable debugging output -V, --trace= Trace the raw protocol diff --git a/nats/README.md b/nats/README.md index 90486c4390b5..057deb35a216 100644 --- a/nats/README.md +++ b/nats/README.md @@ -20,7 +20,7 @@ WARNING: [the NATS Project](https://github.com/nats-io/nats-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,22 +28,22 @@ WARNING: ## Simple Tags -- [`2.1.7-alpine3.11`, `2.1-alpine3.11`, `2-alpine3.11`, `alpine3.11`, `2.1.7-alpine`, `2.1-alpine`, `2-alpine`, `alpine`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/alpine3.11/Dockerfile) -- [`2.1.7-scratch`, `2.1-scratch`, `2-scratch`, `scratch`, `2.1.7-linux`, `2.1-linux`, `2-linux`, `linux`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/scratch/Dockerfile) -- [`2.1.7-windowsservercore-1809`, `2.1-windowsservercore-1809`, `2-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/windowsservercore-1809/Dockerfile) -- [`2.1.7-nanoserver-1809`, `2.1-nanoserver-1809`, `2-nanoserver-1809`, `nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/nanoserver-1809/Dockerfile) -- [`2.1.7-windowsservercore-ltsc2016`, `2.1-windowsservercore-ltsc2016`, `2-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/windowsservercore-ltsc2016/Dockerfile) +- [`2.2.2-alpine3.13`, `2.2-alpine3.13`, `2-alpine3.13`, `alpine3.13`, `2.2.2-alpine`, `2.2-alpine`, `2-alpine`, `alpine`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/alpine3.13/Dockerfile) +- [`2.2.2-scratch`, `2.2-scratch`, `2-scratch`, `scratch`, `2.2.2-linux`, `2.2-linux`, `2-linux`, `linux`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/scratch/Dockerfile) +- [`2.2.2-windowsservercore-1809`, `2.2-windowsservercore-1809`, `2-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/windowsservercore-1809/Dockerfile) +- [`2.2.2-nanoserver-1809`, `2.2-nanoserver-1809`, `2-nanoserver-1809`, `nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/nanoserver-1809/Dockerfile) +- [`2.2.2-windowsservercore-ltsc2016`, `2.2-windowsservercore-ltsc2016`, `2-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/windowsservercore-ltsc2016/Dockerfile) ## Shared Tags -- `2.1.7`, `2.1`, `2`, `latest`: - - [`2.1.7-scratch`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/scratch/Dockerfile) - - [`2.1.7-nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/nanoserver-1809/Dockerfile) -- `2.1.7-windowsservercore`, `2.1-windowsservercore`, `2-windowsservercore`, `windowsservercore`: - - [`2.1.7-windowsservercore-1809`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/windowsservercore-1809/Dockerfile) - - [`2.1.7-windowsservercore-ltsc2016`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/windowsservercore-ltsc2016/Dockerfile) -- `2.1.7-nanoserver`, `2.1-nanoserver`, `2-nanoserver`, `nanoserver`: - - [`2.1.7-nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/8f8045b5c6c6f17a28b5bc12f0f18eb6380f435f/2.1.7/nanoserver-1809/Dockerfile) +- `2.2.2`, `2.2`, `2`, `latest`: + - [`2.2.2-scratch`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/scratch/Dockerfile) + - [`2.2.2-nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/nanoserver-1809/Dockerfile) +- `2.2.2-windowsservercore`, `2.2-windowsservercore`, `2-windowsservercore`, `windowsservercore`: + - [`2.2.2-windowsservercore-1809`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/windowsservercore-1809/Dockerfile) + - [`2.2.2-windowsservercore-ltsc2016`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/windowsservercore-ltsc2016/Dockerfile) +- `2.2.2-nanoserver`, `2.2-nanoserver`, `2-nanoserver`, `nanoserver`: + - [`2.2.2-nanoserver-1809`](https://github.com/nats-io/nats-docker/blob/ecc356712449b64f035dadb74907a9eda986044e/2.2.2/nanoserver-1809/Dockerfile) # Quick reference (cont.) @@ -58,7 +58,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/nats`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnats) + [official-images repo's `library/nats` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnats) [official-images repo's `library/nats` file](https://github.com/docker-library/official-images/blob/master/library/nats) ([history](https://github.com/docker-library/official-images/commits/master/library/nats)) - **Source of this description**: @@ -100,13 +100,18 @@ The routing protocol has been dramatically improved and adds support for account # Check "docker run" for more information. $ docker run -d --name nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats -[INF] Starting nats-server version 2.1.7 -[INF] Git commit [bf0930e] +[INF] Starting nats-server +[INF] Version: 2.2.2 +[INF] Git: [a5f3aab] +[INF] Name: NDFKN2UHCGYJGFPP34WAMUJFQT64B7JFOKLBYDDRIDNONPJO3NAGOQZR +[INF] ID: NDFKN2UHCGYJGFPP34WAMUJFQT64B7JFOKLBYDDRIDNONPJO3NAGOQZR +[INF] Using configuration file: nats-server.conf +[INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 -[INF] Server id is NANEPV46X4QZ7FR5DD4U7WLWI6BWRLJXFTHO2FIJRGFSW5NLH3MOV7VZ [INF] Server is ready +[INF] Cluster name is IDBsbLzNE1vnhNsqZhLuvU +[WRN] Cluster name was dynamically generated, consider setting one [INF] Listening for route connections on 0.0.0.0:6222 - ... # To run a second server and cluster them together.. @@ -117,21 +122,32 @@ $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222 # If you want to verify the routes are connected, try this instead: $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats -c nats-server.conf --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 -DV -[INF] Starting nats-server version 2.1.7 -[DBG] Go build version go1.13.10 -[INF] Git commit [bf0930e] +[INF] Starting nats-server +[INF] Version: 2.2.2 +[INF] Git: [a5f3aab] +[DBG] Go build: go1.16.3 +[INF] Name: NDV5S72CIA5ZALWXUBGL3LIVG3A3PK36B32RQF25DUQYPG5KLV52EBSF +[INF] ID: NDV5S72CIA5ZALWXUBGL3LIVG3A3PK36B32RQF25DUQYPG5KLV52EBSF +[INF] Using configuration file: nats-server.conf +[DBG] Created system account: "$SYS" [INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 -[INF] Server id is NC5WVL732YIR7N2TH3EHLLTGBNYJMZUUJMYEVWTZ3KU6DQB6ROGPAWYM -[INF] Server is ready [DBG] Get non local IPs for "0.0.0.0" -[DBG] ip=172.17.0.3 +[DBG] ip=172.17.0.3 +[INF] Server is ready +[INF] Cluster name is 70r4HcDuxqObLOrd6s1by9 +[WRN] Cluster name was dynamically generated, consider setting one [INF] Listening for route connections on 0.0.0.0:6222 -[DBG] Trying to connect to route on nats-main:6222 -[DBG] 172.17.0.2:6222 - rid:1 - Route connect msg sent -[INF] 172.17.0.2:6222 - rid:1 - Route connection created -[DBG] 172.17.0.2:6222 - rid:1 - Registering remote route "ND2WROCKLR6NGB6E5RUV6FQNPQO475MWOR4IGM6E6AZNKVTKXDD6YCM5" -[DBG] 172.17.0.2:6222 - rid:1 - Sent local subscriptions to route +[DBG] Trying to connect to route on nats-main:6222 (172.17.0.2:6222) +[DBG] 172.17.0.2:6222 - rid:3 - Route connect msg sent +[INF] 172.17.0.2:6222 - rid:3 - Route connection created +[INF] 172.17.0.2:6222 - rid:3 - Router connection closed: Cluster Name Conflict +[DBG] Attempting reconnect for solicited route "nats-route://ruser:T0pS3cr3t@nats-main:6222" +[DBG] Trying to connect to route on nats-main:6222 (172.17.0.2:6222) +[DBG] 172.17.0.2:6222 - rid:4 - Route connect msg sent +[INF] 172.17.0.2:6222 - rid:4 - Route connection created +[DBG] 172.17.0.2:6222 - rid:4 - Registering remote route "NDUA32CQBEAM25FKPHFEGKBF5JIQQFDBGFSFXJ7R275CYFSGZ4DDCOSG" +[DBG] 172.17.0.2:6222 - rid:4 - Sent local subscriptions to route ``` The server will load the configuration file below. Any command line flags can override these values. @@ -147,6 +163,8 @@ monitor_port: 8222 # This is for clustering multiple servers together. cluster { + # It is recommended to set a cluster name + name: "my_cluster" # Route connections to be received on any interface on port 6222 port: 6222 @@ -172,14 +190,15 @@ cluster { Server Options: -a, --addr Bind to host address (default: 0.0.0.0) -p, --port Use port for clients (default: 4222) + -n, --name Server name (default: auto) -P, --pid File to store PID -m, --http_port Use port for http monitoring -ms,--https_port Use port for https monitoring -c, --config Configuration file + -t Test configuration and exit -sl,--signal [=] Send signal to nats-server process (stop, quit, reopen, reload) can be either a PID (e.g. 1) or the path to a PID file (e.g. /var/run/nats-server.pid) --client_advertise Client URL to advertise to other servers - -t Test configuration and exit Logging Options: -l, --log File to redirect log output @@ -192,6 +211,10 @@ Logging Options: -DV Debug and trace -DVV Debug and verbose trace (traces system account as well) +JetStream Options: + -js, --jetstream Enable JetStream functionality. + -sd, --store_dir Set the storage directory. + Authorization Options: --user User required for connections --pass Password required for connections @@ -207,11 +230,11 @@ TLS Options: Cluster Options: --routes Routes to solicit and connect --cluster Cluster URL for solicited routes - --no_advertise Advertise known cluster IPs to clients + --cluster_name Cluster Name, if not set one will be dynamically generated + --no_advertise Do not advertise known cluster information to clients --cluster_advertise Cluster URL to advertise to other servers --connect_retries For implicit routes, number of connect retries - Common Options: -h, --help Show this message -v, --version Show version @@ -228,9 +251,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `nats:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/nats/content.md b/nats/content.md index b43cd879f5d7..6b8f61e09c68 100644 --- a/nats/content.md +++ b/nats/content.md @@ -34,13 +34,18 @@ The routing protocol has been dramatically improved and adds support for account # Check "docker run" for more information. $ docker run -d --name nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 %%IMAGE%% -[INF] Starting nats-server version 2.1.7 -[INF] Git commit [bf0930e] +[INF] Starting nats-server +[INF] Version: 2.2.2 +[INF] Git: [a5f3aab] +[INF] Name: NDFKN2UHCGYJGFPP34WAMUJFQT64B7JFOKLBYDDRIDNONPJO3NAGOQZR +[INF] ID: NDFKN2UHCGYJGFPP34WAMUJFQT64B7JFOKLBYDDRIDNONPJO3NAGOQZR +[INF] Using configuration file: nats-server.conf +[INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 -[INF] Server id is NANEPV46X4QZ7FR5DD4U7WLWI6BWRLJXFTHO2FIJRGFSW5NLH3MOV7VZ [INF] Server is ready +[INF] Cluster name is IDBsbLzNE1vnhNsqZhLuvU +[WRN] Cluster name was dynamically generated, consider setting one [INF] Listening for route connections on 0.0.0.0:6222 - ... # To run a second server and cluster them together.. @@ -51,21 +56,32 @@ $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222 # If you want to verify the routes are connected, try this instead: $ docker run -d --name=nats-2 --link nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 %%IMAGE%% -c nats-server.conf --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 -DV -[INF] Starting nats-server version 2.1.7 -[DBG] Go build version go1.13.10 -[INF] Git commit [bf0930e] +[INF] Starting nats-server +[INF] Version: 2.2.2 +[INF] Git: [a5f3aab] +[DBG] Go build: go1.16.3 +[INF] Name: NDV5S72CIA5ZALWXUBGL3LIVG3A3PK36B32RQF25DUQYPG5KLV52EBSF +[INF] ID: NDV5S72CIA5ZALWXUBGL3LIVG3A3PK36B32RQF25DUQYPG5KLV52EBSF +[INF] Using configuration file: nats-server.conf +[DBG] Created system account: "$SYS" [INF] Starting http monitor on 0.0.0.0:8222 [INF] Listening for client connections on 0.0.0.0:4222 -[INF] Server id is NC5WVL732YIR7N2TH3EHLLTGBNYJMZUUJMYEVWTZ3KU6DQB6ROGPAWYM -[INF] Server is ready [DBG] Get non local IPs for "0.0.0.0" -[DBG] ip=172.17.0.3 +[DBG] ip=172.17.0.3 +[INF] Server is ready +[INF] Cluster name is 70r4HcDuxqObLOrd6s1by9 +[WRN] Cluster name was dynamically generated, consider setting one [INF] Listening for route connections on 0.0.0.0:6222 -[DBG] Trying to connect to route on nats-main:6222 -[DBG] 172.17.0.2:6222 - rid:1 - Route connect msg sent -[INF] 172.17.0.2:6222 - rid:1 - Route connection created -[DBG] 172.17.0.2:6222 - rid:1 - Registering remote route "ND2WROCKLR6NGB6E5RUV6FQNPQO475MWOR4IGM6E6AZNKVTKXDD6YCM5" -[DBG] 172.17.0.2:6222 - rid:1 - Sent local subscriptions to route +[DBG] Trying to connect to route on nats-main:6222 (172.17.0.2:6222) +[DBG] 172.17.0.2:6222 - rid:3 - Route connect msg sent +[INF] 172.17.0.2:6222 - rid:3 - Route connection created +[INF] 172.17.0.2:6222 - rid:3 - Router connection closed: Cluster Name Conflict +[DBG] Attempting reconnect for solicited route "nats-route://ruser:T0pS3cr3t@nats-main:6222" +[DBG] Trying to connect to route on nats-main:6222 (172.17.0.2:6222) +[DBG] 172.17.0.2:6222 - rid:4 - Route connect msg sent +[INF] 172.17.0.2:6222 - rid:4 - Route connection created +[DBG] 172.17.0.2:6222 - rid:4 - Registering remote route "NDUA32CQBEAM25FKPHFEGKBF5JIQQFDBGFSFXJ7R275CYFSGZ4DDCOSG" +[DBG] 172.17.0.2:6222 - rid:4 - Sent local subscriptions to route ``` The server will load the configuration file below. Any command line flags can override these values. @@ -81,6 +97,8 @@ monitor_port: 8222 # This is for clustering multiple servers together. cluster { + # It is recommended to set a cluster name + name: "my_cluster" # Route connections to be received on any interface on port 6222 port: 6222 @@ -106,14 +124,15 @@ cluster { Server Options: -a, --addr Bind to host address (default: 0.0.0.0) -p, --port Use port for clients (default: 4222) + -n, --name Server name (default: auto) -P, --pid File to store PID -m, --http_port Use port for http monitoring -ms,--https_port Use port for https monitoring -c, --config Configuration file + -t Test configuration and exit -sl,--signal [=] Send signal to nats-server process (stop, quit, reopen, reload) can be either a PID (e.g. 1) or the path to a PID file (e.g. /var/run/nats-server.pid) --client_advertise Client URL to advertise to other servers - -t Test configuration and exit Logging Options: -l, --log File to redirect log output @@ -126,6 +145,10 @@ Logging Options: -DV Debug and trace -DVV Debug and verbose trace (traces system account as well) +JetStream Options: + -js, --jetstream Enable JetStream functionality. + -sd, --store_dir Set the storage directory. + Authorization Options: --user User required for connections --pass Password required for connections @@ -141,11 +164,11 @@ TLS Options: Cluster Options: --routes Routes to solicit and connect --cluster Cluster URL for solicited routes - --no_advertise Advertise known cluster IPs to clients + --cluster_name Cluster Name, if not set one will be dynamically generated + --no_advertise Do not advertise known cluster information to clients --cluster_advertise Cluster URL to advertise to other servers --connect_retries For implicit routes, number of connect retries - Common Options: -h, --help Show this message -v, --version Show version diff --git a/neo4j/README.md b/neo4j/README.md index 83f76234ea5c..544e9a7a9956 100644 --- a/neo4j/README.md +++ b/neo4j/README.md @@ -20,12 +20,56 @@ WARNING: [Neo4j](https://github.com/neo4j/docker-neo4j) - **Where to get help**: - [Stack Overflow](http://stackoverflow.com/questions/tagged/neo4j) + [Neo4j Community Forums](https://community.neo4j.com) # Supported tags and respective `Dockerfile` links -- [`4.0.4`, `4.0`, `latest`](https://github.com/neo4j/docker-neo4j-publish/blob/d5e5e4b1999611ecfa8ec59166acf1ddb703b21c/4.0.4/community/Dockerfile) -- [`4.0.4-enterprise`, `4.0-enterprise`, `enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d5e5e4b1999611ecfa8ec59166acf1ddb703b21c/4.0.4/enterprise/Dockerfile) +- [`4.2.5`, `4.2`, `latest`](https://github.com/neo4j/docker-neo4j-publish/blob/d22293f2e465b63ee5a63f0a2b8f817717a64a8b/4.2.5/community/Dockerfile) +- [`4.2.5-enterprise`, `4.2-enterprise`, `enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d22293f2e465b63ee5a63f0a2b8f817717a64a8b/4.2.5/enterprise/Dockerfile) +- [`4.2.4`](https://github.com/neo4j/docker-neo4j-publish/blob/21f86f780f950805e29e7789249d9f2a754a1ef1/4.2.4/community/Dockerfile) +- [`4.2.4-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/21f86f780f950805e29e7789249d9f2a754a1ef1/4.2.4/enterprise/Dockerfile) +- [`4.2.3`](https://github.com/neo4j/docker-neo4j-publish/blob/876140f24eb644b811a2bffc7bc09d9a39f341e7/4.2.3/community/Dockerfile) +- [`4.2.3-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/876140f24eb644b811a2bffc7bc09d9a39f341e7/4.2.3/enterprise/Dockerfile) +- [`4.2.2`](https://github.com/neo4j/docker-neo4j-publish/blob/4421ccd67610e65e501e201c226a8184edc24587/4.2.2/community/Dockerfile) +- [`4.2.2-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/4421ccd67610e65e501e201c226a8184edc24587/4.2.2/enterprise/Dockerfile) +- [`4.2.1`](https://github.com/neo4j/docker-neo4j-publish/blob/73963d86ca01456c695b7258d2fa1873cc4041bc/4.2.1/community/Dockerfile) +- [`4.2.1-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/73963d86ca01456c695b7258d2fa1873cc4041bc/4.2.1/enterprise/Dockerfile) +- [`4.2.0`](https://github.com/neo4j/docker-neo4j-publish/blob/0fee8c3d7314e7729f45781f03e3fe165fa371aa/4.2.0/community/Dockerfile) +- [`4.2.0-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/0fee8c3d7314e7729f45781f03e3fe165fa371aa/4.2.0/enterprise/Dockerfile) +- [`4.1.8`, `4.1`](https://github.com/neo4j/docker-neo4j-publish/blob/532e7003a2922d25baae22305345f27efdcb1bec/4.1.8/community/Dockerfile) +- [`4.1.8-enterprise`, `4.1-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/532e7003a2922d25baae22305345f27efdcb1bec/4.1.8/enterprise/Dockerfile) +- [`4.1.7`](https://github.com/neo4j/docker-neo4j-publish/blob/04e62b180b0bc708341dbe097262271f0f422139/4.1.7/community/Dockerfile) +- [`4.1.7-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/04e62b180b0bc708341dbe097262271f0f422139/4.1.7/enterprise/Dockerfile) +- [`4.1.6`](https://github.com/neo4j/docker-neo4j-publish/blob/17c3e064335f47c1d4b1385dc24863843641f205/4.1.6/community/Dockerfile) +- [`4.1.6-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/17c3e064335f47c1d4b1385dc24863843641f205/4.1.6/enterprise/Dockerfile) +- [`4.1.5`](https://github.com/neo4j/docker-neo4j-publish/blob/a3e1de7d6215c50694fca04e92fc4917c1efa0eb/4.1.5/community/Dockerfile) +- [`4.1.5-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/a3e1de7d6215c50694fca04e92fc4917c1efa0eb/4.1.5/enterprise/Dockerfile) +- [`4.1.4`](https://github.com/neo4j/docker-neo4j-publish/blob/8709faa63d9bda05c888ffc040a6035a8daf8394/4.1.4/community/Dockerfile) +- [`4.1.4-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/8709faa63d9bda05c888ffc040a6035a8daf8394/4.1.4/enterprise/Dockerfile) +- [`4.1.3`](https://github.com/neo4j/docker-neo4j-publish/blob/d812e34c70a2487fae5ee5cbb7c447b20b346afa/4.1.3/community/Dockerfile) +- [`4.1.3-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d812e34c70a2487fae5ee5cbb7c447b20b346afa/4.1.3/enterprise/Dockerfile) +- [`4.1.2`](https://github.com/neo4j/docker-neo4j-publish/blob/5429da43884f5a41db2fd7aaaa3b1cd69a708f7f/4.1.2/community/Dockerfile) +- [`4.1.2-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/5429da43884f5a41db2fd7aaaa3b1cd69a708f7f/4.1.2/enterprise/Dockerfile) +- [`4.1.1`](https://github.com/neo4j/docker-neo4j-publish/blob/d42c3ac9cde66e2a1dcb3f667fe73878dbf2218c/4.1.1/community/Dockerfile) +- [`4.1.1-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d42c3ac9cde66e2a1dcb3f667fe73878dbf2218c/4.1.1/enterprise/Dockerfile) +- [`4.1.0`](https://github.com/neo4j/docker-neo4j-publish/blob/c22866bb7f4baac356bf65494a003e490082b6c0/4.1.0/community/Dockerfile) +- [`4.1.0-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/c22866bb7f4baac356bf65494a003e490082b6c0/4.1.0/enterprise/Dockerfile) +- [`4.0.11`, `4.0`](https://github.com/neo4j/docker-neo4j-publish/blob/014785e7fb71b0cda5c52b21e9a609878ebf567a/4.0.11/community/Dockerfile) +- [`4.0.11-enterprise`, `4.0-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/014785e7fb71b0cda5c52b21e9a609878ebf567a/4.0.11/enterprise/Dockerfile) +- [`4.0.10`](https://github.com/neo4j/docker-neo4j-publish/blob/15eccd11b9755a650f0460e9b652239d54fa7fa9/4.0.10/community/Dockerfile) +- [`4.0.10-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/15eccd11b9755a650f0460e9b652239d54fa7fa9/4.0.10/enterprise/Dockerfile) +- [`4.0.9`](https://github.com/neo4j/docker-neo4j-publish/blob/04a30cb462de38246f8411b7b03c17d06b948009/4.0.9/community/Dockerfile) +- [`4.0.9-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/04a30cb462de38246f8411b7b03c17d06b948009/4.0.9/enterprise/Dockerfile) +- [`4.0.8`](https://github.com/neo4j/docker-neo4j-publish/blob/81342d372e1fa225d49b7643d3210b9bcdb962b9/4.0.8/community/Dockerfile) +- [`4.0.8-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/81342d372e1fa225d49b7643d3210b9bcdb962b9/4.0.8/enterprise/Dockerfile) +- [`4.0.7`](https://github.com/neo4j/docker-neo4j-publish/blob/d42c3ac9cde66e2a1dcb3f667fe73878dbf2218c/4.0.7/community/Dockerfile) +- [`4.0.7-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d42c3ac9cde66e2a1dcb3f667fe73878dbf2218c/4.0.7/enterprise/Dockerfile) +- [`4.0.6`](https://github.com/neo4j/docker-neo4j-publish/blob/07dcb3dd43df67337f74af5a71decc45d50b712d/4.0.6/community/Dockerfile) +- [`4.0.6-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/07dcb3dd43df67337f74af5a71decc45d50b712d/4.0.6/enterprise/Dockerfile) +- [`4.0.5`](https://github.com/neo4j/docker-neo4j-publish/blob/b47f15c39f28e28e120adff7a00773e0a61c0efe/4.0.5/community/Dockerfile) +- [`4.0.5-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/b47f15c39f28e28e120adff7a00773e0a61c0efe/4.0.5/enterprise/Dockerfile) +- [`4.0.4`](https://github.com/neo4j/docker-neo4j-publish/blob/d5e5e4b1999611ecfa8ec59166acf1ddb703b21c/4.0.4/community/Dockerfile) +- [`4.0.4-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d5e5e4b1999611ecfa8ec59166acf1ddb703b21c/4.0.4/enterprise/Dockerfile) - [`4.0.3`](https://github.com/neo4j/docker-neo4j-publish/blob/51ed84f02e569a0d86c6e634fab3ae6540806a7e/4.0.3/community/Dockerfile) - [`4.0.3-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/51ed84f02e569a0d86c6e634fab3ae6540806a7e/4.0.3/enterprise/Dockerfile) - [`4.0.2`](https://github.com/neo4j/docker-neo4j-publish/blob/56d28624bc264497ed7fae8253a52a92611c6fee/4.0.2/community/Dockerfile) @@ -34,8 +78,28 @@ WARNING: - [`4.0.1-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/13c288e9c36ee22e682b459fb218c9239e2c1083/4.0.1/enterprise/Dockerfile) - [`4.0.0`](https://github.com/neo4j/docker-neo4j-publish/blob/685fb314ef8e451217b6806028b9ac4dbf44d3fc/4.0.0/community/Dockerfile) - [`4.0.0-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/685fb314ef8e451217b6806028b9ac4dbf44d3fc/4.0.0/enterprise/Dockerfile) -- [`3.5.18`, `3.5`](https://github.com/neo4j/docker-neo4j-publish/blob/44c1a3d078dae162335e3c2c214513c1c193de2e/3.5.18/community/Dockerfile) -- [`3.5.18-enterprise`, `3.5-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/44c1a3d078dae162335e3c2c214513c1c193de2e/3.5.18/enterprise/Dockerfile) +- [`3.5.28`, `3.5`](https://github.com/neo4j/docker-neo4j-publish/blob/83141af227fa047421b3ea81dcb8c1f4a7c6180f/3.5.28/community/Dockerfile) +- [`3.5.28-enterprise`, `3.5-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/83141af227fa047421b3ea81dcb8c1f4a7c6180f/3.5.28/enterprise/Dockerfile) +- [`3.5.27`](https://github.com/neo4j/docker-neo4j-publish/blob/ce4bfeffe18865c1b94f0622015087d1d6849fbb/3.5.27/community/Dockerfile) +- [`3.5.27-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/ce4bfeffe18865c1b94f0622015087d1d6849fbb/3.5.27/enterprise/Dockerfile) +- [`3.5.26`](https://github.com/neo4j/docker-neo4j-publish/blob/b76f780318bea75347b17ef9a941bef5490d6a5b/3.5.26/community/Dockerfile) +- [`3.5.26-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/b76f780318bea75347b17ef9a941bef5490d6a5b/3.5.26/enterprise/Dockerfile) +- [`3.5.25`](https://github.com/neo4j/docker-neo4j-publish/blob/7f640278e48b2ff205564e131cb142278c5e6f13/3.5.25/community/Dockerfile) +- [`3.5.25-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/7f640278e48b2ff205564e131cb142278c5e6f13/3.5.25/enterprise/Dockerfile) +- [`3.5.24`](https://github.com/neo4j/docker-neo4j-publish/blob/e0b946fee10795b1e565406b24a7ace32e761ab5/3.5.24/community/Dockerfile) +- [`3.5.24-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/e0b946fee10795b1e565406b24a7ace32e761ab5/3.5.24/enterprise/Dockerfile) +- [`3.5.23`](https://github.com/neo4j/docker-neo4j-publish/blob/0c06943b4f351597820c87adeb1571aaaabd2996/3.5.23/community/Dockerfile) +- [`3.5.23-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/0c06943b4f351597820c87adeb1571aaaabd2996/3.5.23/enterprise/Dockerfile) +- [`3.5.22`](https://github.com/neo4j/docker-neo4j-publish/blob/cebc260e5eac4f660ed85df6a81429a8327c3d26/3.5.22/community/Dockerfile) +- [`3.5.22-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/cebc260e5eac4f660ed85df6a81429a8327c3d26/3.5.22/enterprise/Dockerfile) +- [`3.5.21`](https://github.com/neo4j/docker-neo4j-publish/blob/d44250b8c4e856e43f2e8e80b09d7b403f25eb75/3.5.21/community/Dockerfile) +- [`3.5.21-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/d44250b8c4e856e43f2e8e80b09d7b403f25eb75/3.5.21/enterprise/Dockerfile) +- [`3.5.20`](https://github.com/neo4j/docker-neo4j-publish/blob/daf79c6d15e38b90b2b424da1168f4843c578362/3.5.20/community/Dockerfile) +- [`3.5.20-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/daf79c6d15e38b90b2b424da1168f4843c578362/3.5.20/enterprise/Dockerfile) +- [`3.5.19`](https://github.com/neo4j/docker-neo4j-publish/blob/2e3dda4f3b545c33fee51bc5fce089923a3cc1e7/3.5.19/community/Dockerfile) +- [`3.5.19-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/2e3dda4f3b545c33fee51bc5fce089923a3cc1e7/3.5.19/enterprise/Dockerfile) +- [`3.5.18`](https://github.com/neo4j/docker-neo4j-publish/blob/44c1a3d078dae162335e3c2c214513c1c193de2e/3.5.18/community/Dockerfile) +- [`3.5.18-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/44c1a3d078dae162335e3c2c214513c1c193de2e/3.5.18/enterprise/Dockerfile) - [`3.5.17`](https://github.com/neo4j/docker-neo4j-publish/blob/617aeb42c7af81bb6dfdd6396eca4c42d98c41ce/3.5.17/community/Dockerfile) - [`3.5.17-enterprise`](https://github.com/neo4j/docker-neo4j-publish/blob/617aeb42c7af81bb6dfdd6396eca4c42d98c41ce/3.5.17/enterprise/Dockerfile) - [`3.5.16`](https://github.com/neo4j/docker-neo4j-publish/blob/db34a05ac7abf4b2818222294ac9dc93b13d54a2/3.5.16/community/Dockerfile) @@ -80,7 +144,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/neo4j`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fneo4j) + [official-images repo's `library/neo4j` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fneo4j) [official-images repo's `library/neo4j` file](https://github.com/docker-library/official-images/blob/master/library/neo4j) ([history](https://github.com/docker-library/official-images/commits/master/library/neo4j)) - **Source of this description**: diff --git a/neo4j/get-help.md b/neo4j/get-help.md index af0efede52b3..e7a73e1c63d8 100644 --- a/neo4j/get-help.md +++ b/neo4j/get-help.md @@ -1 +1 @@ -[Stack Overflow](http://stackoverflow.com/questions/tagged/neo4j) +[Neo4j Community Forums](https://community.neo4j.com) diff --git a/neurodebian/README.md b/neurodebian/README.md index 50c5676164c0..28d09904feb9 100644 --- a/neurodebian/README.md +++ b/neurodebian/README.md @@ -20,28 +20,26 @@ WARNING: [NeuroDebian](https://github.com/neurodebian/dockerfiles) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`trusty`, `nd14.04`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/trusty/Dockerfile) -- [`trusty-non-free`, `nd14.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/trusty-non-free/Dockerfile) -- [`xenial`, `nd16.04`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/xenial/Dockerfile) -- [`xenial-non-free`, `nd16.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/xenial-non-free/Dockerfile) -- [`bionic`, `nd18.04`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/bionic/Dockerfile) -- [`bionic-non-free`, `nd18.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/bionic-non-free/Dockerfile) -- [`focal`, `nd20.04`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/focal/Dockerfile) -- [`focal-non-free`, `nd20.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/focal-non-free/Dockerfile) -- [`jessie`, `nd80`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/jessie/Dockerfile) -- [`jessie-non-free`, `nd80-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/jessie-non-free/Dockerfile) -- [`stretch`, `nd90`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/stretch/Dockerfile) -- [`stretch-non-free`, `nd90-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/stretch-non-free/Dockerfile) -- [`buster`, `nd100`, `latest`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/buster/Dockerfile) -- [`buster-non-free`, `nd100-non-free`, `non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/buster-non-free/Dockerfile) -- [`bullseye`, `nd110`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/bullseye/Dockerfile) -- [`bullseye-non-free`, `nd110-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/bullseye-non-free/Dockerfile) -- [`sid`, `nd`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/sid/Dockerfile) -- [`sid-non-free`, `nd-non-free`](https://github.com/neurodebian/dockerfiles/blob/54ea480e6e3b2563e3e5dcd3df74ca3d280876e1/dockerfiles/sid-non-free/Dockerfile) +- [`xenial`, `nd16.04`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/xenial/Dockerfile) +- [`xenial-non-free`, `nd16.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/xenial-non-free/Dockerfile) +- [`bionic`, `nd18.04`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/bionic/Dockerfile) +- [`bionic-non-free`, `nd18.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/bionic-non-free/Dockerfile) +- [`focal`, `nd20.04`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/focal/Dockerfile) +- [`focal-non-free`, `nd20.04-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/focal-non-free/Dockerfile) +- [`groovy`, `nd20.10`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/groovy/Dockerfile) +- [`groovy-non-free`, `nd20.10-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/groovy-non-free/Dockerfile) +- [`stretch`, `nd90`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/stretch/Dockerfile) +- [`stretch-non-free`, `nd90-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/stretch-non-free/Dockerfile) +- [`buster`, `nd100`, `latest`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/buster/Dockerfile) +- [`buster-non-free`, `nd100-non-free`, `non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/buster-non-free/Dockerfile) +- [`bullseye`, `nd110`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/bullseye/Dockerfile) +- [`bullseye-non-free`, `nd110-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/bullseye-non-free/Dockerfile) +- [`sid`, `nd`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/sid/Dockerfile) +- [`sid-non-free`, `nd-non-free`](https://github.com/neurodebian/dockerfiles/blob/920deb4853138c8b7fcae4b232c70e82269a3856/dockerfiles/sid-non-free/Dockerfile) # Quick reference (cont.) @@ -56,7 +54,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/neurodebian`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fneurodebian) + [official-images repo's `library/neurodebian` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fneurodebian) [official-images repo's `library/neurodebian` file](https://github.com/docker-library/official-images/blob/master/library/neurodebian) ([history](https://github.com/docker-library/official-images/commits/master/library/neurodebian)) - **Source of this description**: diff --git a/nextcloud/README.md b/nextcloud/README.md index bc656ed2d725..ee427776f316 100644 --- a/nextcloud/README.md +++ b/nextcloud/README.md @@ -20,22 +20,19 @@ WARNING: [Nextcloud](https://github.com/nextcloud/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`16.0.10-apache`, `16.0-apache`, `16-apache`, `16.0.10`, `16.0`, `16`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/16.0/apache/Dockerfile) -- [`16.0.10-fpm-alpine`, `16.0-fpm-alpine`, `16-fpm-alpine`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/16.0/fpm-alpine/Dockerfile) -- [`16.0.10-fpm`, `16.0-fpm`, `16-fpm`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/16.0/fpm/Dockerfile) -- [`17.0.6-apache`, `17.0-apache`, `17-apache`, `production-apache`, `17.0.6`, `17.0`, `17`, `production`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/17.0/apache/Dockerfile) -- [`17.0.6-fpm-alpine`, `17.0-fpm-alpine`, `17-fpm-alpine`, `production-fpm-alpine`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/17.0/fpm-alpine/Dockerfile) -- [`17.0.6-fpm`, `17.0-fpm`, `17-fpm`, `production-fpm`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/17.0/fpm/Dockerfile) -- [`18.0.4-apache`, `18.0-apache`, `18-apache`, `apache`, `stable-apache`, `18.0.4`, `18.0`, `18`, `latest`, `stable`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/18.0/apache/Dockerfile) -- [`18.0.4-fpm-alpine`, `18.0-fpm-alpine`, `18-fpm-alpine`, `fpm-alpine`, `stable-fpm-alpine`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/18.0/fpm-alpine/Dockerfile) -- [`18.0.4-fpm`, `18.0-fpm`, `18-fpm`, `fpm`, `stable-fpm`](https://github.com/nextcloud/docker/blob/b1825a188ba1918aa30d0b6ac18d0a32ff3ec707/18.0/fpm/Dockerfile) -- [`19.0.0RC3-apache`, `19.0.0-rc-apache`, `19.0-rc-apache`, `19-rc-apache`, `19.0.0RC3`, `19.0.0-rc`, `19.0-rc`, `19-rc`](https://github.com/nextcloud/docker/blob/ba1500b05ee8889c99a46f1d0de63ab40d3e2926/19.0-rc/apache/Dockerfile) -- [`19.0.0RC3-fpm-alpine`, `19.0.0-rc-fpm-alpine`, `19.0-rc-fpm-alpine`, `19-rc-fpm-alpine`](https://github.com/nextcloud/docker/blob/ba1500b05ee8889c99a46f1d0de63ab40d3e2926/19.0-rc/fpm-alpine/Dockerfile) -- [`19.0.0RC3-fpm`, `19.0.0-rc-fpm`, `19.0-rc-fpm`, `19-rc-fpm`](https://github.com/nextcloud/docker/blob/ba1500b05ee8889c99a46f1d0de63ab40d3e2926/19.0-rc/fpm/Dockerfile) +- [`19.0.10-apache`, `19.0-apache`, `19-apache`, `19.0.10`, `19.0`, `19`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/19.0/apache/Dockerfile) +- [`19.0.10-fpm`, `19.0-fpm`, `19-fpm`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/19.0/fpm/Dockerfile) +- [`19.0.10-fpm-alpine`, `19.0-fpm-alpine`, `19-fpm-alpine`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/19.0/fpm-alpine/Dockerfile) +- [`20.0.9-apache`, `20.0-apache`, `20-apache`, `stable-apache`, `production-apache`, `20.0.9`, `20.0`, `20`, `stable`, `production`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/20.0/apache/Dockerfile) +- [`20.0.9-fpm`, `20.0-fpm`, `20-fpm`, `stable-fpm`, `production-fpm`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/20.0/fpm/Dockerfile) +- [`20.0.9-fpm-alpine`, `20.0-fpm-alpine`, `20-fpm-alpine`, `stable-fpm-alpine`, `production-fpm-alpine`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/20.0/fpm-alpine/Dockerfile) +- [`21.0.1-apache`, `21.0-apache`, `21-apache`, `apache`, `21.0.1`, `21.0`, `21`, `latest`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/21.0/apache/Dockerfile) +- [`21.0.1-fpm`, `21.0-fpm`, `21-fpm`, `fpm`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/21.0/fpm/Dockerfile) +- [`21.0.1-fpm-alpine`, `21.0-fpm-alpine`, `21-fpm-alpine`, `fpm-alpine`](https://github.com/nextcloud/docker/blob/32353166592cd1543bc83bea2a38dbd89b48147d/21.0/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -50,7 +47,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/nextcloud`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnextcloud) + [official-images repo's `library/nextcloud` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnextcloud) [official-images repo's `library/nextcloud` file](https://github.com/docker-library/official-images/blob/master/library/nextcloud) ([history](https://github.com/docker-library/official-images/commits/master/library/nextcloud)) - **Source of this description**: @@ -84,23 +81,23 @@ Now you can access Nextcloud at http://localhost:8080/ from your host system. ## Using the fpm image -To use the fpm image you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to you host. +To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host. ```console $ docker run -d nextcloud:fpm ``` -As the fastCGI-Process is not capable of serving static files (style sheets, images, ...) the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the docker-compose section. +As the fastCGI-Process is not capable of serving static files (style sheets, images, ...), the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the [docker-compose section](#running-this-image-with-docker-compose). ## Using an external database -By default this container uses SQLite for data storage, but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. +By default, this container uses SQLite for data storage but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. ## Persistent data -The Nextcloud installation and all data beyond what lives in the database (file uploads, etc) is stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. +The Nextcloud installation and all data beyond what lives in the database (file uploads, etc.) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. -A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this you need one volume for your database container and one for Nextcloud. +A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and one for Nextcloud. Nextcloud: @@ -123,7 +120,7 @@ Database: mariadb ``` -If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. The `data`, `config` are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. +If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. The `data`, `config` files are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. Overview of the folders that can be mounted as volumes: @@ -131,9 +128,9 @@ Overview of the folders that can be mounted as volumes: - `/var/www/html/custom_apps` installed / modified apps - `/var/www/html/config` local configuration - `/var/www/html/data` the actual data of your Nextcloud -- `/var/www/html/themes/` theming/branding +- `/var/www/html/themes/` theming/branding -If you want to use named volumes for all of these it would look like this +If you want to use named volumes for all of these, it would look like this: ```console $ docker run -d \ @@ -161,7 +158,7 @@ $ docker-compose exec --user www-data app php occ ## Auto configuration via environment variables -The nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! +The Nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! **SQLite**: @@ -186,39 +183,67 @@ If you set any values, they will not be asked in the install page on first run. - `NEXTCLOUD_ADMIN_USER` Name of the Nextcloud admin user. - `NEXTCLOUD_ADMIN_PASSWORD` Password for the Nextcloud admin user. -If you want you can set the data directory and table prefix, otherwise default values will be used. +If you want, you can set the data directory, otherwise default value will be used. -- `NEXTCLOUD_DATA_DIR` (default: */var/www/html/data*) Configures the data directory where nextcloud stores all files from the users. -- `NEXTCLOUD_TABLE_PREFIX` (default: *""*) Optional prefix for the tables. Used to be `oc_` in the past +- `NEXTCLOUD_DATA_DIR` (default: `/var/www/html/data`) Configures the data directory where nextcloud stores all files from the users. -One or more trusted domains can be set by environment variable, too. They will be added to the configuration after install. +One or more trusted domains can be set through environment variable, too. They will be added to the configuration after install. - `NEXTCLOUD_TRUSTED_DOMAINS` (not set by default) Optional space-separated list of domains The install and update script is only triggered when a default command is used (`apache-foreground` or `php-fpm`). If you use a custom command you have to enable the install / update with -- `NEXTCLOUD_UPDATE` (default: *0*) +- `NEXTCLOUD_UPDATE` (default: `0`) -If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container add: +If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container, pass in the following parameters: - `REDIS_HOST` (not set by default) Name of Redis container -- `REDIS_HOST_PORT` (default: *6379*) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PORT` (default: `6379`) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PASSWORD` (not set by default) Redis password The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. -To use a external SMTP server you have to provide the connection details. To configure Nextcloud to use SMTP add: +To use an external SMTP server, you have to provide the connection details. To configure Nextcloud to use SMTP add: -- `SMTP_HOST` (not set by default) hostname of the SMTP server -- `SMTP_SECURE` (empty by default) set to 'ssl' to use SSL on the connection. -- `SMTP_PORT` (default: *465* for SSL and *25* for non-secure connection) Optional port for SMTP connection. -- `SMTP_AUTHTYPE` (default: *LOGIN*) The method used for authentication. -- `SMTP_NAME` (empty by default) Username for the authentication. -- `SMTP_PASSWORD` (empty by default) Password for the authentication. -- `MAIL_FROM_ADDRESS` (not set by default) Use this address for the 'from' field in the mail envelopes sent by Nextcloud. -- `MAIL_DOMAIN` (not set by default) Set a different domain for the emails than the domain where Nextcloud is installed. +- `SMTP_HOST` (not set by default): The hostname of the SMTP server. +- `SMTP_SECURE` (empty by default): Set to `ssl` to use SSL, or `tls` to use STARTTLS. +- `SMTP_PORT` (default: `465` for SSL and `25` for non-secure connections): Optional port for the SMTP connection. Use `587` for an alternative port for STARTTLS. +- `SMTP_AUTHTYPE` (default: `LOGIN`): The method used for authentication. Use `PLAIN` if no authentication is required. +- `SMTP_NAME` (empty by default): The username for the authentication. +- `SMTP_PASSWORD` (empty by default): The password for the authentication. +- `MAIL_FROM_ADDRESS` (not set by default): Use this address for the 'from' field in the emails sent by Nextcloud. +- `MAIL_DOMAIN` (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed. Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. +To use an external S3 compatible object store as primary storage, set the following variables: + +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + +To use an external OpenStack Swift object store as primary storage, set the following variables: + +- `OBJECTSTORE_SWIFT_URL`: The Swift identity (Keystone) endpoint +- `OBJECTSTORE_SWIFT_AUTOCREATE` (default: `false`): Whether or not Nextcloud should automatically create the Swift container +- `OBJECTSTORE_SWIFT_USER_NAME`: Swift username +- `OBJECTSTORE_SWIFT_USER_PASSWORD`: Swift user password +- `OBJECTSTORE_SWIFT_USER_DOMAIN` (default: `Default`): Swift user domain +- `OBJECTSTORE_SWIFT_PROJECT_NAME`: OpenStack project name +- `OBJECTSTORE_SWIFT_PROJECT_DOMAIN` (default: `Default`): OpenStack project domain +- `OBJECTSTORE_SWIFT_SERVICE_NAME` (default: `swift`): Swift service name +- `OBJECTSTORE_SWIFT_SERVICE_REGION`: Swift endpoint region +- `OBJECTSTORE_SWIFT_CONTAINER_NAME`: Swift container (bucket) that Nextcloud should store the data in + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#openstack-swift) for more information. + ## Using the apache image behind a reverse proxy and auto configure server host and protocol The apache image will replace the remote addr (ip address visible to Nextcloud) with the ip address from `X-Real-IP` if the request is coming from a proxy in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16 by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client ip (`HTTP_X_FORWARDED_FOR`) from a trusted proxy disable rewrite ip and the reverse proxies ip address to `TRUSTED_PROXIES`. @@ -239,15 +264,15 @@ Keep in mind that once set, removing these environment variables won't remove th # Running this image with docker-compose -The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples what you have to look for. +The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. -At first make sure you have chosen the right base image (fpm or apache) and added the features you wanted (see below). In every case you want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet adding HTTPS-encryption is mandatory! See below for more information. +At first, make sure you have chosen the right base image (fpm or apache) and added features you wanted (see below). In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information. ## Base version - apache This version will use the apache image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. -Make sure to set the variables `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` before you run this setup. +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. ```yaml version: '2' @@ -259,8 +284,8 @@ volumes: services: db: image: mariadb - command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - db:/var/lib/mysql environment: @@ -271,24 +296,29 @@ services: app: image: nextcloud + restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html - restart: always + environment: + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db ``` Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. ## Base version - FPM -When using the FPM image you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also need access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). +When using the FPM image, you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also needs access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). -As this setup does **not include encryption** it should to be run behind a proxy. +As this setup does **not include encryption**, it should be run behind a proxy. -Make sure to set the variables `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` before you run this setup. +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. ```yaml version: '2' @@ -300,8 +330,8 @@ volumes: services: db: image: mariadb - command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - db:/var/lib/mysql environment: @@ -312,14 +342,20 @@ services: app: image: nextcloud:fpm + restart: always links: - db volumes: - nextcloud:/var/www/html - restart: always + environment: + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db web: image: nginx + restart: always ports: - 8080:80 links: @@ -328,14 +364,13 @@ services: - ./nginx.conf:/etc/nginx/nginx.conf:ro volumes_from: - app - restart: always ``` Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. # Docker Secrets -As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: +As an alternative to passing sensitive information via environment variables, `_FILE` may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in `/run/secrets/` files. For example: ```yaml version: '3.2' @@ -395,23 +430,23 @@ secrets: file: ./postgres_user.txt # put postgresql username to this file ``` -Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`. +Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER` and `REDIS_HOST_PASSWORD`. # Make your Nextcloud available from the internet -Until here your Nextcloud is just available from you docker host. If you want you Nextcloud available from the internet adding SSL encryption is mandatory. +Until here, your Nextcloud is just available from you docker host. If you want your Nextcloud available from the internet adding SSL encryption is mandatory. ## HTTPS - SSL encryption There are many different possibilities to introduce encryption depending on your setup. -We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution, which generates and renews the certificates for you. +We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution which generates and renews the certificates for you. In our [examples](https://github.com/nextcloud/docker/tree/master/.examples) section we have an example for a fully automated setup using a reverse proxy, a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling, database and Nextcloud. It uses the popular [nginx-proxy](https://github.com/jwilder/nginx-proxy) and [docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers. Please check the according documentations before using this setup. # First use -When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. +When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account username, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. # Update to a newer version @@ -450,21 +485,21 @@ RUN ... The [examples folder](https://github.com/nextcloud/docker/blob/master/.examples) gives a few examples on how to add certain functionalities, like including the cron job, smb-support or imap-authentication. -If you use your own Dockerfile you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) +If you use your own Dockerfile, you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) ```yaml app: build: . + restart: always links: - db volumes: - data:/var/www/html/data - config:/var/www/html/config - apps:/var/www/html/apps - restart: always ``` -If you intend to use another command to run the image. Make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. +If you intend to use another command to run the image, make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. ```yaml FROM nextcloud:apache @@ -497,35 +532,71 @@ The `--pull` option tells docker to look for new versions of the base image. The You're already using Nextcloud and want to switch to docker? Great! Here are some things to look out for: 1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. + 2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) + - To import from a MySQL dump use the following commands + ```console docker cp ./database.dmp nextcloud_db_1:/dmp docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" docker-compose exec db rm /dmp ``` + - To import from a PostgreSQL dump use to following commands + + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` + 3. Edit your config.php 1. Set database connection + - In case of MySQL database + ```php 'dbhost' => 'db:3306', ``` + - In case of PostgreSQL database + + ```php + 'dbhost' => 'db:5432', + ``` + 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these ```php - "apps_paths" => array ( + 'apps_paths' => array ( 0 => array ( - "path" => OC::$SERVERROOT."/apps", - "url" => "/apps", - "writable" => true, + 'path' => OC::$SERVERROOT.'/apps', + 'url' => '/apps', + 'writable' => true, + ), + ), + ``` + + 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable + + ```php + 'apps_paths' => array ( + 0 => array ( + 'path' => '/var/www/html/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => array ( + 'path' => '/var/www/html/custom_apps', + 'url' => '/custom_apps', + 'writable' => true, ), ), ``` - 3. Make sure your data directory is set to /var/www/html/data + 4. Make sure your data directory is set to /var/www/html/data ```php 'datadirectory' => '/var/www/html/data', @@ -534,9 +605,9 @@ You're already using Nextcloud and want to switch to docker? Great! Here are som 4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): ```console - docker cp ./data/ nextcloud_app_1:/var/www/html/data + docker cp ./data/ nextcloud_app_1:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/data - docker cp ./theming/ nextcloud_app_1:/var/www/html/theming + docker cp ./theming/ nextcloud_app_1:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/theming docker cp ./config/config.php nextcloud_app_1:/var/www/html/config docker-compose exec app chown -R www-data:www-data /var/www/html/config @@ -545,7 +616,7 @@ You're already using Nextcloud and want to switch to docker? Great! Here are som 5. Copy only the custom apps you use (or simply redownload them from the web interface): ```console - docker cp ./apps/ nextcloud_data:/var/www/html/custom_apps + docker cp ./custom_apps/ nextcloud_data:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps ``` @@ -563,9 +634,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `nextcloud:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/nextcloud/content.md b/nextcloud/content.md index a8475e02c135..fd2ba2d2f872 100644 --- a/nextcloud/content.md +++ b/nextcloud/content.md @@ -26,23 +26,23 @@ Now you can access Nextcloud at http://localhost:8080/ from your host system. ## Using the fpm image -To use the fpm image you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to you host. +To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host. ```console $ docker run -d %%IMAGE%%:fpm ``` -As the fastCGI-Process is not capable of serving static files (style sheets, images, ...) the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the docker-compose section. +As the fastCGI-Process is not capable of serving static files (style sheets, images, ...), the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the [docker-compose section](#running-this-image-with-docker-compose). ## Using an external database -By default this container uses SQLite for data storage, but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. +By default, this container uses SQLite for data storage but the Nextcloud setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section. ## Persistent data -The Nextcloud installation and all data beyond what lives in the database (file uploads, etc) is stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. +The Nextcloud installation and all data beyond what lives in the database (file uploads, etc.) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted. -A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this you need one volume for your database container and one for Nextcloud. +A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and one for Nextcloud. Nextcloud: @@ -65,7 +65,7 @@ Database: mariadb ``` -If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. The `data`, `config` are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. +If you want to get fine grained access to your individual files, you can mount additional volumes for data, config, your theme and custom apps. The `data`, `config` files are stored in respective subfolders inside `/var/www/html/`. The apps are split into core `apps` (which are shipped with Nextcloud and you don't need to take care of) and a `custom_apps` folder. If you use a custom theme it would go into the `themes` subfolder. Overview of the folders that can be mounted as volumes: @@ -73,9 +73,9 @@ Overview of the folders that can be mounted as volumes: - `/var/www/html/custom_apps` installed / modified apps - `/var/www/html/config` local configuration - `/var/www/html/data` the actual data of your Nextcloud -- `/var/www/html/themes/` theming/branding +- `/var/www/html/themes/` theming/branding -If you want to use named volumes for all of these it would look like this +If you want to use named volumes for all of these, it would look like this: ```console $ docker run -d \ @@ -103,7 +103,7 @@ $ docker-compose exec --user www-data app php occ ## Auto configuration via environment variables -The %%IMAGE%% image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! +The Nextcloud image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type! **SQLite**: @@ -128,39 +128,67 @@ If you set any values, they will not be asked in the install page on first run. - `NEXTCLOUD_ADMIN_USER` Name of the Nextcloud admin user. - `NEXTCLOUD_ADMIN_PASSWORD` Password for the Nextcloud admin user. -If you want you can set the data directory and table prefix, otherwise default values will be used. +If you want, you can set the data directory, otherwise default value will be used. -- `NEXTCLOUD_DATA_DIR` (default: */var/www/html/data*) Configures the data directory where nextcloud stores all files from the users. -- `NEXTCLOUD_TABLE_PREFIX` (default: *""*) Optional prefix for the tables. Used to be `oc_` in the past +- `NEXTCLOUD_DATA_DIR` (default: `/var/www/html/data`) Configures the data directory where nextcloud stores all files from the users. -One or more trusted domains can be set by environment variable, too. They will be added to the configuration after install. +One or more trusted domains can be set through environment variable, too. They will be added to the configuration after install. - `NEXTCLOUD_TRUSTED_DOMAINS` (not set by default) Optional space-separated list of domains The install and update script is only triggered when a default command is used (`apache-foreground` or `php-fpm`). If you use a custom command you have to enable the install / update with -- `NEXTCLOUD_UPDATE` (default: *0*) +- `NEXTCLOUD_UPDATE` (default: `0`) -If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container add: +If you want to use Redis you have to create a separate [Redis](https://hub.docker.com/_/redis/) container in your setup / in your docker-compose file. To inform Nextcloud about the Redis container, pass in the following parameters: - `REDIS_HOST` (not set by default) Name of Redis container -- `REDIS_HOST_PORT` (default: *6379*) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PORT` (default: `6379`) Optional port for Redis, only use for external Redis servers that run on non-standard ports. +- `REDIS_HOST_PASSWORD` (not set by default) Redis password The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. -To use a external SMTP server you have to provide the connection details. To configure Nextcloud to use SMTP add: +To use an external SMTP server, you have to provide the connection details. To configure Nextcloud to use SMTP add: -- `SMTP_HOST` (not set by default) hostname of the SMTP server -- `SMTP_SECURE` (empty by default) set to 'ssl' to use SSL on the connection. -- `SMTP_PORT` (default: *465* for SSL and *25* for non-secure connection) Optional port for SMTP connection. -- `SMTP_AUTHTYPE` (default: *LOGIN*) The method used for authentication. -- `SMTP_NAME` (empty by default) Username for the authentication. -- `SMTP_PASSWORD` (empty by default) Password for the authentication. -- `MAIL_FROM_ADDRESS` (not set by default) Use this address for the 'from' field in the mail envelopes sent by Nextcloud. -- `MAIL_DOMAIN` (not set by default) Set a different domain for the emails than the domain where Nextcloud is installed. +- `SMTP_HOST` (not set by default): The hostname of the SMTP server. +- `SMTP_SECURE` (empty by default): Set to `ssl` to use SSL, or `tls` to use STARTTLS. +- `SMTP_PORT` (default: `465` for SSL and `25` for non-secure connections): Optional port for the SMTP connection. Use `587` for an alternative port for STARTTLS. +- `SMTP_AUTHTYPE` (default: `LOGIN`): The method used for authentication. Use `PLAIN` if no authentication is required. +- `SMTP_NAME` (empty by default): The username for the authentication. +- `SMTP_PASSWORD` (empty by default): The password for the authentication. +- `MAIL_FROM_ADDRESS` (not set by default): Use this address for the 'from' field in the emails sent by Nextcloud. +- `MAIL_DOMAIN` (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed. Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. +To use an external S3 compatible object store as primary storage, set the following variables: + +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + +To use an external OpenStack Swift object store as primary storage, set the following variables: + +- `OBJECTSTORE_SWIFT_URL`: The Swift identity (Keystone) endpoint +- `OBJECTSTORE_SWIFT_AUTOCREATE` (default: `false`): Whether or not Nextcloud should automatically create the Swift container +- `OBJECTSTORE_SWIFT_USER_NAME`: Swift username +- `OBJECTSTORE_SWIFT_USER_PASSWORD`: Swift user password +- `OBJECTSTORE_SWIFT_USER_DOMAIN` (default: `Default`): Swift user domain +- `OBJECTSTORE_SWIFT_PROJECT_NAME`: OpenStack project name +- `OBJECTSTORE_SWIFT_PROJECT_DOMAIN` (default: `Default`): OpenStack project domain +- `OBJECTSTORE_SWIFT_SERVICE_NAME` (default: `swift`): Swift service name +- `OBJECTSTORE_SWIFT_SERVICE_REGION`: Swift endpoint region +- `OBJECTSTORE_SWIFT_CONTAINER_NAME`: Swift container (bucket) that Nextcloud should store the data in + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#openstack-swift) for more information. + ## Using the apache image behind a reverse proxy and auto configure server host and protocol The apache image will replace the remote addr (ip address visible to Nextcloud) with the ip address from `X-Real-IP` if the request is coming from a proxy in 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16 by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client ip (`HTTP_X_FORWARDED_FOR`) from a trusted proxy disable rewrite ip and the reverse proxies ip address to `TRUSTED_PROXIES`. @@ -181,15 +209,15 @@ Keep in mind that once set, removing these environment variables won't remove th # Running this image with docker-compose -The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples what you have to look for. +The easiest way to get a fully featured and functional setup is using a `docker-compose` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. -At first make sure you have chosen the right base image (fpm or apache) and added the features you wanted (see below). In every case you want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet adding HTTPS-encryption is mandatory! See below for more information. +At first, make sure you have chosen the right base image (fpm or apache) and added features you wanted (see below). In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information. ## Base version - apache This version will use the apache image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy. -Make sure to set the variables `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` before you run this setup. +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. ```yaml version: '2' @@ -201,8 +229,8 @@ volumes: services: db: image: mariadb - command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - db:/var/lib/mysql environment: @@ -213,24 +241,29 @@ services: app: image: %%IMAGE%% + restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html - restart: always + environment: + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db ``` Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. ## Base version - FPM -When using the FPM image you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also need access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). +When using the FPM image, you need another container that acts as web server on port 80 and proxies the requests to the Nextcloud container. In this example a simple nginx container is combined with the Nextcloud-fpm image and a MariaDB database container. The data is stored in docker volumes. The nginx container also needs access to static files from your Nextcloud installation. It gets access to all the volumes mounted to Nextcloud via the `volumes_from` option.The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container. An example can be found in the examples section [here](https://github.com/nextcloud/docker/tree/master/.examples). -As this setup does **not include encryption** it should to be run behind a proxy. +As this setup does **not include encryption**, it should be run behind a proxy. -Make sure to set the variables `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` before you run this setup. +Make sure to pass in values for `MYSQL_ROOT_PASSWORD` and `MYSQL_PASSWORD` variables before you run this setup. ```yaml version: '2' @@ -242,8 +275,8 @@ volumes: services: db: image: mariadb - command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - db:/var/lib/mysql environment: @@ -254,14 +287,20 @@ services: app: image: %%IMAGE%%:fpm + restart: always links: - db volumes: - nextcloud:/var/www/html - restart: always + environment: + - MYSQL_PASSWORD= + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db web: image: nginx + restart: always ports: - 8080:80 links: @@ -270,14 +309,13 @@ services: - ./nginx.conf:/etc/nginx/nginx.conf:ro volumes_from: - app - restart: always ``` Then run `docker-compose up -d`, now you can access Nextcloud at http://localhost:8080/ from your host system. # Docker Secrets -As an alternative to passing sensitive information via environment variables, _FILE may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in /run/secrets/ files. For example: +As an alternative to passing sensitive information via environment variables, `_FILE` may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in `/run/secrets/` files. For example: ```yaml version: '3.2' @@ -337,23 +375,23 @@ secrets: file: ./postgres_user.txt # put postgresql username to this file ``` -Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`. +Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DB`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER` and `REDIS_HOST_PASSWORD`. # Make your Nextcloud available from the internet -Until here your Nextcloud is just available from you docker host. If you want you Nextcloud available from the internet adding SSL encryption is mandatory. +Until here, your Nextcloud is just available from you docker host. If you want your Nextcloud available from the internet adding SSL encryption is mandatory. ## HTTPS - SSL encryption There are many different possibilities to introduce encryption depending on your setup. -We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution, which generates and renews the certificates for you. +We recommend using a reverse proxy in front of our Nextcloud installation. Your Nextcloud will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution which generates and renews the certificates for you. In our [examples](https://github.com/nextcloud/docker/tree/master/.examples) section we have an example for a fully automated setup using a reverse proxy, a container for [Let's Encrypt](https://letsencrypt.org/) certificate handling, database and Nextcloud. It uses the popular [nginx-proxy](https://github.com/jwilder/nginx-proxy) and [docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) containers. Please check the according documentations before using this setup. # First use -When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. +When you first access your Nextcloud, the setup wizard will appear and ask you to choose an administrator account username, password and the database connection. For the database use `db` as host and `nextcloud` as table and user name. Also enter the password you chose in your `docker-compose.yml` file. # Update to a newer version @@ -392,21 +430,21 @@ RUN ... The [examples folder](https://github.com/nextcloud/docker/blob/master/.examples) gives a few examples on how to add certain functionalities, like including the cron job, smb-support or imap-authentication. -If you use your own Dockerfile you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) +If you use your own Dockerfile, you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file) ```yaml app: build: . + restart: always links: - db volumes: - data:/var/www/html/data - config:/var/www/html/config - apps:/var/www/html/apps - restart: always ``` -If you intend to use another command to run the image. Make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. +If you intend to use another command to run the image, make sure that you set `NEXTCLOUD_UPDATE=1` in your Dockerfile. Otherwise the installation and update will not work. ```yaml FROM nextcloud:apache @@ -439,35 +477,71 @@ The `--pull` option tells docker to look for new versions of the base image. The You're already using Nextcloud and want to switch to docker? Great! Here are some things to look out for: 1. Define your whole Nextcloud infrastructure in a `docker-compose` file and run it with `docker-compose up -d` to get the base installation, volumes and database. Work from there. + 2. Restore your database from a mysqldump (nextcloud\_db\_1 is the name of your db container) + - To import from a MySQL dump use the following commands + ```console docker cp ./database.dmp nextcloud_db_1:/dmp docker-compose exec db sh -c "mysql -u USER -pPASSWORD nextcloud < /dmp" docker-compose exec db rm /dmp ``` + - To import from a PostgreSQL dump use to following commands + + ```console + docker cp ./database.dmp nextcloud_db_1:/dmp + docker-compose exec db sh -c "psql -U USER --set ON_ERROR_STOP=on nextcloud < /dmp" + docker-compose exec db rm /dmp + ``` + 3. Edit your config.php 1. Set database connection + - In case of MySQL database + ```php 'dbhost' => 'db:3306', ``` + - In case of PostgreSQL database + + ```php + 'dbhost' => 'db:5432', + ``` + 2. Make sure you have no configuration for the `apps_paths`. Delete lines like these ```php - "apps_paths" => array ( + 'apps_paths' => array ( 0 => array ( - "path" => OC::$SERVERROOT."/apps", - "url" => "/apps", - "writable" => true, + 'path' => OC::$SERVERROOT.'/apps', + 'url' => '/apps', + 'writable' => true, + ), + ), + ``` + + 3. Make sure to have the `apps` directory non writable and the `custom_apps` directory writable + + ```php + 'apps_paths' => array ( + 0 => array ( + 'path' => '/var/www/html/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => array ( + 'path' => '/var/www/html/custom_apps', + 'url' => '/custom_apps', + 'writable' => true, ), ), ``` - 3. Make sure your data directory is set to /var/www/html/data + 4. Make sure your data directory is set to /var/www/html/data ```php 'datadirectory' => '/var/www/html/data', @@ -476,9 +550,9 @@ You're already using Nextcloud and want to switch to docker? Great! Here are som 4. Copy your data (nextcloud_app_1 is the name of your Nextcloud container): ```console - docker cp ./data/ nextcloud_app_1:/var/www/html/data + docker cp ./data/ nextcloud_app_1:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/data - docker cp ./theming/ nextcloud_app_1:/var/www/html/theming + docker cp ./theming/ nextcloud_app_1:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/theming docker cp ./config/config.php nextcloud_app_1:/var/www/html/config docker-compose exec app chown -R www-data:www-data /var/www/html/config @@ -487,7 +561,7 @@ You're already using Nextcloud and want to switch to docker? Great! Here are som 5. Copy only the custom apps you use (or simply redownload them from the web interface): ```console - docker cp ./apps/ nextcloud_data:/var/www/html/custom_apps + docker cp ./custom_apps/ nextcloud_data:/var/www/html/ docker-compose exec app chown -R www-data:www-data /var/www/html/custom_apps ``` diff --git a/nginx/README.md b/nginx/README.md index 473b311db076..3b329d4f198d 100644 --- a/nginx/README.md +++ b/nginx/README.md @@ -20,18 +20,18 @@ WARNING: [the NGINX Docker Maintainers](https://github.com/nginxinc/docker-nginx) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.17.10`, `mainline`, `1`, `1.17`, `latest`](https://github.com/nginxinc/docker-nginx/blob/594ce7a8bc26c85af88495ac94d5cd0096b306f7/mainline/buster/Dockerfile) -- [`1.17.10-perl`, `mainline-perl`, `1-perl`, `1.17-perl`, `perl`](https://github.com/nginxinc/docker-nginx/blob/594ce7a8bc26c85af88495ac94d5cd0096b306f7/mainline/buster-perl/Dockerfile) -- [`1.17.10-alpine`, `mainline-alpine`, `1-alpine`, `1.17-alpine`, `alpine`](https://github.com/nginxinc/docker-nginx/blob/594ce7a8bc26c85af88495ac94d5cd0096b306f7/mainline/alpine/Dockerfile) -- [`1.17.10-alpine-perl`, `mainline-alpine-perl`, `1-alpine-perl`, `1.17-alpine-perl`, `alpine-perl`](https://github.com/nginxinc/docker-nginx/blob/594ce7a8bc26c85af88495ac94d5cd0096b306f7/mainline/alpine-perl/Dockerfile) -- [`1.18.0`, `stable`, `1.18`](https://github.com/nginxinc/docker-nginx/blob/70e44865208627c5ada57242b46920205603c096/stable/buster/Dockerfile) -- [`1.18.0-perl`, `stable-perl`, `1.18-perl`](https://github.com/nginxinc/docker-nginx/blob/70e44865208627c5ada57242b46920205603c096/stable/buster-perl/Dockerfile) -- [`1.18.0-alpine`, `stable-alpine`, `1.18-alpine`](https://github.com/nginxinc/docker-nginx/blob/70e44865208627c5ada57242b46920205603c096/stable/alpine/Dockerfile) -- [`1.18.0-alpine-perl`, `stable-alpine-perl`, `1.18-alpine-perl`](https://github.com/nginxinc/docker-nginx/blob/70e44865208627c5ada57242b46920205603c096/stable/alpine-perl/Dockerfile) +- [`1.19.10`, `mainline`, `1`, `1.19`, `latest`](https://github.com/nginxinc/docker-nginx/blob/464886ab21ebe4b036ceb36d7557bf491f6d9320/mainline/debian/Dockerfile) +- [`1.19.10-perl`, `mainline-perl`, `1-perl`, `1.19-perl`, `perl`](https://github.com/nginxinc/docker-nginx/blob/464886ab21ebe4b036ceb36d7557bf491f6d9320/mainline/debian-perl/Dockerfile) +- [`1.19.10-alpine`, `mainline-alpine`, `1-alpine`, `1.19-alpine`, `alpine`](https://github.com/nginxinc/docker-nginx/blob/464886ab21ebe4b036ceb36d7557bf491f6d9320/mainline/alpine/Dockerfile) +- [`1.19.10-alpine-perl`, `mainline-alpine-perl`, `1-alpine-perl`, `1.19-alpine-perl`, `alpine-perl`](https://github.com/nginxinc/docker-nginx/blob/464886ab21ebe4b036ceb36d7557bf491f6d9320/mainline/alpine-perl/Dockerfile) +- [`1.20.0`, `stable`, `1.20`](https://github.com/nginxinc/docker-nginx/blob/ab8516ed3a212d8a03392567c8f55c570c839e59/stable/debian/Dockerfile) +- [`1.20.0-perl`, `stable-perl`, `1.20-perl`](https://github.com/nginxinc/docker-nginx/blob/ab8516ed3a212d8a03392567c8f55c570c839e59/stable/debian-perl/Dockerfile) +- [`1.20.0-alpine`, `stable-alpine`, `1.20-alpine`](https://github.com/nginxinc/docker-nginx/blob/ab8516ed3a212d8a03392567c8f55c570c839e59/stable/alpine/Dockerfile) +- [`1.20.0-alpine-perl`, `stable-alpine-perl`, `1.20-alpine-perl`](https://github.com/nginxinc/docker-nginx/blob/ab8516ed3a212d8a03392567c8f55c570c839e59/stable/alpine-perl/Dockerfile) # Quick reference (cont.) @@ -39,14 +39,14 @@ WARNING: [https://github.com/nginxinc/docker-nginx/issues](https://github.com/nginxinc/docker-nginx/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/nginx/), [`arm32v6`](https://hub.docker.com/r/arm32v6/nginx/), [`arm32v7`](https://hub.docker.com/r/arm32v7/nginx/), [`arm64v8`](https://hub.docker.com/r/arm64v8/nginx/), [`i386`](https://hub.docker.com/r/i386/nginx/), [`ppc64le`](https://hub.docker.com/r/ppc64le/nginx/), [`s390x`](https://hub.docker.com/r/s390x/nginx/) + [`amd64`](https://hub.docker.com/r/amd64/nginx/), [`arm32v5`](https://hub.docker.com/r/arm32v5/nginx/), [`arm32v6`](https://hub.docker.com/r/arm32v6/nginx/), [`arm32v7`](https://hub.docker.com/r/arm32v7/nginx/), [`arm64v8`](https://hub.docker.com/r/arm64v8/nginx/), [`i386`](https://hub.docker.com/r/i386/nginx/), [`mips64le`](https://hub.docker.com/r/mips64le/nginx/), [`ppc64le`](https://hub.docker.com/r/ppc64le/nginx/), [`s390x`](https://hub.docker.com/r/s390x/nginx/) - **Published image artifact details**: [repo-info repo's `repos/nginx/` directory](https://github.com/docker-library/repo-info/blob/master/repos/nginx) ([history](https://github.com/docker-library/repo-info/commits/master/repos/nginx)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/nginx`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnginx) + [official-images repo's `library/nginx` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnginx) [official-images repo's `library/nginx` file](https://github.com/docker-library/official-images/blob/master/library/nginx) ([history](https://github.com/docker-library/official-images/commits/master/library/nginx)) - **Source of this description**: @@ -120,9 +120,9 @@ Then build the image with `docker build -t custom-nginx .` and run it as follows $ docker run --name my-custom-nginx-container -d custom-nginx ``` -### Using environment variables in nginx configuration +### Using environment variables in nginx configuration (new in 1.19) -Out-of-the-box, nginx doesn't support environment variables inside most configuration blocks. But `envsubst` may be used as a workaround if you need to generate your nginx configuration dynamically before nginx starts. +Out-of-the-box, nginx doesn't support environment variables inside most configuration blocks. But this image has a function, which will extract environment variables before nginx starts. Here is an example using docker-compose.yml: @@ -130,19 +130,37 @@ Here is an example using docker-compose.yml: web: image: nginx volumes: - - ./mysite.template:/etc/nginx/conf.d/mysite.template + - ./templates:/etc/nginx/templates ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80 - command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'" ``` -The `mysite.template` file may then contain variable references like this: +By default, this function reads template files in `/etc/nginx/templates/*.template` and outputs the result of executing `envsubst` to `/etc/nginx/conf.d`. -`listen ${NGINX_PORT}; -` +So if you place `templates/default.conf.template` file, which contains variable references like this: + + listen ${NGINX_PORT}; + +outputs to `/etc/nginx/conf.d/default.conf` like this: + + listen 80; + +This behavior can be changed via the following environment variables: + +- `NGINX_ENVSUBST_TEMPLATE_DIR` + - A directory which contains template files (default: `/etc/nginx/templates`) + - When this directory doesn't exist, this function will do nothing about template processing. +- `NGINX_ENVSUBST_TEMPLATE_SUFFIX` + - A suffix of template files (default: `.template`) + - This function only processes the files whose name ends with this suffix. +- `NGINX_ENVSUBST_OUTPUT_DIR` + - A directory where the result of executing envsubst is output (default: `/etc/nginx/conf.d`) + - The output filename is the template filename with the suffix removed. + - ex.) `/etc/nginx/templates/default.conf.template` will be output with the filename `/etc/nginx/conf.d/default.conf`. + - This directory must be writable by the user running a container. ## Running nginx in read-only mode @@ -172,6 +190,14 @@ web: command: [nginx-debug, '-g', 'daemon off;'] ``` +## Entrypoint quiet logs + +Since version 1.19.0, a verbose entrypoint was added. It provides information on what's happening during container startup. You can silence this output by setting environment variable `NGINX_ENTRYPOINT_QUIET_LOGS`: + +```console +$ docker run -d -e NGINX_ENTRYPOINT_QUIET_LOGS=1 nginx +``` + ## User and group id Since 1.17.0, both alpine- and debian-based images variants use the same user and group ids to drop the privileges for worker processes: @@ -228,9 +254,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `nginx:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/nginx/content.md b/nginx/content.md index 8d8a26003eeb..2da5b07bebac 100644 --- a/nginx/content.md +++ b/nginx/content.md @@ -66,9 +66,9 @@ Then build the image with `docker build -t custom-nginx .` and run it as follows $ docker run --name my-custom-nginx-container -d custom-nginx ``` -### Using environment variables in %%IMAGE%% configuration +### Using environment variables in %%IMAGE%% configuration (new in 1.19) -Out-of-the-box, %%IMAGE%% doesn't support environment variables inside most configuration blocks. But `envsubst` may be used as a workaround if you need to generate your %%IMAGE%% configuration dynamically before %%IMAGE%% starts. +Out-of-the-box, %%IMAGE%% doesn't support environment variables inside most configuration blocks. But this image has a function, which will extract environment variables before %%IMAGE%% starts. Here is an example using docker-compose.yml: @@ -76,19 +76,37 @@ Here is an example using docker-compose.yml: web: image: %%IMAGE%% volumes: - - ./mysite.template:/etc/nginx/conf.d/mysite.template + - ./templates:/etc/nginx/templates ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80 - command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'" ``` -The `mysite.template` file may then contain variable references like this: +By default, this function reads template files in `/etc/nginx/templates/*.template` and outputs the result of executing `envsubst` to `/etc/nginx/conf.d`. -`listen ${NGINX_PORT}; -` +So if you place `templates/default.conf.template` file, which contains variable references like this: + + listen ${NGINX_PORT}; + +outputs to `/etc/nginx/conf.d/default.conf` like this: + + listen 80; + +This behavior can be changed via the following environment variables: + +- `NGINX_ENVSUBST_TEMPLATE_DIR` + - A directory which contains template files (default: `/etc/nginx/templates`) + - When this directory doesn't exist, this function will do nothing about template processing. +- `NGINX_ENVSUBST_TEMPLATE_SUFFIX` + - A suffix of template files (default: `.template`) + - This function only processes the files whose name ends with this suffix. +- `NGINX_ENVSUBST_OUTPUT_DIR` + - A directory where the result of executing envsubst is output (default: `/etc/nginx/conf.d`) + - The output filename is the template filename with the suffix removed. + - ex.) `/etc/nginx/templates/default.conf.template` will be output with the filename `/etc/nginx/conf.d/default.conf`. + - This directory must be writable by the user running a container. ## Running %%IMAGE%% in read-only mode @@ -118,6 +136,14 @@ web: command: [nginx-debug, '-g', 'daemon off;'] ``` +## Entrypoint quiet logs + +Since version 1.19.0, a verbose entrypoint was added. It provides information on what's happening during container startup. You can silence this output by setting environment variable `NGINX_ENTRYPOINT_QUIET_LOGS`: + +```console +$ docker run -d -e NGINX_ENTRYPOINT_QUIET_LOGS=1 %%IMAGE%% +``` + ## User and group id Since 1.17.0, both alpine- and debian-based images variants use the same user and group ids to drop the privileges for worker processes: diff --git a/node/README.md b/node/README.md index 6b664c5e4a5e..00efcfcce294 100644 --- a/node/README.md +++ b/node/README.md @@ -20,38 +20,46 @@ WARNING: [The Node.js Docker Team](https://github.com/nodejs/docker-node) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`14.3.0-stretch`, `14.3-stretch`, `14-stretch`, `stretch`, `current-stretch`, `14.3.0`, `14.3`, `14`, `latest`, `current`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/stretch/Dockerfile) -- [`14.3.0-stretch-slim`, `14.3-stretch-slim`, `14-stretch-slim`, `stretch-slim`, `current-stretch-slim`, `14.3.0-slim`, `14.3-slim`, `14-slim`, `slim`, `current-slim`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/stretch-slim/Dockerfile) -- [`14.3.0-buster`, `14.3-buster`, `14-buster`, `buster`, `current-buster`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/buster/Dockerfile) -- [`14.3.0-buster-slim`, `14.3-buster-slim`, `14-buster-slim`, `buster-slim`, `current-buster-slim`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/buster-slim/Dockerfile) -- [`14.3.0-alpine3.10`, `14.3-alpine3.10`, `14-alpine3.10`, `alpine3.10`, `current-alpine3.10`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/alpine3.10/Dockerfile) -- [`14.3.0-alpine3.11`, `14.3-alpine3.11`, `14-alpine3.11`, `alpine3.11`, `current-alpine3.11`, `14.3.0-alpine`, `14.3-alpine`, `14-alpine`, `alpine`, `current-alpine`](https://github.com/nodejs/docker-node/blob/2f7f7ebce71a98dd8fe2182a0adf8f6db952ca80/14/alpine3.11/Dockerfile) -- [`13.14.0-stretch`, `13.14-stretch`, `13-stretch`, `13.14.0`, `13.14`, `13`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/stretch/Dockerfile) -- [`13.14.0-stretch-slim`, `13.14-stretch-slim`, `13-stretch-slim`, `13.14.0-slim`, `13.14-slim`, `13-slim`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/stretch-slim/Dockerfile) -- [`13.14.0-buster`, `13.14-buster`, `13-buster`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/buster/Dockerfile) -- [`13.14.0-buster-slim`, `13.14-buster-slim`, `13-buster-slim`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/buster-slim/Dockerfile) -- [`13.14.0-alpine3.10`, `13.14-alpine3.10`, `13-alpine3.10`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/alpine3.10/Dockerfile) -- [`13.14.0-alpine3.11`, `13.14-alpine3.11`, `13-alpine3.11`, `13.14.0-alpine`, `13.14-alpine`, `13-alpine`](https://github.com/nodejs/docker-node/blob/bf9fb2d1126062e27d0b763674064bb17da4718c/13/alpine3.11/Dockerfile) -- [`12.17.0-stretch`, `12.17-stretch`, `12-stretch`, `erbium-stretch`, `lts-stretch`, `12.17.0`, `12.17`, `12`, `erbium`, `lts`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/stretch/Dockerfile) -- [`12.17.0-stretch-slim`, `12.17-stretch-slim`, `12-stretch-slim`, `erbium-stretch-slim`, `lts-stretch-slim`, `12.17.0-slim`, `12.17-slim`, `12-slim`, `erbium-slim`, `lts-slim`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/stretch-slim/Dockerfile) -- [`12.17.0-buster`, `12.17-buster`, `12-buster`, `erbium-buster`, `lts-buster`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/buster/Dockerfile) -- [`12.17.0-buster-slim`, `12.17-buster-slim`, `12-buster-slim`, `erbium-buster-slim`, `lts-buster-slim`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/buster-slim/Dockerfile) -- [`12.17.0-alpine3.9`, `12.17-alpine3.9`, `12-alpine3.9`, `erbium-alpine3.9`, `lts-alpine3.9`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/alpine3.9/Dockerfile) -- [`12.17.0-alpine3.10`, `12.17-alpine3.10`, `12-alpine3.10`, `erbium-alpine3.10`, `lts-alpine3.10`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/alpine3.10/Dockerfile) -- [`12.17.0-alpine3.11`, `12.17-alpine3.11`, `12-alpine3.11`, `erbium-alpine3.11`, `lts-alpine3.11`, `12.17.0-alpine`, `12.17-alpine`, `12-alpine`, `erbium-alpine`, `lts-alpine`](https://github.com/nodejs/docker-node/blob/58bfdf5b81f821cf8f219c06c4dcf09eedbc95a2/12/alpine3.11/Dockerfile) -- [`10.20.1-jessie`, `10.20-jessie`, `10-jessie`, `dubnium-jessie`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/jessie/Dockerfile) -- [`10.20.1-jessie-slim`, `10.20-jessie-slim`, `10-jessie-slim`, `dubnium-jessie-slim`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/jessie-slim/Dockerfile) -- [`10.20.1-stretch`, `10.20-stretch`, `10-stretch`, `dubnium-stretch`, `10.20.1`, `10.20`, `10`, `dubnium`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/stretch/Dockerfile) -- [`10.20.1-stretch-slim`, `10.20-stretch-slim`, `10-stretch-slim`, `dubnium-stretch-slim`, `10.20.1-slim`, `10.20-slim`, `10-slim`, `dubnium-slim`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/stretch-slim/Dockerfile) -- [`10.20.1-buster`, `10.20-buster`, `10-buster`, `dubnium-buster`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/buster/Dockerfile) -- [`10.20.1-buster-slim`, `10.20-buster-slim`, `10-buster-slim`, `dubnium-buster-slim`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/buster-slim/Dockerfile) -- [`10.20.1-alpine3.9`, `10.20-alpine3.9`, `10-alpine3.9`, `dubnium-alpine3.9`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/alpine3.9/Dockerfile) -- [`10.20.1-alpine3.10`, `10.20-alpine3.10`, `10-alpine3.10`, `dubnium-alpine3.10`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/alpine3.10/Dockerfile) -- [`10.20.1-alpine3.11`, `10.20-alpine3.11`, `10-alpine3.11`, `dubnium-alpine3.11`, `10.20.1-alpine`, `10.20-alpine`, `10-alpine`, `dubnium-alpine`](https://github.com/nodejs/docker-node/blob/d071b895dd1b8da6c566f45b971825fe5b087b21/10/alpine3.11/Dockerfile) +- [`16-alpine3.11`, `16.0-alpine3.11`, `16.0.0-alpine3.11`, `alpine3.11`, `current-alpine3.11`](https://github.com/nodejs/docker-node/blob/f0551c9eb5e0dbb853eda4266bc0964e5989bda1/16/alpine3.11/Dockerfile) +- [`16-alpine3.12`, `16.0-alpine3.12`, `16.0.0-alpine3.12`, `alpine3.12`, `current-alpine3.12`](https://github.com/nodejs/docker-node/blob/f0551c9eb5e0dbb853eda4266bc0964e5989bda1/16/alpine3.12/Dockerfile) +- [`16-alpine`, `16-alpine3.13`, `16.0-alpine`, `16.0-alpine3.13`, `16.0.0-alpine`, `16.0.0-alpine3.13`, `alpine`, `alpine3.13`, `current-alpine`, `current-alpine3.13`](https://github.com/nodejs/docker-node/blob/f0551c9eb5e0dbb853eda4266bc0964e5989bda1/16/alpine3.13/Dockerfile) +- [`16`, `16-buster`, `16.0`, `16.0-buster`, `16.0.0`, `16.0.0-buster`, `buster`, `current`, `current-buster`, `latest`](https://github.com/nodejs/docker-node/blob/2438859c181e4e9e5c4a7ad8e4a54ef69aeefbf3/16/buster/Dockerfile) +- [`16-buster-slim`, `16-slim`, `16.0-buster-slim`, `16.0-slim`, `16.0.0-buster-slim`, `16.0.0-slim`, `buster-slim`, `current-buster-slim`, `current-slim`, `slim`](https://github.com/nodejs/docker-node/blob/2438859c181e4e9e5c4a7ad8e4a54ef69aeefbf3/16/buster-slim/Dockerfile) +- [`16-stretch`, `16.0-stretch`, `16.0.0-stretch`, `current-stretch`, `stretch`](https://github.com/nodejs/docker-node/blob/2438859c181e4e9e5c4a7ad8e4a54ef69aeefbf3/16/stretch/Dockerfile) +- [`16-stretch-slim`, `16.0-stretch-slim`, `16.0.0-stretch-slim`, `current-stretch-slim`, `stretch-slim`](https://github.com/nodejs/docker-node/blob/2438859c181e4e9e5c4a7ad8e4a54ef69aeefbf3/16/stretch-slim/Dockerfile) +- [`15-alpine3.10`, `15.14-alpine3.10`, `15.14.0-alpine3.10`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/alpine3.10/Dockerfile) +- [`15-alpine`, `15-alpine3.11`, `15.14-alpine`, `15.14-alpine3.11`, `15.14.0-alpine`, `15.14.0-alpine3.11`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/alpine3.11/Dockerfile) +- [`15-alpine3.12`, `15.14-alpine3.12`, `15.14.0-alpine3.12`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/alpine3.12/Dockerfile) +- [`15-alpine3.13`, `15.14-alpine3.13`, `15.14.0-alpine3.13`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/alpine3.13/Dockerfile) +- [`15-buster`, `15.14-buster`, `15.14.0-buster`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/buster/Dockerfile) +- [`15-buster-slim`, `15.14-buster-slim`, `15.14.0-buster-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/buster-slim/Dockerfile) +- [`15`, `15-stretch`, `15.14`, `15.14-stretch`, `15.14.0`, `15.14.0-stretch`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/stretch/Dockerfile) +- [`15-slim`, `15-stretch-slim`, `15.14-slim`, `15.14-stretch-slim`, `15.14.0-slim`, `15.14.0-stretch-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/15/stretch-slim/Dockerfile) +- [`14-alpine3.10`, `14.16-alpine3.10`, `14.16.1-alpine3.10`, `fermium-alpine3.10`, `lts-alpine3.10`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/alpine3.10/Dockerfile) +- [`14-alpine`, `14-alpine3.11`, `14.16-alpine`, `14.16-alpine3.11`, `14.16.1-alpine`, `14.16.1-alpine3.11`, `fermium-alpine`, `fermium-alpine3.11`, `lts-alpine`, `lts-alpine3.11`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/alpine3.11/Dockerfile) +- [`14-alpine3.12`, `14.16-alpine3.12`, `14.16.1-alpine3.12`, `fermium-alpine3.12`, `lts-alpine3.12`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/alpine3.12/Dockerfile) +- [`14-alpine3.13`, `14.16-alpine3.13`, `14.16.1-alpine3.13`, `fermium-alpine3.13`, `lts-alpine3.13`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/alpine3.13/Dockerfile) +- [`14-buster`, `14.16-buster`, `14.16.1-buster`, `fermium-buster`, `lts-buster`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/buster/Dockerfile) +- [`14-buster-slim`, `14.16-buster-slim`, `14.16.1-buster-slim`, `fermium-buster-slim`, `lts-buster-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/buster-slim/Dockerfile) +- [`14`, `14-stretch`, `14.16`, `14.16-stretch`, `14.16.1`, `14.16.1-stretch`, `fermium`, `fermium-stretch`, `lts`, `lts-fermium`, `lts-stretch`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/stretch/Dockerfile) +- [`14-slim`, `14-stretch-slim`, `14.16-slim`, `14.16-stretch-slim`, `14.16.1-slim`, `14.16.1-stretch-slim`, `fermium-slim`, `fermium-stretch-slim`, `lts-slim`, `lts-stretch-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/14/stretch-slim/Dockerfile) +- [`12-alpine3.10`, `12.22-alpine3.10`, `12.22.1-alpine3.10`, `erbium-alpine3.10`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/alpine3.10/Dockerfile) +- [`12-alpine`, `12-alpine3.11`, `12.22-alpine`, `12.22-alpine3.11`, `12.22.1-alpine`, `12.22.1-alpine3.11`, `erbium-alpine`, `erbium-alpine3.11`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/alpine3.11/Dockerfile) +- [`12-alpine3.12`, `12.22-alpine3.12`, `12.22.1-alpine3.12`, `erbium-alpine3.12`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/alpine3.12/Dockerfile) +- [`12-buster`, `12.22-buster`, `12.22.1-buster`, `erbium-buster`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/buster/Dockerfile) +- [`12-buster-slim`, `12.22-buster-slim`, `12.22.1-buster-slim`, `erbium-buster-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/buster-slim/Dockerfile) +- [`12`, `12-stretch`, `12.22`, `12.22-stretch`, `12.22.1`, `12.22.1-stretch`, `erbium`, `erbium-stretch`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/stretch/Dockerfile) +- [`12-slim`, `12-stretch-slim`, `12.22-slim`, `12.22-stretch-slim`, `12.22.1-slim`, `12.22.1-stretch-slim`, `erbium-slim`, `erbium-stretch-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/12/stretch-slim/Dockerfile) +- [`10-alpine3.10`, `10.24-alpine3.10`, `10.24.1-alpine3.10`, `dubnium-alpine3.10`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/alpine3.10/Dockerfile) +- [`10-alpine`, `10-alpine3.11`, `10.24-alpine`, `10.24-alpine3.11`, `10.24.1-alpine`, `10.24.1-alpine3.11`, `dubnium-alpine`, `dubnium-alpine3.11`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/alpine3.11/Dockerfile) +- [`10-buster`, `10.24-buster`, `10.24.1-buster`, `dubnium-buster`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/buster/Dockerfile) +- [`10-buster-slim`, `10.24-buster-slim`, `10.24.1-buster-slim`, `dubnium-buster-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/buster-slim/Dockerfile) +- [`10`, `10-stretch`, `10.24`, `10.24-stretch`, `10.24.1`, `10.24.1-stretch`, `dubnium`, `dubnium-stretch`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/stretch/Dockerfile) +- [`10-slim`, `10-stretch-slim`, `10.24-slim`, `10.24-stretch-slim`, `10.24.1-slim`, `10.24.1-stretch-slim`, `dubnium-slim`, `dubnium-stretch-slim`](https://github.com/nodejs/docker-node/blob/31246f5f779cafa0930a1db04bd00d875d6a940d/10/stretch-slim/Dockerfile) # Quick reference (cont.) @@ -66,7 +74,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/node`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnode) + [official-images repo's `library/node` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnode) [official-images repo's `library/node` file](https://github.com/docker-library/official-images/blob/master/library/node) ([history](https://github.com/docker-library/official-images/commits/master/library/node)) - **Source of this description**: @@ -96,22 +104,22 @@ The `node` images come in many flavors, each designed for a specific use case. This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like buster, jessie, or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. +Some of these tags may have names like buster or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system. -## `node:-slim` - -This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `node`. Unless you are working in an environment where *only* the `node` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. - ## `node:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +## `node:-slim` + +This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `node`. Unless you are working in an environment where *only* the `node` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. + # License View [license information](https://github.com/nodejs/node/blob/master/LICENSE) for Node.js or [license information](https://github.com/nodejs/docker-node/blob/master/LICENSE) for the Node.js Docker project. diff --git a/notary/README.md b/notary/README.md index fb509f482aaa..88cb475cf7d6 100644 --- a/notary/README.md +++ b/notary/README.md @@ -20,7 +20,7 @@ WARNING: [Docker, Inc.](https://github.com/docker/notary-official-images) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/notary`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnotary) + [official-images repo's `library/notary` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnotary) [official-images repo's `library/notary` file](https://github.com/docker-library/official-images/blob/master/library/notary) ([history](https://github.com/docker-library/official-images/commits/master/library/notary)) - **Source of this description**: diff --git a/nuxeo/README.md b/nuxeo/README.md index e1650f344937..105244509954 100644 --- a/nuxeo/README.md +++ b/nuxeo/README.md @@ -20,7 +20,7 @@ WARNING: [Nuxeo](https://github.com/nuxeo/docker-nuxeo) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/nuxeo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fnuxeo) + [official-images repo's `library/nuxeo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnuxeo) [official-images repo's `library/nuxeo` file](https://github.com/docker-library/official-images/blob/master/library/nuxeo) ([history](https://github.com/docker-library/official-images/commits/master/library/nuxeo)) - **Source of this description**: diff --git a/odoo/README.md b/odoo/README.md index 5bc25b79f4ea..f780f9fa3373 100644 --- a/odoo/README.md +++ b/odoo/README.md @@ -20,13 +20,13 @@ WARNING: [Odoo](https://github.com/odoo/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`13.0`, `13`, `latest`](https://github.com/odoo/docker/blob/f116a674ca62595d0fbf1ded206ec2e4d962ebf0/13.0/Dockerfile) -- [`12.0`, `12`](https://github.com/odoo/docker/blob/f116a674ca62595d0fbf1ded206ec2e4d962ebf0/12.0/Dockerfile) -- [`11.0`, `11`](https://github.com/odoo/docker/blob/f116a674ca62595d0fbf1ded206ec2e4d962ebf0/11.0/Dockerfile) +- [`14.0`, `14`, `latest`](https://github.com/odoo/docker/blob/dea339fddc16cbeb88f72376350d138fa4d78650/14.0/Dockerfile) +- [`13.0`, `13`](https://github.com/odoo/docker/blob/dea339fddc16cbeb88f72376350d138fa4d78650/13.0/Dockerfile) +- [`12.0`, `12`](https://github.com/odoo/docker/blob/dea339fddc16cbeb88f72376350d138fa4d78650/12.0/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/odoo`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fodoo) + [official-images repo's `library/odoo` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fodoo) [official-images repo's `library/odoo` file](https://github.com/docker-library/official-images/blob/master/library/odoo) ([history](https://github.com/docker-library/official-images/commits/master/library/odoo)) - **Source of this description**: diff --git a/open-liberty/README-short.txt b/open-liberty/README-short.txt index ca1d1146f843..46fab7571f4c 100644 --- a/open-liberty/README-short.txt +++ b/open-liberty/README-short.txt @@ -1 +1 @@ -Official Open Liberty image. +Open Liberty multi-architecture images based on Ubuntu 18.04 diff --git a/open-liberty/README.md b/open-liberty/README.md index 5ac028cb8c42..1b42e42ae326 100644 --- a/open-liberty/README.md +++ b/open-liberty/README.md @@ -24,14 +24,24 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`kernel`, `kernel-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/latest/kernel/Dockerfile.ubuntu.adoptopenjdk8) -- [`full`, `full-java8-openj9`, `latest`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/latest/full/Dockerfile.ubuntu.adoptopenjdk8) -- [`20.0.0.5-kernel-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/20.0.0.5/kernel/Dockerfile.ubuntu.adoptopenjdk8) -- [`20.0.0.5-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/20.0.0.5/full/Dockerfile.ubuntu.adoptopenjdk8) -- [`20.0.0.3-kernel-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/20.0.0.3/kernel/Dockerfile.ubuntu.adoptopenjdk8) -- [`20.0.0.3-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/20.0.0.3/full/Dockerfile.ubuntu.adoptopenjdk8) -- [`19.0.0.12-kernel-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/19.0.0.12/kernel/Dockerfile.ubuntu.adoptopenjdk8) -- [`19.0.0.12-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/17276f4286810d86d3a067c34dd60a06cfdb2c35/releases/19.0.0.12/full/Dockerfile.ubuntu.adoptopenjdk8) +- [`beta`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/beta/Dockerfile.ubuntu.adoptopenjdk8) +- [`beta-java11`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/beta/Dockerfile.ubuntu.adoptopenjdk11) +- [`kernel-slim`, `kernel-slim-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/kernel-slim/Dockerfile.ubuntu.adoptopenjdk8) +- [`kernel-slim-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/kernel-slim/Dockerfile.ubuntu.adoptopenjdk11) +- [`full`, `full-java8-openj9`, `latest`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/full/Dockerfile.ubuntu.adoptopenjdk8) +- [`full-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/latest/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.4-kernel-slim-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.4/kernel-slim/Dockerfile.ubuntu.adoptopenjdk8) +- [`21.0.0.4-kernel-slim-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.4/kernel-slim/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.4-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.4/full/Dockerfile.ubuntu.adoptopenjdk8) +- [`21.0.0.4-full-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.4/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.3-kernel-slim-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.3/kernel-slim/Dockerfile.ubuntu.adoptopenjdk8) +- [`21.0.0.3-kernel-slim-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.3/kernel-slim/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.3-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.3/full/Dockerfile.ubuntu.adoptopenjdk8) +- [`21.0.0.3-full-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/21.0.0.3/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`20.0.0.12-kernel-slim-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/20.0.0.12/kernel-slim/Dockerfile.ubuntu.adoptopenjdk8) +- [`20.0.0.12-kernel-slim-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/20.0.0.12/kernel-slim/Dockerfile.ubuntu.adoptopenjdk11) +- [`20.0.0.12-full-java8-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/20.0.0.12/full/Dockerfile.ubuntu.adoptopenjdk8) +- [`20.0.0.12-full-java11-openj9`](https://github.com/OpenLiberty/ci.docker/blob/a84c9e6b2adefcf1f8d830f533222b087874aefb/releases/20.0.0.12/full/Dockerfile.ubuntu.adoptopenjdk11) # Quick reference (cont.) @@ -46,7 +56,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/open-liberty`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fopen-liberty) + [official-images repo's `library/open-liberty` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopen-liberty) [official-images repo's `library/open-liberty` file](https://github.com/docker-library/official-images/blob/master/library/open-liberty) ([history](https://github.com/docker-library/official-images/commits/master/library/open-liberty)) - **Source of this description**: @@ -54,9 +64,9 @@ WARNING: # Overview -The images in this repository contain Open Liberty. For more information about Open Liberty, see the [Open Liberty Website](https://openliberty.io/) site. +All of the images in this repository use Ubuntu as the Operating System. For variants that use the Universal Base Image, please see [this repository](https://hub.docker.com/r/openliberty/open-liberty/). -This repository contains OpenLiberty based on top of OpenJDK 8 Eclipse OpenJ9 with Ubuntu images only. See [here](https://hub.docker.com/r/openliberty/open-liberty) for Open Liberty based on Red Hat's Universal Base Image, which includes additional java options. +For more information on these images please see our [GitHub repository](https://github.com/OpenLiberty/ci.docker#container-images). # Image User @@ -103,12 +113,20 @@ Please note that this pattern will duplicate the docker layers for those artifac There are multiple tags available in this repository. -The `kernel` image contains just the Liberty kernel and no additional runtime features. This image is the recommended basis for custom built images, so that they can contain only the features required for a specific application. For example, the following Dockerfile starts with this image, copies in the `server.xml` that lists the features required by the application, and then uses the `configure.sh` script to download those features from the online repository. +The `kernel-slim` image contains just the Liberty kernel and no additional runtime features. This image is the recommended basis for custom built images, so that they can contain only the features required for a specific application. For example, the following Dockerfile starts with this image, copies in the `server.xml` that lists the features required by the application, and then uses the `features.sh` script to download those features from the online repository. ```dockerfile -FROM open-liberty:kernel -COPY --chown=1001:0 Sample1.war /config/dropins/ +FROM open-liberty:kernel-slim + +# Add server configuration COPY --chown=1001:0 server.xml /config/ +# This script will add the requested XML snippets to enable Liberty features and grow image to be fit-for-purpose using featureUtility. +# Only available in 'kernel-slim'. The 'full' tag already includes all features for convenience. +RUN features.sh + +# Add the application +COPY --chown=1001:0 Sample1.war /config/dropins/ +# This script will add the requested server configurations, apply any interim fixes and populate caches to optimize runtime. RUN configure.sh ``` @@ -188,13 +206,15 @@ To elaborate these capabilities this section assumes the standalone Spring Boot FROM open-liberty:kernel as staging COPY --chown=1001:0 hellospringboot.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ - RUN configure.sh && springBootUtility thin \ + RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM open-liberty:kernel + COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar + RUN configure.sh ``` For Spring Boot applications packaged with library dependencies that rarely change across continuous application updates, you can use the capabilities mentioned above to to share library caches across containers and to create even more efficient docker layers that leverage the docker build cache. @@ -258,6 +278,18 @@ WebSphere Liberty is a commercial distribution of Open Liberty. There is an offi - Use the `/output` folder for accessing the server output. - When adding your own SSL configuration use the `/config/configDropins/defaults/keystore.xml`. +# Image Variants + +The `open-liberty` images come in many flavors, each designed for a specific use case. + +## `open-liberty:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +## `open-liberty:-slim` + +This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `open-liberty`. Unless you are working in an environment where *only* the `open-liberty` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. + # License View [license information](https://github.com/OpenLiberty/open-liberty/blob/master/LICENSE) for the software contained in this image. diff --git a/open-liberty/content.md b/open-liberty/content.md index 8ebff9d2c884..94e23ab627f7 100644 --- a/open-liberty/content.md +++ b/open-liberty/content.md @@ -1,8 +1,8 @@ # Overview -The images in this repository contain Open Liberty. For more information about Open Liberty, see the [Open Liberty Website](https://openliberty.io/) site. +All of the images in this repository use Ubuntu as the Operating System. For variants that use the Universal Base Image, please see [this repository](https://hub.docker.com/r/openliberty/open-liberty/). -This repository contains OpenLiberty based on top of OpenJDK 8 Eclipse OpenJ9 with Ubuntu images only. See [here](https://hub.docker.com/r/openliberty/open-liberty) for Open Liberty based on Red Hat's Universal Base Image, which includes additional java options. +For more information on these images please see our [GitHub repository](https://github.com/OpenLiberty/ci.docker#container-images). # Image User @@ -49,12 +49,20 @@ Please note that this pattern will duplicate the docker layers for those artifac There are multiple tags available in this repository. -The `kernel` image contains just the Liberty kernel and no additional runtime features. This image is the recommended basis for custom built images, so that they can contain only the features required for a specific application. For example, the following Dockerfile starts with this image, copies in the `server.xml` that lists the features required by the application, and then uses the `configure.sh` script to download those features from the online repository. +The `kernel-slim` image contains just the Liberty kernel and no additional runtime features. This image is the recommended basis for custom built images, so that they can contain only the features required for a specific application. For example, the following Dockerfile starts with this image, copies in the `server.xml` that lists the features required by the application, and then uses the `features.sh` script to download those features from the online repository. ```dockerfile -FROM %%IMAGE%%:kernel -COPY --chown=1001:0 Sample1.war /config/dropins/ +FROM %%IMAGE%%:kernel-slim + +# Add server configuration COPY --chown=1001:0 server.xml /config/ +# This script will add the requested XML snippets to enable Liberty features and grow image to be fit-for-purpose using featureUtility. +# Only available in 'kernel-slim'. The 'full' tag already includes all features for convenience. +RUN features.sh + +# Add the application +COPY --chown=1001:0 Sample1.war /config/dropins/ +# This script will add the requested server configurations, apply any interim fixes and populate caches to optimize runtime. RUN configure.sh ``` @@ -134,13 +142,15 @@ To elaborate these capabilities this section assumes the standalone Spring Boot FROM %%IMAGE%%:kernel as staging COPY --chown=1001:0 hellospringboot.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ - RUN configure.sh && springBootUtility thin \ + RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM %%IMAGE%%:kernel + COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar + RUN configure.sh ``` For Spring Boot applications packaged with library dependencies that rarely change across continuous application updates, you can use the capabilities mentioned above to to share library caches across containers and to create even more efficient docker layers that leverage the docker build cache. diff --git a/openjdk/README.md b/openjdk/README.md index ac2be7f3c1ac..5b576d09151f 100644 --- a/openjdk/README.md +++ b/openjdk/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/openjdk) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,96 +28,103 @@ WARNING: ## Simple Tags -- [`15-ea-24-jdk-oraclelinux7`, `15-ea-24-oraclelinux7`, `15-ea-jdk-oraclelinux7`, `15-ea-oraclelinux7`, `15-jdk-oraclelinux7`, `15-oraclelinux7`, `15-ea-24-jdk-oracle`, `15-ea-24-oracle`, `15-ea-jdk-oracle`, `15-ea-oracle`, `15-jdk-oracle`, `15-oracle`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/oracle/Dockerfile) -- [`15-ea-24-jdk-buster`, `15-ea-24-buster`, `15-ea-jdk-buster`, `15-ea-buster`, `15-jdk-buster`, `15-buster`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/Dockerfile) -- [`15-ea-24-jdk-slim-buster`, `15-ea-24-slim-buster`, `15-ea-jdk-slim-buster`, `15-ea-slim-buster`, `15-jdk-slim-buster`, `15-slim-buster`, `15-ea-24-jdk-slim`, `15-ea-24-slim`, `15-ea-jdk-slim`, `15-ea-slim`, `15-jdk-slim`, `15-slim`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/slim/Dockerfile) -- [`15-ea-10-jdk-alpine3.11`, `15-ea-10-alpine3.11`, `15-ea-jdk-alpine3.11`, `15-ea-alpine3.11`, `15-jdk-alpine3.11`, `15-alpine3.11`, `15-ea-10-jdk-alpine`, `15-ea-10-alpine`, `15-ea-jdk-alpine`, `15-ea-alpine`, `15-jdk-alpine`, `15-alpine`](https://github.com/docker-library/openjdk/blob/1e3425cc20e6a3bf052e2fe6c7f6a18054c92570/15/jdk/alpine/Dockerfile) -- [`15-ea-24-jdk-windowsservercore-1809`, `15-ea-24-windowsservercore-1809`, `15-ea-jdk-windowsservercore-1809`, `15-ea-windowsservercore-1809`, `15-jdk-windowsservercore-1809`, `15-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-1809/Dockerfile) -- [`15-ea-24-jdk-windowsservercore-ltsc2016`, `15-ea-24-windowsservercore-ltsc2016`, `15-ea-jdk-windowsservercore-ltsc2016`, `15-ea-windowsservercore-ltsc2016`, `15-jdk-windowsservercore-ltsc2016`, `15-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- [`15-ea-24-jdk-nanoserver-1809`, `15-ea-24-nanoserver-1809`, `15-ea-jdk-nanoserver-1809`, `15-ea-nanoserver-1809`, `15-jdk-nanoserver-1809`, `15-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/nanoserver-1809/Dockerfile) -- [`14.0.1-jdk-oraclelinux7`, `14.0.1-oraclelinux7`, `14.0-jdk-oraclelinux7`, `14.0-oraclelinux7`, `14-jdk-oraclelinux7`, `14-oraclelinux7`, `jdk-oraclelinux7`, `oraclelinux7`, `14.0.1-jdk-oracle`, `14.0.1-oracle`, `14.0-jdk-oracle`, `14.0-oracle`, `14-jdk-oracle`, `14-oracle`, `jdk-oracle`, `oracle`](https://github.com/docker-library/openjdk/blob/1e3425cc20e6a3bf052e2fe6c7f6a18054c92570/14/jdk/oracle/Dockerfile) -- [`14.0.1-jdk-buster`, `14.0.1-buster`, `14.0-jdk-buster`, `14.0-buster`, `14-jdk-buster`, `14-buster`, `jdk-buster`, `buster`](https://github.com/docker-library/openjdk/blob/1e3425cc20e6a3bf052e2fe6c7f6a18054c92570/14/jdk/Dockerfile) -- [`14.0.1-jdk-slim-buster`, `14.0.1-slim-buster`, `14.0-jdk-slim-buster`, `14.0-slim-buster`, `14-jdk-slim-buster`, `14-slim-buster`, `jdk-slim-buster`, `slim-buster`, `14.0.1-jdk-slim`, `14.0.1-slim`, `14.0-jdk-slim`, `14.0-slim`, `14-jdk-slim`, `14-slim`, `jdk-slim`, `slim`](https://github.com/docker-library/openjdk/blob/1e3425cc20e6a3bf052e2fe6c7f6a18054c92570/14/jdk/slim/Dockerfile) -- [`14.0.1-jdk-windowsservercore-1809`, `14.0.1-windowsservercore-1809`, `14.0-jdk-windowsservercore-1809`, `14.0-windowsservercore-1809`, `14-jdk-windowsservercore-1809`, `14-windowsservercore-1809`, `jdk-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-1809/Dockerfile) -- [`14.0.1-jdk-windowsservercore-ltsc2016`, `14.0.1-windowsservercore-ltsc2016`, `14.0-jdk-windowsservercore-ltsc2016`, `14.0-windowsservercore-ltsc2016`, `14-jdk-windowsservercore-ltsc2016`, `14-windowsservercore-ltsc2016`, `jdk-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- [`14.0.1-jdk-nanoserver-1809`, `14.0.1-nanoserver-1809`, `14.0-jdk-nanoserver-1809`, `14.0-nanoserver-1809`, `14-jdk-nanoserver-1809`, `14-nanoserver-1809`, `jdk-nanoserver-1809`, `nanoserver-1809`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/nanoserver-1809/Dockerfile) -- [`11.0.7-jdk-buster`, `11.0.7-buster`, `11.0-jdk-buster`, `11.0-buster`, `11-jdk-buster`, `11-buster`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/Dockerfile) -- [`11.0.7-jdk-slim-buster`, `11.0.7-slim-buster`, `11.0-jdk-slim-buster`, `11.0-slim-buster`, `11-jdk-slim-buster`, `11-slim-buster`, `11.0.7-jdk-slim`, `11.0.7-slim`, `11.0-jdk-slim`, `11.0-slim`, `11-jdk-slim`, `11-slim`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/slim/Dockerfile) -- [`11.0.7-jdk-windowsservercore-1809`, `11.0.7-windowsservercore-1809`, `11.0-jdk-windowsservercore-1809`, `11.0-windowsservercore-1809`, `11-jdk-windowsservercore-1809`, `11-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-1809/Dockerfile) -- [`11.0.7-jdk-windowsservercore-ltsc2016`, `11.0.7-windowsservercore-ltsc2016`, `11.0-jdk-windowsservercore-ltsc2016`, `11.0-windowsservercore-ltsc2016`, `11-jdk-windowsservercore-ltsc2016`, `11-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- [`11.0.7-jdk-nanoserver-1809`, `11.0.7-nanoserver-1809`, `11.0-jdk-nanoserver-1809`, `11.0-nanoserver-1809`, `11-jdk-nanoserver-1809`, `11-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/11/jdk/windows/nanoserver-1809/Dockerfile) -- [`11.0.7-jre-buster`, `11.0-jre-buster`, `11-jre-buster`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/Dockerfile) -- [`11.0.7-jre-slim-buster`, `11.0-jre-slim-buster`, `11-jre-slim-buster`, `11.0.7-jre-slim`, `11.0-jre-slim`, `11-jre-slim`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/slim/Dockerfile) -- [`11.0.7-jre-windowsservercore-1809`, `11.0-jre-windowsservercore-1809`, `11-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-1809/Dockerfile) -- [`11.0.7-jre-windowsservercore-ltsc2016`, `11.0-jre-windowsservercore-ltsc2016`, `11-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- [`11.0.7-jre-nanoserver-1809`, `11.0-jre-nanoserver-1809`, `11-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/11/jre/windows/nanoserver-1809/Dockerfile) -- [`8u252-jdk-buster`, `8u252-buster`, `8-jdk-buster`, `8-buster`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/Dockerfile) -- [`8u252-jdk-slim-buster`, `8u252-slim-buster`, `8-jdk-slim-buster`, `8-slim-buster`, `8u252-jdk-slim`, `8u252-slim`, `8-jdk-slim`, `8-slim`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/slim/Dockerfile) -- [`8u252-jdk-windowsservercore-1809`, `8u252-windowsservercore-1809`, `8-jdk-windowsservercore-1809`, `8-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-1809/Dockerfile) -- [`8u252-jdk-windowsservercore-ltsc2016`, `8u252-windowsservercore-ltsc2016`, `8-jdk-windowsservercore-ltsc2016`, `8-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- [`8u252-jdk-nanoserver-1809`, `8u252-nanoserver-1809`, `8-jdk-nanoserver-1809`, `8-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/8/jdk/windows/nanoserver-1809/Dockerfile) -- [`8u252-jre-buster`, `8-jre-buster`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/Dockerfile) -- [`8u252-jre-slim-buster`, `8-jre-slim-buster`, `8u252-jre-slim`, `8-jre-slim`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/slim/Dockerfile) -- [`8u252-jre-windowsservercore-1809`, `8-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-1809/Dockerfile) -- [`8u252-jre-windowsservercore-ltsc2016`, `8-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- [`8u252-jre-nanoserver-1809`, `8-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/8/jre/windows/nanoserver-1809/Dockerfile) +- [`17-ea-19-jdk-oraclelinux8`, `17-ea-19-oraclelinux8`, `17-ea-jdk-oraclelinux8`, `17-ea-oraclelinux8`, `17-jdk-oraclelinux8`, `17-oraclelinux8`, `17-ea-19-jdk-oracle`, `17-ea-19-oracle`, `17-ea-jdk-oracle`, `17-ea-oracle`, `17-jdk-oracle`, `17-oracle`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/oraclelinux8/Dockerfile) +- [`17-ea-19-jdk-oraclelinux7`, `17-ea-19-oraclelinux7`, `17-ea-jdk-oraclelinux7`, `17-ea-oraclelinux7`, `17-jdk-oraclelinux7`, `17-oraclelinux7`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/oraclelinux7/Dockerfile) +- [`17-ea-19-jdk-buster`, `17-ea-19-buster`, `17-ea-jdk-buster`, `17-ea-buster`, `17-jdk-buster`, `17-buster`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/buster/Dockerfile) +- [`17-ea-19-jdk-slim-buster`, `17-ea-19-slim-buster`, `17-ea-jdk-slim-buster`, `17-ea-slim-buster`, `17-jdk-slim-buster`, `17-slim-buster`, `17-ea-19-jdk-slim`, `17-ea-19-slim`, `17-ea-jdk-slim`, `17-ea-slim`, `17-jdk-slim`, `17-slim`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/slim-buster/Dockerfile) +- [`17-ea-14-jdk-alpine3.13`, `17-ea-14-alpine3.13`, `17-ea-jdk-alpine3.13`, `17-ea-alpine3.13`, `17-jdk-alpine3.13`, `17-alpine3.13`, `17-ea-14-jdk-alpine`, `17-ea-14-alpine`, `17-ea-jdk-alpine`, `17-ea-alpine`, `17-jdk-alpine`, `17-alpine`](https://github.com/docker-library/openjdk/blob/255fbc7cf6da6d76869b420dd2fe0bc94539b5eb/17/jdk/alpine3.13/Dockerfile) +- [`17-ea-14-jdk-alpine3.12`, `17-ea-14-alpine3.12`, `17-ea-jdk-alpine3.12`, `17-ea-alpine3.12`, `17-jdk-alpine3.12`, `17-alpine3.12`](https://github.com/docker-library/openjdk/blob/255fbc7cf6da6d76869b420dd2fe0bc94539b5eb/17/jdk/alpine3.12/Dockerfile) +- [`17-ea-19-jdk-windowsservercore-1809`, `17-ea-19-windowsservercore-1809`, `17-ea-jdk-windowsservercore-1809`, `17-ea-windowsservercore-1809`, `17-jdk-windowsservercore-1809`, `17-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-1809/Dockerfile) +- [`17-ea-19-jdk-windowsservercore-ltsc2016`, `17-ea-19-windowsservercore-ltsc2016`, `17-ea-jdk-windowsservercore-ltsc2016`, `17-ea-windowsservercore-ltsc2016`, `17-jdk-windowsservercore-ltsc2016`, `17-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- [`17-ea-19-jdk-nanoserver-1809`, `17-ea-19-nanoserver-1809`, `17-ea-jdk-nanoserver-1809`, `17-ea-nanoserver-1809`, `17-jdk-nanoserver-1809`, `17-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/nanoserver-1809/Dockerfile) +- [`16.0.1-jdk-oraclelinux8`, `16.0.1-oraclelinux8`, `16.0-jdk-oraclelinux8`, `16.0-oraclelinux8`, `16-jdk-oraclelinux8`, `16-oraclelinux8`, `jdk-oraclelinux8`, `oraclelinux8`, `16.0.1-jdk-oracle`, `16.0.1-oracle`, `16.0-jdk-oracle`, `16.0-oracle`, `16-jdk-oracle`, `16-oracle`, `jdk-oracle`, `oracle`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/oraclelinux8/Dockerfile) +- [`16.0.1-jdk-oraclelinux7`, `16.0.1-oraclelinux7`, `16.0-jdk-oraclelinux7`, `16.0-oraclelinux7`, `16-jdk-oraclelinux7`, `16-oraclelinux7`, `jdk-oraclelinux7`, `oraclelinux7`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/oraclelinux7/Dockerfile) +- [`16.0.1-jdk-buster`, `16.0.1-buster`, `16.0-jdk-buster`, `16.0-buster`, `16-jdk-buster`, `16-buster`, `jdk-buster`, `buster`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/buster/Dockerfile) +- [`16.0.1-jdk-slim-buster`, `16.0.1-slim-buster`, `16.0-jdk-slim-buster`, `16.0-slim-buster`, `16-jdk-slim-buster`, `16-slim-buster`, `jdk-slim-buster`, `slim-buster`, `16.0.1-jdk-slim`, `16.0.1-slim`, `16.0-jdk-slim`, `16.0-slim`, `16-jdk-slim`, `16-slim`, `jdk-slim`, `slim`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/slim-buster/Dockerfile) +- [`16.0.1-jdk-windowsservercore-1809`, `16.0.1-windowsservercore-1809`, `16.0-jdk-windowsservercore-1809`, `16.0-windowsservercore-1809`, `16-jdk-windowsservercore-1809`, `16-windowsservercore-1809`, `jdk-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-1809/Dockerfile) +- [`16.0.1-jdk-windowsservercore-ltsc2016`, `16.0.1-windowsservercore-ltsc2016`, `16.0-jdk-windowsservercore-ltsc2016`, `16.0-windowsservercore-ltsc2016`, `16-jdk-windowsservercore-ltsc2016`, `16-windowsservercore-ltsc2016`, `jdk-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- [`16.0.1-jdk-nanoserver-1809`, `16.0.1-nanoserver-1809`, `16.0-jdk-nanoserver-1809`, `16.0-nanoserver-1809`, `16-jdk-nanoserver-1809`, `16-nanoserver-1809`, `jdk-nanoserver-1809`, `nanoserver-1809`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/nanoserver-1809/Dockerfile) +- [`11.0.11-9-jdk-oraclelinux8`, `11.0.11-9-oraclelinux8`, `11.0.11-jdk-oraclelinux8`, `11.0.11-oraclelinux8`, `11.0-jdk-oraclelinux8`, `11.0-oraclelinux8`, `11-jdk-oraclelinux8`, `11-oraclelinux8`, `11.0.11-9-jdk-oracle`, `11.0.11-9-oracle`, `11.0.11-jdk-oracle`, `11.0.11-oracle`, `11.0-jdk-oracle`, `11.0-oracle`, `11-jdk-oracle`, `11-oracle`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/oraclelinux8/Dockerfile) +- [`11.0.11-9-jdk-oraclelinux7`, `11.0.11-9-oraclelinux7`, `11.0.11-jdk-oraclelinux7`, `11.0.11-oraclelinux7`, `11.0-jdk-oraclelinux7`, `11.0-oraclelinux7`, `11-jdk-oraclelinux7`, `11-oraclelinux7`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/oraclelinux7/Dockerfile) +- [`11.0.11-9-jdk-buster`, `11.0.11-9-buster`, `11.0.11-jdk-buster`, `11.0.11-buster`, `11.0-jdk-buster`, `11.0-buster`, `11-jdk-buster`, `11-buster`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/buster/Dockerfile) +- [`11.0.11-9-jdk-slim-buster`, `11.0.11-9-slim-buster`, `11.0.11-jdk-slim-buster`, `11.0.11-slim-buster`, `11.0-jdk-slim-buster`, `11.0-slim-buster`, `11-jdk-slim-buster`, `11-slim-buster`, `11.0.11-9-jdk-slim`, `11.0.11-9-slim`, `11.0.11-jdk-slim`, `11.0.11-slim`, `11.0-jdk-slim`, `11.0-slim`, `11-jdk-slim`, `11-slim`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/slim-buster/Dockerfile) +- [`11.0.11-9-jdk-windowsservercore-1809`, `11.0.11-9-windowsservercore-1809`, `11.0.11-jdk-windowsservercore-1809`, `11.0.11-windowsservercore-1809`, `11.0-jdk-windowsservercore-1809`, `11.0-windowsservercore-1809`, `11-jdk-windowsservercore-1809`, `11-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-1809/Dockerfile) +- [`11.0.11-9-jdk-windowsservercore-ltsc2016`, `11.0.11-9-windowsservercore-ltsc2016`, `11.0.11-jdk-windowsservercore-ltsc2016`, `11.0.11-windowsservercore-ltsc2016`, `11.0-jdk-windowsservercore-ltsc2016`, `11.0-windowsservercore-ltsc2016`, `11-jdk-windowsservercore-ltsc2016`, `11-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- [`11.0.11-9-jdk-nanoserver-1809`, `11.0.11-9-nanoserver-1809`, `11.0.11-jdk-nanoserver-1809`, `11.0.11-nanoserver-1809`, `11.0-jdk-nanoserver-1809`, `11.0-nanoserver-1809`, `11-jdk-nanoserver-1809`, `11-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/nanoserver-1809/Dockerfile) +- [`11.0.11-9-jre-buster`, `11.0.11-jre-buster`, `11.0-jre-buster`, `11-jre-buster`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/buster/Dockerfile) +- [`11.0.11-9-jre-slim-buster`, `11.0.11-jre-slim-buster`, `11.0-jre-slim-buster`, `11-jre-slim-buster`, `11.0.11-9-jre-slim`, `11.0.11-jre-slim`, `11.0-jre-slim`, `11-jre-slim`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/slim-buster/Dockerfile) +- [`11.0.11-9-jre-windowsservercore-1809`, `11.0.11-jre-windowsservercore-1809`, `11.0-jre-windowsservercore-1809`, `11-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-1809/Dockerfile) +- [`11.0.11-9-jre-windowsservercore-ltsc2016`, `11.0.11-jre-windowsservercore-ltsc2016`, `11.0-jre-windowsservercore-ltsc2016`, `11-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- [`11.0.11-9-jre-nanoserver-1809`, `11.0.11-jre-nanoserver-1809`, `11.0-jre-nanoserver-1809`, `11-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/nanoserver-1809/Dockerfile) +- [`8u292-jdk-oraclelinux8`, `8u292-oraclelinux8`, `8-jdk-oraclelinux8`, `8-oraclelinux8`, `8u292-jdk-oracle`, `8u292-oracle`, `8-jdk-oracle`, `8-oracle`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/oraclelinux8/Dockerfile) +- [`8u292-jdk-oraclelinux7`, `8u292-oraclelinux7`, `8-jdk-oraclelinux7`, `8-oraclelinux7`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/oraclelinux7/Dockerfile) +- [`8u292-jdk-buster`, `8u292-buster`, `8-jdk-buster`, `8-buster`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/buster/Dockerfile) +- [`8u292-jdk-slim-buster`, `8u292-slim-buster`, `8-jdk-slim-buster`, `8-slim-buster`, `8u292-jdk-slim`, `8u292-slim`, `8-jdk-slim`, `8-slim`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/slim-buster/Dockerfile) +- [`8u292-jdk-windowsservercore-1809`, `8u292-windowsservercore-1809`, `8-jdk-windowsservercore-1809`, `8-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-1809/Dockerfile) +- [`8u292-jdk-windowsservercore-ltsc2016`, `8u292-windowsservercore-ltsc2016`, `8-jdk-windowsservercore-ltsc2016`, `8-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- [`8u292-jdk-nanoserver-1809`, `8u292-nanoserver-1809`, `8-jdk-nanoserver-1809`, `8-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/nanoserver-1809/Dockerfile) +- [`8u292-jre-buster`, `8-jre-buster`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/buster/Dockerfile) +- [`8u292-jre-slim-buster`, `8-jre-slim-buster`, `8u292-jre-slim`, `8-jre-slim`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/slim-buster/Dockerfile) +- [`8u292-jre-windowsservercore-1809`, `8-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-1809/Dockerfile) +- [`8u292-jre-windowsservercore-ltsc2016`, `8-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- [`8u292-jre-nanoserver-1809`, `8-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/nanoserver-1809/Dockerfile) ## Shared Tags -- `15-ea-24-jdk`, `15-ea-24`, `15-ea-jdk`, `15-ea`, `15-jdk`, `15`: - - [`15-ea-24-jdk-oraclelinux7`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/oracle/Dockerfile) - - [`15-ea-24-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-1809/Dockerfile) - - [`15-ea-24-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `15-ea-24-jdk-windowsservercore`, `15-ea-24-windowsservercore`, `15-ea-jdk-windowsservercore`, `15-ea-windowsservercore`, `15-jdk-windowsservercore`, `15-windowsservercore`: - - [`15-ea-24-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-1809/Dockerfile) - - [`15-ea-24-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `15-ea-24-jdk-nanoserver`, `15-ea-24-nanoserver`, `15-ea-jdk-nanoserver`, `15-ea-nanoserver`, `15-jdk-nanoserver`, `15-nanoserver`: - - [`15-ea-24-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/bb4265f075850b8b6b36347d0cb045a3fa4df18e/15/jdk/windows/nanoserver-1809/Dockerfile) -- `14.0.1-jdk`, `14.0.1`, `14.0-jdk`, `14.0`, `14-jdk`, `14`, `jdk`, `latest`: - - [`14.0.1-jdk-oraclelinux7`](https://github.com/docker-library/openjdk/blob/1e3425cc20e6a3bf052e2fe6c7f6a18054c92570/14/jdk/oracle/Dockerfile) - - [`14.0.1-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-1809/Dockerfile) - - [`14.0.1-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `14.0.1-jdk-windowsservercore`, `14.0.1-windowsservercore`, `14.0-jdk-windowsservercore`, `14.0-windowsservercore`, `14-jdk-windowsservercore`, `14-windowsservercore`, `jdk-windowsservercore`, `windowsservercore`: - - [`14.0.1-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-1809/Dockerfile) - - [`14.0.1-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `14.0.1-jdk-nanoserver`, `14.0.1-nanoserver`, `14.0-jdk-nanoserver`, `14.0-nanoserver`, `14-jdk-nanoserver`, `14-nanoserver`, `jdk-nanoserver`, `nanoserver`: - - [`14.0.1-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/cd0e316abc515747ef6c9edc8a40914b50163ad2/14/jdk/windows/nanoserver-1809/Dockerfile) -- `11.0.7-jdk`, `11.0.7`, `11.0-jdk`, `11.0`, `11-jdk`, `11`: - - [`11.0.7-jdk-buster`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/Dockerfile) - - [`11.0.7-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-1809/Dockerfile) - - [`11.0.7-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `11.0.7-jdk-windowsservercore`, `11.0.7-windowsservercore`, `11.0-jdk-windowsservercore`, `11.0-windowsservercore`, `11-jdk-windowsservercore`, `11-windowsservercore`: - - [`11.0.7-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-1809/Dockerfile) - - [`11.0.7-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `11.0.7-jdk-nanoserver`, `11.0.7-nanoserver`, `11.0-jdk-nanoserver`, `11.0-nanoserver`, `11-jdk-nanoserver`, `11-nanoserver`: - - [`11.0.7-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/11/jdk/windows/nanoserver-1809/Dockerfile) -- `11.0.7-jre`, `11.0-jre`, `11-jre`: - - [`11.0.7-jre-buster`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/Dockerfile) - - [`11.0.7-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-1809/Dockerfile) - - [`11.0.7-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- `11.0.7-jre-windowsservercore`, `11.0-jre-windowsservercore`, `11-jre-windowsservercore`: - - [`11.0.7-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-1809/Dockerfile) - - [`11.0.7-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/bce2fa373dc270cccf539a8e31b5f2a432d23738/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- `11.0.7-jre-nanoserver`, `11.0-jre-nanoserver`, `11-jre-nanoserver`: - - [`11.0.7-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/11/jre/windows/nanoserver-1809/Dockerfile) -- `8u252-jdk`, `8u252`, `8-jdk`, `8`: - - [`8u252-jdk-buster`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/Dockerfile) - - [`8u252-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-1809/Dockerfile) - - [`8u252-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `8u252-jdk-windowsservercore`, `8u252-windowsservercore`, `8-jdk-windowsservercore`, `8-windowsservercore`: - - [`8u252-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-1809/Dockerfile) - - [`8u252-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) -- `8u252-jdk-nanoserver`, `8u252-nanoserver`, `8-jdk-nanoserver`, `8-nanoserver`: - - [`8u252-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/8/jdk/windows/nanoserver-1809/Dockerfile) -- `8u252-jre`, `8-jre`: - - [`8u252-jre-buster`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/Dockerfile) - - [`8u252-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-1809/Dockerfile) - - [`8u252-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- `8u252-jre-windowsservercore`, `8-jre-windowsservercore`: - - [`8u252-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-1809/Dockerfile) - - [`8u252-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/e24f1c142d0a2fa1852b5ea899b691483fc72a02/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) -- `8u252-jre-nanoserver`, `8-jre-nanoserver`: - - [`8u252-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/3f6ab87ebe4bdea4470d0ff1e26f61dadd646c64/8/jre/windows/nanoserver-1809/Dockerfile) +- `17-ea-19-jdk`, `17-ea-19`, `17-ea-jdk`, `17-ea`, `17-jdk`, `17`: + - [`17-ea-19-jdk-oraclelinux8`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/oraclelinux8/Dockerfile) + - [`17-ea-19-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-1809/Dockerfile) + - [`17-ea-19-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `17-ea-19-jdk-windowsservercore`, `17-ea-19-windowsservercore`, `17-ea-jdk-windowsservercore`, `17-ea-windowsservercore`, `17-jdk-windowsservercore`, `17-windowsservercore`: + - [`17-ea-19-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-1809/Dockerfile) + - [`17-ea-19-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `17-ea-19-jdk-nanoserver`, `17-ea-19-nanoserver`, `17-ea-jdk-nanoserver`, `17-ea-nanoserver`, `17-jdk-nanoserver`, `17-nanoserver`: + - [`17-ea-19-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/30a6328da2017e8cfca341aaa669a795ef759a57/17/jdk/windows/nanoserver-1809/Dockerfile) +- `16.0.1-jdk`, `16.0.1`, `16.0-jdk`, `16.0`, `16-jdk`, `16`, `jdk`, `latest`: + - [`16.0.1-jdk-oraclelinux8`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/oraclelinux8/Dockerfile) + - [`16.0.1-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-1809/Dockerfile) + - [`16.0.1-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `16.0.1-jdk-windowsservercore`, `16.0.1-windowsservercore`, `16.0-jdk-windowsservercore`, `16.0-windowsservercore`, `16-jdk-windowsservercore`, `16-windowsservercore`, `jdk-windowsservercore`, `windowsservercore`: + - [`16.0.1-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-1809/Dockerfile) + - [`16.0.1-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `16.0.1-jdk-nanoserver`, `16.0.1-nanoserver`, `16.0-jdk-nanoserver`, `16.0-nanoserver`, `16-jdk-nanoserver`, `16-nanoserver`, `jdk-nanoserver`, `nanoserver`: + - [`16.0.1-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/277bd48c8482ecbc70225442328ef34a7c8ff139/16/jdk/windows/nanoserver-1809/Dockerfile) +- `11.0.11-9-jdk`, `11.0.11-9`, `11.0.11-jdk`, `11.0.11`, `11.0-jdk`, `11.0`, `11-jdk`, `11`: + - [`11.0.11-9-jdk-buster`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/buster/Dockerfile) + - [`11.0.11-9-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-1809/Dockerfile) + - [`11.0.11-9-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `11.0.11-9-jdk-windowsservercore`, `11.0.11-9-windowsservercore`, `11.0.11-jdk-windowsservercore`, `11.0.11-windowsservercore`, `11.0-jdk-windowsservercore`, `11.0-windowsservercore`, `11-jdk-windowsservercore`, `11-windowsservercore`: + - [`11.0.11-9-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-1809/Dockerfile) + - [`11.0.11-9-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `11.0.11-9-jdk-nanoserver`, `11.0.11-9-nanoserver`, `11.0.11-jdk-nanoserver`, `11.0.11-nanoserver`, `11.0-jdk-nanoserver`, `11.0-nanoserver`, `11-jdk-nanoserver`, `11-nanoserver`: + - [`11.0.11-9-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jdk/windows/nanoserver-1809/Dockerfile) +- `11.0.11-9-jre`, `11.0.11-jre`, `11.0-jre`, `11-jre`: + - [`11.0.11-9-jre-buster`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/buster/Dockerfile) + - [`11.0.11-9-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-1809/Dockerfile) + - [`11.0.11-9-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- `11.0.11-9-jre-windowsservercore`, `11.0.11-jre-windowsservercore`, `11.0-jre-windowsservercore`, `11-jre-windowsservercore`: + - [`11.0.11-9-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-1809/Dockerfile) + - [`11.0.11-9-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- `11.0.11-9-jre-nanoserver`, `11.0.11-jre-nanoserver`, `11.0-jre-nanoserver`, `11-jre-nanoserver`: + - [`11.0.11-9-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/2bff20bd81e3ce1172d3adefcfb5cb994c8e0e4d/11/jre/windows/nanoserver-1809/Dockerfile) +- `8u292-jdk`, `8u292`, `8-jdk`, `8`: + - [`8u292-jdk-buster`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/buster/Dockerfile) + - [`8u292-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-1809/Dockerfile) + - [`8u292-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `8u292-jdk-windowsservercore`, `8u292-windowsservercore`, `8-jdk-windowsservercore`, `8-windowsservercore`: + - [`8u292-jdk-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-1809/Dockerfile) + - [`8u292-jdk-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/windowsservercore-ltsc2016/Dockerfile) +- `8u292-jdk-nanoserver`, `8u292-nanoserver`, `8-jdk-nanoserver`, `8-nanoserver`: + - [`8u292-jdk-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jdk/windows/nanoserver-1809/Dockerfile) +- `8u292-jre`, `8-jre`: + - [`8u292-jre-buster`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/buster/Dockerfile) + - [`8u292-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-1809/Dockerfile) + - [`8u292-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- `8u292-jre-windowsservercore`, `8-jre-windowsservercore`: + - [`8u292-jre-windowsservercore-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-1809/Dockerfile) + - [`8u292-jre-windowsservercore-ltsc2016`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/windowsservercore-ltsc2016/Dockerfile) +- `8u292-jre-nanoserver`, `8-jre-nanoserver`: + - [`8u292-jre-nanoserver-1809`](https://github.com/docker-library/openjdk/blob/765a1c4dd6fa4fd9c2a0cf540e9c17ca73eb227b/8/jre/windows/nanoserver-1809/Dockerfile) # Quick reference (cont.) @@ -132,7 +139,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/openjdk`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fopenjdk) + [official-images repo's `library/openjdk` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopenjdk) [official-images repo's `library/openjdk` file](https://github.com/docker-library/official-images/blob/master/library/openjdk) ([history](https://github.com/docker-library/official-images/commits/master/library/openjdk)) - **Source of this description**: @@ -217,11 +224,11 @@ The OpenJDK binaries in the default image as well as the `-oracle` and `-oraclel ## `openjdk:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +The OpenJDK port for Alpine is not in a supported release by OpenJDK, since it is not in the mainline code base. It is only available as early access builds of [OpenJDK Project Portola](http://openjdk.java.net/projects/portola). See also [this comment](https://github.com/docker-library/openjdk/pull/235#issuecomment-424599754). So this image follows what is available from the OpenJDK project's maintainers. -To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +What this means is that Alpine based images are only released for early access release versions of OpenJDK. Once a particular release becomes a "General-Availability" release, the Alpine version is dropped from the "Supported Tags"; they are still available to pull, but will no longer be updated. ## `openjdk:-windowsservercore` diff --git a/openjdk/variant-alpine.md b/openjdk/variant-alpine.md new file mode 100644 index 000000000000..42365d4be16d --- /dev/null +++ b/openjdk/variant-alpine.md @@ -0,0 +1,7 @@ +## `%%IMAGE%%:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +The OpenJDK port for Alpine is not in a supported release by OpenJDK, since it is not in the mainline code base. It is only available as early access builds of [OpenJDK Project Portola](http://openjdk.java.net/projects/portola). See also [this comment](https://github.com/docker-library/openjdk/pull/235#issuecomment-424599754). So this image follows what is available from the OpenJDK project's maintainers. + +What this means is that Alpine based images are only released for early access release versions of OpenJDK. Once a particular release becomes a "General-Availability" release, the Alpine version is dropped from the "Supported Tags"; they are still available to pull, but will no longer be updated. diff --git a/opensuse/README.md b/opensuse/README.md index 7e41df21dbec..62b6e0ff9a50 100644 --- a/opensuse/README.md +++ b/opensuse/README.md @@ -26,7 +26,7 @@ An archive for images of unsupported versions can be found at [`opensuse/archive [the SUSE containers team](https://github.com/openSUSE/docker-containers-build) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -45,7 +45,7 @@ An archive for images of unsupported versions can be found at [`opensuse/archive (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/opensuse`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fopensuse) + [official-images repo's `library/opensuse` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fopensuse) [official-images repo's `library/opensuse` file](https://github.com/docker-library/official-images/blob/master/library/opensuse) ([history](https://github.com/docker-library/official-images/commits/master/library/opensuse)) - **Source of this description**: diff --git a/oraclelinux/README.md b/oraclelinux/README.md index c8628e7b3c4c..eb2034c8cba5 100644 --- a/oraclelinux/README.md +++ b/oraclelinux/README.md @@ -24,14 +24,12 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`8.2`, `8`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/8.2/Dockerfile) -- [`8.1`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/8.1/Dockerfile) -- [`8.0`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/8.0/Dockerfile) -- [`8-slim`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/8-slim/Dockerfile) -- [`7.8`, `7`, `latest`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/7.8/Dockerfile) -- [`7-slim`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/7-slim/Dockerfile) -- [`6.10`, `6`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/6.10/Dockerfile) -- [`6-slim`](https://github.com/oracle/container-images/blob/f15c4cdc4a1483e541eb00d18c8058d2b5988fff/6-slim/Dockerfile) +- [`8.3`, `8`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/8/Dockerfile) +- [`8-slim`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/8-slim/Dockerfile) +- [`7.9`, `7`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/7/Dockerfile) +- [`7-slim`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/7-slim/Dockerfile) +- [`6.10`, `6`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/6/Dockerfile) +- [`6-slim`](https://github.com/oracle/container-images/blob/5214ad8b74906bb161e6b7ee6cbb018d35513aac/6-slim/Dockerfile) # Quick reference (cont.) @@ -46,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/oraclelinux`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Foraclelinux) + [official-images repo's `library/oraclelinux` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Foraclelinux) [official-images repo's `library/oraclelinux` file](https://github.com/docker-library/official-images/blob/master/library/oraclelinux) ([history](https://github.com/docker-library/official-images/commits/master/library/oraclelinux)) - **Source of this description**: @@ -54,7 +52,7 @@ WARNING: # Oracle Linux -![logo](https://raw.githubusercontent.com/docker-library/docs/ac923d04bcfcf8de5128ab155ed9f1698374fdfc/oraclelinux/logo.png) +![logo](https://raw.githubusercontent.com/docker-library/docs/9d0bc984117a35c4236e09ba1c6f4b2b9f287773/oraclelinux/logo.png) Oracle Linux is an open-source operating system available under the GNU General Public License (GPLv2). Suitable for general purpose or Oracle workloads, it benefits from rigorous testing of more than 128,000 hours per day with real- world workloads and includes unique innovations such as Ksplice for zero- downtime kernel patching, DTrace for real-time diagnostics, the powerful Btrfs file system, and more. @@ -62,6 +60,10 @@ Oracle Linux is an open-source operating system available under the GNU General The Oracle Linux images are intended for use in the **FROM** field of a downstream `Dockerfile`. For example, to use the latest optimized Oracle Linux 7 image, specify `FROM oraclelinux:7-slim`. +## Removal of `latest` tag + +The `latest` tag was removed from the Oracle Linux official images in June 2020 to reduce confusion. Downstream images using `oraclelinux:latest` or no tag should be updated to `oraclelinux:7` for future builds. Note that Oracle recommends using the `-slim` variants for the smallest possible image size. + ## Official Resources - [Learn more about Oracle Linux](https://oracle.com/linux) diff --git a/oraclelinux/content.md b/oraclelinux/content.md index a71aec4aa8e2..ed4d47c5a26b 100644 --- a/oraclelinux/content.md +++ b/oraclelinux/content.md @@ -8,6 +8,10 @@ Oracle Linux is an open-source operating system available under the GNU General The Oracle Linux images are intended for use in the **FROM** field of a downstream `Dockerfile`. For example, to use the latest optimized Oracle Linux 7 image, specify `FROM %%IMAGE%%:7-slim`. +## Removal of `latest` tag + +The `latest` tag was removed from the Oracle Linux official images in June 2020 to reduce confusion. Downstream images using `oraclelinux:latest` or no tag should be updated to `oraclelinux:7` for future builds. Note that Oracle recommends using the `-slim` variants for the smallest possible image size. + ## Official Resources - [Learn more about Oracle Linux](https://oracle.com/linux) diff --git a/oraclelinux/logo.png b/oraclelinux/logo.png index 1dbeb8cb834a..d38ab1384966 100644 Binary files a/oraclelinux/logo.png and b/oraclelinux/logo.png differ diff --git a/orientdb/README.md b/orientdb/README.md index 6ea0d5e2845f..0ccc5aa4c1ea 100644 --- a/orientdb/README.md +++ b/orientdb/README.md @@ -20,16 +20,18 @@ WARNING: [OrientDB](https://github.com/orientechnologies/orientdb-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.0.31`, `3.0`, `latest`](https://github.com/orientechnologies/orientdb-docker/blob/7893b07ad8f78b66f1c724244a88a70a05669e6e/release/3.0.x/3.0.31/Dockerfile) -- [`3.0.31-tp3`, `3.0-tp3`](https://github.com/orientechnologies/orientdb-docker/blob/7893b07ad8f78b66f1c724244a88a70a05669e6e/release/3.0.x/3.0.31-tp3/Dockerfile) -- [`2.2.37`, `2.2`](https://github.com/orientechnologies/orientdb-docker/blob/76586496ae5457689bebdf76ebd267a3be1aa954/release/2.2.x/2.2.37/Dockerfile) -- [`2.2.37-spatial`](https://github.com/orientechnologies/orientdb-docker/blob/76586496ae5457689bebdf76ebd267a3be1aa954/release/2.2.x/2.2.37-spatial/Dockerfile) -- [`2.1.25`, `2.1`](https://github.com/orientechnologies/orientdb-docker/blob/76586496ae5457689bebdf76ebd267a3be1aa954/release/2.1.x/Dockerfile) -- [`2.0.18`, `2.0`](https://github.com/orientechnologies/orientdb-docker/blob/76586496ae5457689bebdf76ebd267a3be1aa954/release/2.0.x/Dockerfile) +- [`3.1.11`, `3.1`, `latest`](https://github.com/orientechnologies/orientdb-docker/blob/a724310f28b42828c189b42bf5c565fa8e5f7fb8/release/3.1.x/3.1.11/Dockerfile) +- [`3.1.11-tp3`, `3.1-tp3`](https://github.com/orientechnologies/orientdb-docker/blob/a724310f28b42828c189b42bf5c565fa8e5f7fb8/release/3.1.x/3.1.11-tp3/Dockerfile) +- [`3.0.37`, `3.0`](https://github.com/orientechnologies/orientdb-docker/blob/b9f85393f7c8a3c37dbde7c9015fc25fb5a9c433/release/3.0.x/3.0.37/Dockerfile) +- [`3.0.37-tp3`, `3.0-tp3`](https://github.com/orientechnologies/orientdb-docker/blob/b9f85393f7c8a3c37dbde7c9015fc25fb5a9c433/release/3.0.x/3.0.37-tp3/Dockerfile) +- [`2.2.37`, `2.2`](https://github.com/orientechnologies/orientdb-docker/blob/0562973e21d0992bc799dcb7b64b1978b7e32ac3/release/2.2.x/2.2.37/Dockerfile) +- [`2.2.37-spatial`](https://github.com/orientechnologies/orientdb-docker/blob/0562973e21d0992bc799dcb7b64b1978b7e32ac3/release/2.2.x/2.2.37-spatial/Dockerfile) +- [`2.1.25`, `2.1`](https://github.com/orientechnologies/orientdb-docker/blob/0562973e21d0992bc799dcb7b64b1978b7e32ac3/release/2.1.x/Dockerfile) +- [`2.0.18`, `2.0`](https://github.com/orientechnologies/orientdb-docker/blob/0562973e21d0992bc799dcb7b64b1978b7e32ac3/release/2.0.x/Dockerfile) # Quick reference (cont.) @@ -44,7 +46,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/orientdb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Forientdb) + [official-images repo's `library/orientdb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Forientdb) [official-images repo's `library/orientdb` file](https://github.com/docker-library/official-images/blob/master/library/orientdb) ([history](https://github.com/docker-library/official-images/commits/master/library/orientdb)) - **Source of this description**: diff --git a/percona/README.md b/percona/README.md index 44df250e8db0..5c1d411ad45c 100644 --- a/percona/README.md +++ b/percona/README.md @@ -20,16 +20,17 @@ WARNING: [Percona](https://github.com/percona/percona-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8.0.19-10-centos`, `8.0-centos`, `8-centos`, `8.0.19-10`, `8.0`, `8`, `ps-8.0.19-10`, `ps-8.0`, `ps-8`](https://github.com/percona/percona-docker/blob/c5a71b2b629df714f6dbe25974d754209a3f3bb4/percona-server.80/Dockerfile) -- [`5.7.30-centos`, `5.7-centos`, `5-centos`, `centos`, `5.7.30`, `5.7`, `5`, `ps-5.7.30`, `ps-5.7`, `ps-5`, `latest`](https://github.com/percona/percona-docker/blob/722aecd7714aa6c2fa3e50ccaef1aef45b1ca5c1/percona-server.57/Dockerfile-dockerhub) -- [`5.6.48-centos`, `5.6-centos`, `5.6.48`, `5.6`, `ps-5.6.47`, `ps-5.6`](https://github.com/percona/percona-docker/blob/97f0dd85b9f99da75ea1b74727634ce15c1b5ea0/percona-server.56/Dockerfile-dockerhub) -- [`psmdb-4.2.6`, `psmdb-4.2`](https://github.com/percona/percona-docker/blob/c1b9ca0e068093c6eec7c85816f9d49e0b0b4a6a/percona-server-mongodb.42/Dockerfile) -- [`psmdb-4.0.18`, `psmdb-4.0`](https://github.com/percona/percona-docker/blob/46e9e40b837c631e383ef900c0f7ff3e2d02f916/percona-server-mongodb.40/Dockerfile) -- [`psmdb-3.6.18`, `psmdb-3.6`](https://github.com/percona/percona-docker/blob/71a631cb7271b392295637f7b1bd61a20bd9cbd7/percona-server-mongodb.36/Dockerfile) +- [`8.0.22-13-centos`, `8.0-centos`, `8-centos`, `8.0.22-13`, `8.0`, `8`, `ps-8.0.22-13`, `ps-8.0`, `ps-8`](https://github.com/percona/percona-docker/blob/0a035c8a144cc12eb4d4f8bb45e01499b57e787c/percona-server-8.0/Dockerfile) +- [`5.7.33-centos`, `5.7-centos`, `5-centos`, `centos`, `5.7.33`, `5.7`, `5`, `ps-5.7.33`, `ps-5.7`, `ps-5`, `latest`](https://github.com/percona/percona-docker/blob/9551c99eb560904aa3ea8a69c1e7f7fff3554c2b/percona-server-5.7/Dockerfile-dockerhub) +- [`5.6.51-centos`, `5.6-centos`, `5.6.51`, `5.6`, `ps-5.6.51`, `ps-5.6`](https://github.com/percona/percona-docker/blob/f31a00a8b59ee17f9305403b109fd1eb50256493/percona-server-5.6/Dockerfile-dockerhub) +- [`psmdb-4.4.5`, `psmdb-4.4`](https://github.com/percona/percona-docker/blob/4bc78f495f344a3c0cef5a321d52cee5b95047b9/percona-server-mongodb-4.4/Dockerfile) +- [`psmdb-4.2.13`, `psmdb-4.2`](https://github.com/percona/percona-docker/blob/15df2ea172d3e0c73bb8482612cfa907e43df72c/percona-server-mongodb-4.2/Dockerfile) +- [`psmdb-4.0.23`, `psmdb-4.0`](https://github.com/percona/percona-docker/blob/123ac8939a7d8cbf265fb8a122ff1fe469445d93/percona-server-mongodb-4.0/Dockerfile) +- [`psmdb-3.6.23`, `psmdb-3.6`](https://github.com/percona/percona-docker/blob/b32c7e632fe0d8b058ce32c0430a1783cfd557a0/percona-server-mongodb-3.6/Dockerfile) # Quick reference (cont.) @@ -46,7 +47,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/percona`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fpercona) + [official-images repo's `library/percona` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fpercona) [official-images repo's `library/percona` file](https://github.com/docker-library/official-images/blob/master/library/percona) ([history](https://github.com/docker-library/official-images/commits/master/library/percona)) - **Source of this description**: @@ -74,7 +75,7 @@ $ docker run --name some-percona -e MYSQL_ROOT_PASSWORD=my-secret-pw -d percona: ... where `some-percona` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MySQL root user and `tag` is the tag specifying the MySQL version you want. See the list above for relevant tags. -## Connect to MariaDB from the MySQL command line client +## Connect to Percona Server from the MySQL command line client The following command starts another `percona` container instance and runs the `mysql` command line client against your original `percona` container, allowing you to execute SQL statements against your database instance: diff --git a/percona/content.md b/percona/content.md index 48a004cc3c11..4a042642e2a8 100644 --- a/percona/content.md +++ b/percona/content.md @@ -20,7 +20,7 @@ $ docker run --name some-%%REPO%% -e MYSQL_ROOT_PASSWORD=my-secret-pw -d %%IMAGE ... where `some-%%REPO%%` is the name you want to assign to your container, `my-secret-pw` is the password to be set for the MySQL root user and `tag` is the tag specifying the MySQL version you want. See the list above for relevant tags. -## Connect to MariaDB from the MySQL command line client +## Connect to Percona Server from the MySQL command line client The following command starts another `%%IMAGE%%` container instance and runs the `mysql` command line client against your original `%%IMAGE%%` container, allowing you to execute SQL statements against your database instance: diff --git a/perl/README.md b/perl/README.md index 9d25a17913ea..0d747ace7b66 100644 --- a/perl/README.md +++ b/perl/README.md @@ -20,34 +20,34 @@ WARNING: [the Perl Community](https://github.com/Perl/docker-perl) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `5`, `5.30`, `5.30.2`, `5-buster`, `5.30-buster`, `5.30.2-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-main-buster/Dockerfile) -- [`5-stretch`, `5.30-stretch`, `5.30.2-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-main-stretch/Dockerfile) -- [`slim`, `5-slim`, `5.30-slim`, `5.30.2-slim`, `slim-buster`, `5-slim-buster`, `5.30-slim-buster`, `5.30.2-slim-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-slim-buster/Dockerfile) -- [`slim-stretch`, `5-slim-stretch`, `5.30-slim-stretch`, `5.30.2-slim-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-slim-stretch/Dockerfile) -- [`threaded`, `5-threaded`, `5.30-threaded`, `5.30.2-threaded`, `threaded-buster`, `5-threaded-buster`, `5.30-threaded-buster`, `5.30.2-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-main,threaded-buster/Dockerfile) -- [`threaded-stretch`, `5-threaded-stretch`, `5.30-threaded-stretch`, `5.30.2-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-main,threaded-stretch/Dockerfile) -- [`slim-threaded`, `5-slim-threaded`, `5.30-slim-threaded`, `5.30.2-slim-threaded`, `slim-threaded-buster`, `5-slim-threaded-buster`, `5.30-slim-threaded-buster`, `5.30.2-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-slim,threaded-buster/Dockerfile) -- [`slim-threaded-stretch`, `5-slim-threaded-stretch`, `5.30-slim-threaded-stretch`, `5.30.2-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.030.002-slim,threaded-stretch/Dockerfile) -- [`5.28`, `5.28.2`, `5.28-buster`, `5.28.2-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-main-buster/Dockerfile) -- [`5.28-stretch`, `5.28.2-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-main-stretch/Dockerfile) -- [`5.28-slim`, `5.28.2-slim`, `5.28-slim-buster`, `5.28.2-slim-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-slim-buster/Dockerfile) -- [`5.28-slim-stretch`, `5.28.2-slim-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-slim-stretch/Dockerfile) -- [`5.28-threaded`, `5.28.2-threaded`, `5.28-threaded-buster`, `5.28.2-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-main,threaded-buster/Dockerfile) -- [`5.28-threaded-stretch`, `5.28.2-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-main,threaded-stretch/Dockerfile) -- [`5.28-slim-threaded`, `5.28.2-slim-threaded`, `5.28-slim-threaded-buster`, `5.28.2-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-slim,threaded-buster/Dockerfile) -- [`5.28-slim-threaded-stretch`, `5.28.2-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.028.002-slim,threaded-stretch/Dockerfile) -- [`5.26`, `5.26.3`, `5.26-buster`, `5.26.3-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-main-buster/Dockerfile) -- [`5.26-stretch`, `5.26.3-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-main-stretch/Dockerfile) -- [`5.26-slim`, `5.26.3-slim`, `5.26-slim-buster`, `5.26.3-slim-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-slim-buster/Dockerfile) -- [`5.26-slim-stretch`, `5.26.3-slim-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-slim-stretch/Dockerfile) -- [`5.26-threaded`, `5.26.3-threaded`, `5.26-threaded-buster`, `5.26.3-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-main,threaded-buster/Dockerfile) -- [`5.26-threaded-stretch`, `5.26.3-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-main,threaded-stretch/Dockerfile) -- [`5.26-slim-threaded`, `5.26.3-slim-threaded`, `5.26-slim-threaded-buster`, `5.26.3-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-slim,threaded-buster/Dockerfile) -- [`5.26-slim-threaded-stretch`, `5.26.3-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/054bceb46d86b0f76683bbae808de63323c21c98/5.026.003-slim,threaded-stretch/Dockerfile) +- [`latest`, `5`, `5.32`, `5.32.1`, `5-buster`, `5.32-buster`, `5.32.1-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-main-buster/Dockerfile) +- [`5-stretch`, `5.32-stretch`, `5.32.1-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-main-stretch/Dockerfile) +- [`slim`, `5-slim`, `5.32-slim`, `5.32.1-slim`, `slim-buster`, `5-slim-buster`, `5.32-slim-buster`, `5.32.1-slim-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-slim-buster/Dockerfile) +- [`slim-stretch`, `5-slim-stretch`, `5.32-slim-stretch`, `5.32.1-slim-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-slim-stretch/Dockerfile) +- [`threaded`, `5-threaded`, `5.32-threaded`, `5.32.1-threaded`, `threaded-buster`, `5-threaded-buster`, `5.32-threaded-buster`, `5.32.1-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-main,threaded-buster/Dockerfile) +- [`threaded-stretch`, `5-threaded-stretch`, `5.32-threaded-stretch`, `5.32.1-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-main,threaded-stretch/Dockerfile) +- [`slim-threaded`, `5-slim-threaded`, `5.32-slim-threaded`, `5.32.1-slim-threaded`, `slim-threaded-buster`, `5-slim-threaded-buster`, `5.32-slim-threaded-buster`, `5.32.1-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-slim,threaded-buster/Dockerfile) +- [`slim-threaded-stretch`, `5-slim-threaded-stretch`, `5.32-slim-threaded-stretch`, `5.32.1-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.032.001-slim,threaded-stretch/Dockerfile) +- [`5.30`, `5.30.3`, `5.30-buster`, `5.30.3-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-main-buster/Dockerfile) +- [`5.30-stretch`, `5.30.3-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-main-stretch/Dockerfile) +- [`5.30-slim`, `5.30.3-slim`, `5.30-slim-buster`, `5.30.3-slim-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-slim-buster/Dockerfile) +- [`5.30-slim-stretch`, `5.30.3-slim-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-slim-stretch/Dockerfile) +- [`5.30-threaded`, `5.30.3-threaded`, `5.30-threaded-buster`, `5.30.3-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-main,threaded-buster/Dockerfile) +- [`5.30-threaded-stretch`, `5.30.3-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-main,threaded-stretch/Dockerfile) +- [`5.30-slim-threaded`, `5.30.3-slim-threaded`, `5.30-slim-threaded-buster`, `5.30.3-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-slim,threaded-buster/Dockerfile) +- [`5.30-slim-threaded-stretch`, `5.30.3-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.030.003-slim,threaded-stretch/Dockerfile) +- [`5.28`, `5.28.3`, `5.28-buster`, `5.28.3-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-main-buster/Dockerfile) +- [`5.28-stretch`, `5.28.3-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-main-stretch/Dockerfile) +- [`5.28-slim`, `5.28.3-slim`, `5.28-slim-buster`, `5.28.3-slim-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-slim-buster/Dockerfile) +- [`5.28-slim-stretch`, `5.28.3-slim-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-slim-stretch/Dockerfile) +- [`5.28-threaded`, `5.28.3-threaded`, `5.28-threaded-buster`, `5.28.3-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-main,threaded-buster/Dockerfile) +- [`5.28-threaded-stretch`, `5.28.3-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-main,threaded-stretch/Dockerfile) +- [`5.28-slim-threaded`, `5.28.3-slim-threaded`, `5.28-slim-threaded-buster`, `5.28.3-slim-threaded-buster`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-slim,threaded-buster/Dockerfile) +- [`5.28-slim-threaded-stretch`, `5.28.3-slim-threaded-stretch`](https://github.com/perl/docker-perl/blob/738a3ccc0f422408c153aa9b3d58d7403b7aed0c/5.028.003-slim,threaded-stretch/Dockerfile) # Quick reference (cont.) @@ -62,7 +62,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/perl`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fperl) + [official-images repo's `library/perl` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fperl) [official-images repo's `library/perl` file](https://github.com/docker-library/official-images/blob/master/library/perl) ([history](https://github.com/docker-library/official-images/commits/master/library/perl)) - **Source of this description**: @@ -102,6 +102,14 @@ For many simple, single file projects, you may find it inconvenient to write a c $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp perl:5.20 perl your-daemon-or-script.pl ``` +## Coexisting with Debian's `/usr/bin/perl` + +The *perl* binary built for this image is installed in `/usr/local/bin/perl`, along with other standard tools in the Perl distribution such as `prove` and `perldoc`, as well as [`cpanm`](https://metacpan.org/pod/App::cpanminus) for installing [CPAN](https://www.cpan.org) modules. Containers running this image will also have their `PATH` enviroment set like `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` to ensure that this *perl* binary will be found *first* in normal usage. + +As this official image of Docker is built using the [buildpack-deps](https://hub.docker.com/_/buildpack-deps) image (or [debian:slim](https://hub.docker.com/_/debian) for `:slim` variants,) this image also contains a `/usr/bin/perl` as supplied by the [Debian](https://www.debian.org) project. This is needed for the underlying [dpkg](https://en.wikipedia.org/wiki/Dpkg)/[apt](https://en.wikipedia.org/wiki/APT_(software)) package management tools to work correctly, as docker-perl cannot be used here due to different configuration (such as `@INC` and installation paths, as well as other differences like whether `-Dusethreads` is included or not.) + +See also [Perl/docker-perl#26](https://github.com/Perl/docker-perl/issues/26) for an extended discussion. + ## Signal handling behavior notice As Perl will run as PID 1 by default in containers (unless an [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint) is set,) special care needs to be considered when expecting to send signals (particularly SIGINT or SIGTERM) to it. For example, running @@ -139,7 +147,7 @@ RUN cpanm Carton \ && mkdir -p /usr/src/app WORKDIR /usr/src/app -ONBUILD COPY cpanfile* /usr/src/myapp +ONBUILD COPY cpanfile* /usr/src/app ONBUILD RUN carton install ONBUILD COPY . /usr/src/app diff --git a/perl/content.md b/perl/content.md index bbaa6841c98b..56130198c0ed 100644 --- a/perl/content.md +++ b/perl/content.md @@ -32,6 +32,14 @@ For many simple, single file projects, you may find it inconvenient to write a c $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:5.20 perl your-daemon-or-script.pl ``` +## Coexisting with Debian's `/usr/bin/perl` + +The *perl* binary built for this image is installed in `/usr/local/bin/perl`, along with other standard tools in the Perl distribution such as `prove` and `perldoc`, as well as [`cpanm`](https://metacpan.org/pod/App::cpanminus) for installing [CPAN](https://www.cpan.org) modules. Containers running this image will also have their `PATH` enviroment set like `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin` to ensure that this *perl* binary will be found *first* in normal usage. + +As this official image of Docker is built using the [buildpack-deps](https://hub.docker.com/_/buildpack-deps) image (or [debian:slim](https://hub.docker.com/_/debian) for `:slim` variants,) this image also contains a `/usr/bin/perl` as supplied by the [Debian](https://www.debian.org) project. This is needed for the underlying [dpkg](https://en.wikipedia.org/wiki/Dpkg)/[apt](https://en.wikipedia.org/wiki/APT_(software)) package management tools to work correctly, as docker-perl cannot be used here due to different configuration (such as `@INC` and installation paths, as well as other differences like whether `-Dusethreads` is included or not.) + +See also [Perl/docker-perl#26](https://github.com/Perl/docker-perl/issues/26) for an extended discussion. + ## Signal handling behavior notice As Perl will run as PID 1 by default in containers (unless an [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint) is set,) special care needs to be considered when expecting to send signals (particularly SIGINT or SIGTERM) to it. For example, running @@ -69,7 +77,7 @@ RUN cpanm Carton \ && mkdir -p /usr/src/app WORKDIR /usr/src/app -ONBUILD COPY cpanfile* /usr/src/myapp +ONBUILD COPY cpanfile* /usr/src/app ONBUILD RUN carton install ONBUILD COPY . /usr/src/app diff --git a/photon/README.md b/photon/README.md index bf1b6d14aed2..86b49423c70c 100644 --- a/photon/README.md +++ b/photon/README.md @@ -20,13 +20,14 @@ WARNING: [VMware](https://github.com/vmware/photon-docker-image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.0`, `3.0-20200522`, `latest`](https://github.com/vmware/photon-docker-image/blob/f1623ddb44f5f20d0c61da0ff948fc7df2109208/docker/Dockerfile) -- [`1.0`, `1.0-20200515`](https://github.com/vmware/photon-docker-image/blob/4b3fff6435e5889c3e4fc89af12016365676ac20/docker/Dockerfile) -- [`2.0`, `2.0-20200515`](https://github.com/vmware/photon-docker-image/blob/099e5627d6a2911fc39bd4c161a15950e22de9ea/docker/Dockerfile) +- [`4.0`, `4.0-20210416`, `latest`](https://github.com/vmware/photon-docker-image/blob/e156344c305129a464eeb9c5fa1a383502c54d71/docker/Dockerfile) +- [`3.0`, `3.0-20210416`](https://github.com/vmware/photon-docker-image/blob/2aeb97f8dde8bfa5f781748b0c71425bfe47add1/docker/Dockerfile) +- [`1.0`, `1.0-20210416`](https://github.com/vmware/photon-docker-image/blob/76de488ffd07e0babc7d0ba7fb62bd25673ab672/docker/Dockerfile) +- [`2.0`, `2.0-20210416`](https://github.com/vmware/photon-docker-image/blob/409329193d08c81b54b5ab7d0a0874aa63f1a294/docker/Dockerfile) # Quick reference (cont.) @@ -41,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/photon`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fphoton) + [official-images repo's `library/photon` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphoton) [official-images repo's `library/photon` file](https://github.com/docker-library/official-images/blob/master/library/photon) ([history](https://github.com/docker-library/official-images/commits/master/library/photon)) - **Source of this description**: diff --git a/php-zendserver/README.md b/php-zendserver/README.md index ef22640ba15f..23bfb87bb86f 100644 --- a/php-zendserver/README.md +++ b/php-zendserver/README.md @@ -20,13 +20,13 @@ WARNING: [Perforce Software, Inc.](https://github.com/zendtech/php-zendserver-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8.5`, `8.5-php5.6`, `5.6`](https://github.com/zendtech/php-zendserver-docker/blob/9dbdde8ed975da58a8bfdefeedf1e37ea24034f9/8.5/5.6/Dockerfile) -- [`9.1`](https://github.com/zendtech/php-zendserver-docker/blob/9dbdde8ed975da58a8bfdefeedf1e37ea24034f9/9.1/7.1/Dockerfile) -- [`2019.0`, `latest`](https://github.com/zendtech/php-zendserver-docker/blob/9dbdde8ed975da58a8bfdefeedf1e37ea24034f9/2019.0/Dockerfile) +- [`8.5`, `8.5-php5.6`, `5.6`](https://github.com/zendtech/php-zendserver-docker/blob/f56e31421325fcef7c3619d9c582a30c647a545b/8.5/5.6/Dockerfile) +- [`9.1`](https://github.com/zendtech/php-zendserver-docker/blob/f56e31421325fcef7c3619d9c582a30c647a545b/9.1/7.1/Dockerfile) +- [`2019.0`, `latest`](https://github.com/zendtech/php-zendserver-docker/blob/f56e31421325fcef7c3619d9c582a30c647a545b/2019.0/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/php-zendserver`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fphp-zendserver) + [official-images repo's `library/php-zendserver` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphp-zendserver) [official-images repo's `library/php-zendserver` file](https://github.com/docker-library/official-images/blob/master/library/php-zendserver) ([history](https://github.com/docker-library/official-images/commits/master/library/php-zendserver)) - **Source of this description**: diff --git a/php/README.md b/php/README.md index f35dc058333a..11f0a6867e37 100644 --- a/php/README.md +++ b/php/README.md @@ -20,48 +20,42 @@ WARNING: [the Docker Community](https://github.com/docker-library/php) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`7.4.6-cli-buster`, `7.4-cli-buster`, `7-cli-buster`, `cli-buster`, `7.4.6-buster`, `7.4-buster`, `7-buster`, `buster`, `7.4.6-cli`, `7.4-cli`, `7-cli`, `cli`, `7.4.6`, `7.4`, `7`, `latest`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/buster/cli/Dockerfile) -- [`7.4.6-apache-buster`, `7.4-apache-buster`, `7-apache-buster`, `apache-buster`, `7.4.6-apache`, `7.4-apache`, `7-apache`, `apache`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/buster/apache/Dockerfile) -- [`7.4.6-fpm-buster`, `7.4-fpm-buster`, `7-fpm-buster`, `fpm-buster`, `7.4.6-fpm`, `7.4-fpm`, `7-fpm`, `fpm`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/buster/fpm/Dockerfile) -- [`7.4.6-zts-buster`, `7.4-zts-buster`, `7-zts-buster`, `zts-buster`, `7.4.6-zts`, `7.4-zts`, `7-zts`, `zts`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/buster/zts/Dockerfile) -- [`7.4.6-cli-alpine3.11`, `7.4-cli-alpine3.11`, `7-cli-alpine3.11`, `cli-alpine3.11`, `7.4.6-alpine3.11`, `7.4-alpine3.11`, `7-alpine3.11`, `alpine3.11`, `7.4.6-cli-alpine`, `7.4-cli-alpine`, `7-cli-alpine`, `cli-alpine`, `7.4.6-alpine`, `7.4-alpine`, `7-alpine`, `alpine`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.11/cli/Dockerfile) -- [`7.4.6-fpm-alpine3.11`, `7.4-fpm-alpine3.11`, `7-fpm-alpine3.11`, `fpm-alpine3.11`, `7.4.6-fpm-alpine`, `7.4-fpm-alpine`, `7-fpm-alpine`, `fpm-alpine`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.11/fpm/Dockerfile) -- [`7.4.6-zts-alpine3.11`, `7.4-zts-alpine3.11`, `7-zts-alpine3.11`, `zts-alpine3.11`, `7.4.6-zts-alpine`, `7.4-zts-alpine`, `7-zts-alpine`, `zts-alpine`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.11/zts/Dockerfile) -- [`7.4.6-cli-alpine3.10`, `7.4-cli-alpine3.10`, `7-cli-alpine3.10`, `cli-alpine3.10`, `7.4.6-alpine3.10`, `7.4-alpine3.10`, `7-alpine3.10`, `alpine3.10`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.10/cli/Dockerfile) -- [`7.4.6-fpm-alpine3.10`, `7.4-fpm-alpine3.10`, `7-fpm-alpine3.10`, `fpm-alpine3.10`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.10/fpm/Dockerfile) -- [`7.4.6-zts-alpine3.10`, `7.4-zts-alpine3.10`, `7-zts-alpine3.10`, `zts-alpine3.10`](https://github.com/docker-library/php/blob/8c6d1f42185d2a3cd22f381ba4bcd95ec52fa31f/7.4/alpine3.10/zts/Dockerfile) -- [`7.3.18-cli-buster`, `7.3-cli-buster`, `7.3.18-buster`, `7.3-buster`, `7.3.18-cli`, `7.3-cli`, `7.3.18`, `7.3`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/buster/cli/Dockerfile) -- [`7.3.18-apache-buster`, `7.3-apache-buster`, `7.3.18-apache`, `7.3-apache`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/buster/apache/Dockerfile) -- [`7.3.18-fpm-buster`, `7.3-fpm-buster`, `7.3.18-fpm`, `7.3-fpm`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/buster/fpm/Dockerfile) -- [`7.3.18-zts-buster`, `7.3-zts-buster`, `7.3.18-zts`, `7.3-zts`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/buster/zts/Dockerfile) -- [`7.3.18-cli-stretch`, `7.3-cli-stretch`, `7.3.18-stretch`, `7.3-stretch`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/stretch/cli/Dockerfile) -- [`7.3.18-apache-stretch`, `7.3-apache-stretch`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/stretch/apache/Dockerfile) -- [`7.3.18-fpm-stretch`, `7.3-fpm-stretch`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/stretch/fpm/Dockerfile) -- [`7.3.18-zts-stretch`, `7.3-zts-stretch`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/stretch/zts/Dockerfile) -- [`7.3.18-cli-alpine3.11`, `7.3-cli-alpine3.11`, `7.3.18-alpine3.11`, `7.3-alpine3.11`, `7.3.18-cli-alpine`, `7.3-cli-alpine`, `7.3.18-alpine`, `7.3-alpine`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.11/cli/Dockerfile) -- [`7.3.18-fpm-alpine3.11`, `7.3-fpm-alpine3.11`, `7.3.18-fpm-alpine`, `7.3-fpm-alpine`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.11/fpm/Dockerfile) -- [`7.3.18-zts-alpine3.11`, `7.3-zts-alpine3.11`, `7.3.18-zts-alpine`, `7.3-zts-alpine`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.11/zts/Dockerfile) -- [`7.3.18-cli-alpine3.10`, `7.3-cli-alpine3.10`, `7.3.18-alpine3.10`, `7.3-alpine3.10`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.10/cli/Dockerfile) -- [`7.3.18-fpm-alpine3.10`, `7.3-fpm-alpine3.10`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.10/fpm/Dockerfile) -- [`7.3.18-zts-alpine3.10`, `7.3-zts-alpine3.10`](https://github.com/docker-library/php/blob/a3cf31c9020559777c731d980047450cba744122/7.3/alpine3.10/zts/Dockerfile) -- [`7.2.31-cli-buster`, `7.2-cli-buster`, `7.2.31-buster`, `7.2-buster`, `7.2.31-cli`, `7.2-cli`, `7.2.31`, `7.2`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/buster/cli/Dockerfile) -- [`7.2.31-apache-buster`, `7.2-apache-buster`, `7.2.31-apache`, `7.2-apache`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/buster/apache/Dockerfile) -- [`7.2.31-fpm-buster`, `7.2-fpm-buster`, `7.2.31-fpm`, `7.2-fpm`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/buster/fpm/Dockerfile) -- [`7.2.31-zts-buster`, `7.2-zts-buster`, `7.2.31-zts`, `7.2-zts`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/buster/zts/Dockerfile) -- [`7.2.31-cli-stretch`, `7.2-cli-stretch`, `7.2.31-stretch`, `7.2-stretch`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/stretch/cli/Dockerfile) -- [`7.2.31-apache-stretch`, `7.2-apache-stretch`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/stretch/apache/Dockerfile) -- [`7.2.31-fpm-stretch`, `7.2-fpm-stretch`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/stretch/fpm/Dockerfile) -- [`7.2.31-zts-stretch`, `7.2-zts-stretch`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/stretch/zts/Dockerfile) -- [`7.2.31-cli-alpine3.11`, `7.2-cli-alpine3.11`, `7.2.31-alpine3.11`, `7.2-alpine3.11`, `7.2.31-cli-alpine`, `7.2-cli-alpine`, `7.2.31-alpine`, `7.2-alpine`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.11/cli/Dockerfile) -- [`7.2.31-fpm-alpine3.11`, `7.2-fpm-alpine3.11`, `7.2.31-fpm-alpine`, `7.2-fpm-alpine`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.11/fpm/Dockerfile) -- [`7.2.31-zts-alpine3.11`, `7.2-zts-alpine3.11`, `7.2.31-zts-alpine`, `7.2-zts-alpine`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.11/zts/Dockerfile) -- [`7.2.31-cli-alpine3.10`, `7.2-cli-alpine3.10`, `7.2.31-alpine3.10`, `7.2-alpine3.10`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.10/cli/Dockerfile) -- [`7.2.31-fpm-alpine3.10`, `7.2-fpm-alpine3.10`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.10/fpm/Dockerfile) -- [`7.2.31-zts-alpine3.10`, `7.2-zts-alpine3.10`](https://github.com/docker-library/php/blob/057b438e69093c927a84cce4308c7ad08ccdd5b0/7.2/alpine3.10/zts/Dockerfile) +- [`8.0.3-cli-buster`, `8.0-cli-buster`, `8-cli-buster`, `cli-buster`, `8.0.3-buster`, `8.0-buster`, `8-buster`, `buster`, `8.0.3-cli`, `8.0-cli`, `8-cli`, `cli`, `8.0.3`, `8.0`, `8`, `latest`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/buster/cli/Dockerfile) +- [`8.0.3-apache-buster`, `8.0-apache-buster`, `8-apache-buster`, `apache-buster`, `8.0.3-apache`, `8.0-apache`, `8-apache`, `apache`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/buster/apache/Dockerfile) +- [`8.0.3-fpm-buster`, `8.0-fpm-buster`, `8-fpm-buster`, `fpm-buster`, `8.0.3-fpm`, `8.0-fpm`, `8-fpm`, `fpm`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/buster/fpm/Dockerfile) +- [`8.0.3-zts-buster`, `8.0-zts-buster`, `8-zts-buster`, `zts-buster`, `8.0.3-zts`, `8.0-zts`, `8-zts`, `zts`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/buster/zts/Dockerfile) +- [`8.0.3-cli-alpine3.13`, `8.0-cli-alpine3.13`, `8-cli-alpine3.13`, `cli-alpine3.13`, `8.0.3-alpine3.13`, `8.0-alpine3.13`, `8-alpine3.13`, `alpine3.13`, `8.0.3-cli-alpine`, `8.0-cli-alpine`, `8-cli-alpine`, `cli-alpine`, `8.0.3-alpine`, `8.0-alpine`, `8-alpine`, `alpine`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/alpine3.13/cli/Dockerfile) +- [`8.0.3-fpm-alpine3.13`, `8.0-fpm-alpine3.13`, `8-fpm-alpine3.13`, `fpm-alpine3.13`, `8.0.3-fpm-alpine`, `8.0-fpm-alpine`, `8-fpm-alpine`, `fpm-alpine`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/alpine3.13/fpm/Dockerfile) +- [`8.0.3-cli-alpine3.12`, `8.0-cli-alpine3.12`, `8-cli-alpine3.12`, `cli-alpine3.12`, `8.0.3-alpine3.12`, `8.0-alpine3.12`, `8-alpine3.12`, `alpine3.12`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/alpine3.12/cli/Dockerfile) +- [`8.0.3-fpm-alpine3.12`, `8.0-fpm-alpine3.12`, `8-fpm-alpine3.12`, `fpm-alpine3.12`](https://github.com/docker-library/php/blob/64811791f0682262478d73514819908fcfe73d7f/8.0/alpine3.12/fpm/Dockerfile) +- [`7.4.16-cli-buster`, `7.4-cli-buster`, `7-cli-buster`, `7.4.16-buster`, `7.4-buster`, `7-buster`, `7.4.16-cli`, `7.4-cli`, `7-cli`, `7.4.16`, `7.4`, `7`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/buster/cli/Dockerfile) +- [`7.4.16-apache-buster`, `7.4-apache-buster`, `7-apache-buster`, `7.4.16-apache`, `7.4-apache`, `7-apache`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/buster/apache/Dockerfile) +- [`7.4.16-fpm-buster`, `7.4-fpm-buster`, `7-fpm-buster`, `7.4.16-fpm`, `7.4-fpm`, `7-fpm`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/buster/fpm/Dockerfile) +- [`7.4.16-zts-buster`, `7.4-zts-buster`, `7-zts-buster`, `7.4.16-zts`, `7.4-zts`, `7-zts`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/buster/zts/Dockerfile) +- [`7.4.16-cli-alpine3.13`, `7.4-cli-alpine3.13`, `7-cli-alpine3.13`, `7.4.16-alpine3.13`, `7.4-alpine3.13`, `7-alpine3.13`, `7.4.16-cli-alpine`, `7.4-cli-alpine`, `7-cli-alpine`, `7.4.16-alpine`, `7.4-alpine`, `7-alpine`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.13/cli/Dockerfile) +- [`7.4.16-fpm-alpine3.13`, `7.4-fpm-alpine3.13`, `7-fpm-alpine3.13`, `7.4.16-fpm-alpine`, `7.4-fpm-alpine`, `7-fpm-alpine`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.13/fpm/Dockerfile) +- [`7.4.16-zts-alpine3.13`, `7.4-zts-alpine3.13`, `7-zts-alpine3.13`, `7.4.16-zts-alpine`, `7.4-zts-alpine`, `7-zts-alpine`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.13/zts/Dockerfile) +- [`7.4.16-cli-alpine3.12`, `7.4-cli-alpine3.12`, `7-cli-alpine3.12`, `7.4.16-alpine3.12`, `7.4-alpine3.12`, `7-alpine3.12`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.12/cli/Dockerfile) +- [`7.4.16-fpm-alpine3.12`, `7.4-fpm-alpine3.12`, `7-fpm-alpine3.12`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.12/fpm/Dockerfile) +- [`7.4.16-zts-alpine3.12`, `7.4-zts-alpine3.12`, `7-zts-alpine3.12`](https://github.com/docker-library/php/blob/1bc63c1ce4294a4ecb50c60dcf6a57d6749cba7d/7.4/alpine3.12/zts/Dockerfile) +- [`7.3.27-cli-buster`, `7.3-cli-buster`, `7.3.27-buster`, `7.3-buster`, `7.3.27-cli`, `7.3-cli`, `7.3.27`, `7.3`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/buster/cli/Dockerfile) +- [`7.3.27-apache-buster`, `7.3-apache-buster`, `7.3.27-apache`, `7.3-apache`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/buster/apache/Dockerfile) +- [`7.3.27-fpm-buster`, `7.3-fpm-buster`, `7.3.27-fpm`, `7.3-fpm`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/buster/fpm/Dockerfile) +- [`7.3.27-zts-buster`, `7.3-zts-buster`, `7.3.27-zts`, `7.3-zts`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/buster/zts/Dockerfile) +- [`7.3.27-cli-stretch`, `7.3-cli-stretch`, `7.3.27-stretch`, `7.3-stretch`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/stretch/cli/Dockerfile) +- [`7.3.27-apache-stretch`, `7.3-apache-stretch`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/stretch/apache/Dockerfile) +- [`7.3.27-fpm-stretch`, `7.3-fpm-stretch`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/stretch/fpm/Dockerfile) +- [`7.3.27-zts-stretch`, `7.3-zts-stretch`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/stretch/zts/Dockerfile) +- [`7.3.27-cli-alpine3.13`, `7.3-cli-alpine3.13`, `7.3.27-alpine3.13`, `7.3-alpine3.13`, `7.3.27-cli-alpine`, `7.3-cli-alpine`, `7.3.27-alpine`, `7.3-alpine`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.13/cli/Dockerfile) +- [`7.3.27-fpm-alpine3.13`, `7.3-fpm-alpine3.13`, `7.3.27-fpm-alpine`, `7.3-fpm-alpine`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.13/fpm/Dockerfile) +- [`7.3.27-zts-alpine3.13`, `7.3-zts-alpine3.13`, `7.3.27-zts-alpine`, `7.3-zts-alpine`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.13/zts/Dockerfile) +- [`7.3.27-cli-alpine3.12`, `7.3-cli-alpine3.12`, `7.3.27-alpine3.12`, `7.3-alpine3.12`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.12/cli/Dockerfile) +- [`7.3.27-fpm-alpine3.12`, `7.3-fpm-alpine3.12`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.12/fpm/Dockerfile) +- [`7.3.27-zts-alpine3.12`, `7.3-zts-alpine3.12`](https://github.com/docker-library/php/blob/29b7e57a1522c47e480693e537acf0328e4a7207/7.3/alpine3.12/zts/Dockerfile) # Quick reference (cont.) @@ -76,7 +70,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/php`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fphp) + [official-images repo's `library/php` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphp) [official-images repo's `library/php` file](https://github.com/docker-library/official-images/blob/master/library/php) ([history](https://github.com/docker-library/official-images/commits/master/library/php)) - **Source of this description**: @@ -217,11 +211,10 @@ RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar. ## Running as an arbitrary user -For running the Apache variants as an arbitrary user, there are several choices: +For running the Apache variants as an arbitrary user, there are a couple choices: -- If your kernel [is version 4.11 or newer](https://github.com/moby/moby/issues/8460#issuecomment-312459310), you can add `--sysctl net.ipv4.ip_unprivileged_port_start=0` and then `--user` should work as it does for FPM. +- If your kernel [is version 4.11 or newer](https://github.com/moby/moby/issues/8460#issuecomment-312459310), you can add `--sysctl net.ipv4.ip_unprivileged_port_start=0` (which [will be the default in a future version of Docker](https://github.com/moby/moby/pull/41030)) and then `--user` should work as it does for FPM. - If you adjust the Apache configuration to use an "unprivileged" port (greater than 1024 by default), then `--user` should work as it does for FPM regardless of kernel version. -- Otherwise, setting `APACHE_RUN_USER` and/or `APACHE_RUN_GROUP` should have the desired effect (for example, `-e APACHE_RUN_USER=daemon` or `-e APACHE_RUN_USER=#1000` -- see [the Apache `User` directive documentation for details on the expected syntax](https://httpd.apache.org/docs/2.4/mod/mod_unixd.html#user)). For running the FPM variants as an arbitrary user, the `--user` flag to `docker run` should be used (which can accept both a username/group in the container's `/etc/passwd` file like `--user daemon` or a specific UID/GID like `--user 1000:1000`). @@ -327,9 +320,9 @@ Some potentially helpful resources: ## `php:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/php/content.md b/php/content.md index d97244e1d77f..31a1008393bf 100644 --- a/php/content.md +++ b/php/content.md @@ -133,11 +133,10 @@ RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar. ## Running as an arbitrary user -For running the Apache variants as an arbitrary user, there are several choices: +For running the Apache variants as an arbitrary user, there are a couple choices: -- If your kernel [is version 4.11 or newer](https://github.com/moby/moby/issues/8460#issuecomment-312459310), you can add `--sysctl net.ipv4.ip_unprivileged_port_start=0` and then `--user` should work as it does for FPM. +- If your kernel [is version 4.11 or newer](https://github.com/moby/moby/issues/8460#issuecomment-312459310), you can add `--sysctl net.ipv4.ip_unprivileged_port_start=0` (which [will be the default in a future version of Docker](https://github.com/moby/moby/pull/41030)) and then `--user` should work as it does for FPM. - If you adjust the Apache configuration to use an "unprivileged" port (greater than 1024 by default), then `--user` should work as it does for FPM regardless of kernel version. -- Otherwise, setting `APACHE_RUN_USER` and/or `APACHE_RUN_GROUP` should have the desired effect (for example, `-e APACHE_RUN_USER=daemon` or `-e APACHE_RUN_USER=#1000` -- see [the Apache `User` directive documentation for details on the expected syntax](https://httpd.apache.org/docs/2.4/mod/mod_unixd.html#user)). For running the FPM variants as an arbitrary user, the `--user` flag to `docker run` should be used (which can accept both a username/group in the container's `/etc/passwd` file like `--user daemon` or a specific UID/GID like `--user 1000:1000`). diff --git a/phpmyadmin/README-short.txt b/phpmyadmin/README-short.txt new file mode 100644 index 000000000000..23c2afd65b6f --- /dev/null +++ b/phpmyadmin/README-short.txt @@ -0,0 +1 @@ +phpMyAdmin - A web interface for MySQL and MariaDB. diff --git a/phpmyadmin/README.md b/phpmyadmin/README.md new file mode 100644 index 000000000000..69ec6aa32feb --- /dev/null +++ b/phpmyadmin/README.md @@ -0,0 +1,208 @@ + + +# Quick reference + +- **Maintained by**: + [phpMyAdmin](https://github.com/phpmyadmin/docker) + +- **Where to get help**: + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + +# Supported tags and respective `Dockerfile` links + +- [`5.1.0-apache`, `5.1-apache`, `5-apache`, `apache`, `5.1.0`, `5.1`, `5`, `latest`](https://github.com/phpmyadmin/docker/blob/3d8c2ba403fa091a19c6f16762d50663e57f8969/apache/Dockerfile) +- [`5.1.0-fpm`, `5.1-fpm`, `5-fpm`, `fpm`](https://github.com/phpmyadmin/docker/blob/3d8c2ba403fa091a19c6f16762d50663e57f8969/fpm/Dockerfile) +- [`5.1.0-fpm-alpine`, `5.1-fpm-alpine`, `5-fpm-alpine`, `fpm-alpine`](https://github.com/phpmyadmin/docker/blob/3d8c2ba403fa091a19c6f16762d50663e57f8969/fpm-alpine/Dockerfile) + +# Quick reference (cont.) + +- **Where to file issues**: + [https://github.com/phpmyadmin/docker/issues](https://github.com/phpmyadmin/docker/issues) + +- **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) + [`amd64`](https://hub.docker.com/r/amd64/phpmyadmin/), [`arm32v5`](https://hub.docker.com/r/arm32v5/phpmyadmin/), [`arm32v6`](https://hub.docker.com/r/arm32v6/phpmyadmin/), [`arm32v7`](https://hub.docker.com/r/arm32v7/phpmyadmin/), [`arm64v8`](https://hub.docker.com/r/arm64v8/phpmyadmin/), [`i386`](https://hub.docker.com/r/i386/phpmyadmin/), [`mips64le`](https://hub.docker.com/r/mips64le/phpmyadmin/), [`ppc64le`](https://hub.docker.com/r/ppc64le/phpmyadmin/), [`s390x`](https://hub.docker.com/r/s390x/phpmyadmin/) + +- **Published image artifact details**: + [repo-info repo's `repos/phpmyadmin/` directory](https://github.com/docker-library/repo-info/blob/master/repos/phpmyadmin) ([history](https://github.com/docker-library/repo-info/commits/master/repos/phpmyadmin)) + (image metadata, transfer size, etc) + +- **Image updates**: + [official-images repo's `library/phpmyadmin` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fphpmyadmin) + [official-images repo's `library/phpmyadmin` file](https://github.com/docker-library/official-images/blob/master/library/phpmyadmin) ([history](https://github.com/docker-library/official-images/commits/master/library/phpmyadmin)) + +- **Source of this description**: + [docs repo's `phpmyadmin/` directory](https://github.com/docker-library/docs/tree/master/phpmyadmin) ([history](https://github.com/docker-library/docs/commits/master/phpmyadmin)) + +# What is phpMyAdmin? + +phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement. + +Run phpMyAdmin with Alpine, Apache and PHP FPM. + +![logo](https://raw.githubusercontent.com/docker-library/docs/1a06458dd2512b5bcda0a849738bb5ca32bf8ec0/phpmyadmin/logo.png) + +# How to use this image + +All following examples will bring you phpMyAdmin on `http://localhost:8080` where you can enjoy your happy MySQL administration. + +## Credentials + +phpMyAdmin does use MySQL server credential, please check the corresponding server image for information how it is setup. + +The official MySQL and MariaDB use following environment variables to define these: + +- `MYSQL_ROOT_PASSWORD` - This variable is mandatory and specifies the password that will be set for the `root` superuser account. +- `MYSQL_USER`, `MYSQL_PASSWORD` - These variables are optional, used in conjunction to create a new user and to set that user's password. + +## Supported Docker hub tags + +The following tags are available: + +- `latest`, `fpm`, and `fpm-alpine` are always the most recent released version +- Major versions, such as `5`, `5-fpm`, and `5-fpm-alpine` +- Specific minor versions, such as `5.0`, `5.0-fpm`, and `5-fpm-alpine` +- Specific patch versions, such as `5.0.0`, `5.0.0-fpm`, and `5.0.0-alpine`. Note that, on rare occasion, here may be an intermediary "docker-only" release, such as 4.9.2-1 + +## Usage with linked server + +First you need to run MySQL or MariaDB server in Docker, and this image need link a running mysql instance container: + +```console +$ docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 phpmyadmin +``` + +## Usage with external server + +You can specify MySQL host in the `PMA_HOST` environment variable. You can also use `PMA_PORT` to specify port of the server in case it's not the default one: + +```console +$ docker run --name myadmin -d -e PMA_HOST=dbhost -p 8080:80 phpmyadmin +``` + +## Usage with arbitrary server + +You can use arbitrary servers by adding ENV variable `PMA_ARBITRARY=1` to the startup command: + +```console +$ docker run --name myadmin -d -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin +``` + +## Usage with docker-compose and arbitrary server + +This will run phpMyAdmin with arbitrary server - allowing you to specify MySQL/MariaDB server on login page. + +... via [`docker stack deploy`](https://docs.docker.com/engine/reference/commandline/stack_deploy/) or [`docker-compose`](https://github.com/docker/compose) + +Example `stack.yml` for `phpmyadmin`: + +```yaml +version: '3.1' + +services: + db: + image: mariadb:10.3 + restart: always + environment: + MYSQL_ROOT_PASSWORD: notSecureChangeMe + + phpmyadmin: + image: phpmyadmin + restart: always + ports: + - 8080:80 + environment: + - PMA_ARBITRARY=1 +``` + +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/301c98c7060d8fc31d011680763fac403d776fe2/phpmyadmin/stack.yml) + +## Adding Custom Configuration + +You can add your own custom config.inc.php settings (such as Configuration Storage setup) by creating a file named "config.user.inc.php" with the various user defined settings in it, and then linking it into the container using `-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php`. + +On the `docker run` line like this: + +```console +$ docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php phpmyadmin +``` + +See the following links for config file information: + +- https://docs.phpmyadmin.net/en/latest/config.html#config +- https://docs.phpmyadmin.net/en/latest/setup.html + +## Usage behind reverse proxys + +Set the variable `PMA_ABSOLUTE_URI` to the fully-qualified path (`https://pma.example.net/`) where the reverse proxy makes phpMyAdmin available. + +## Environment variables summary + +- `PMA_ARBITRARY` - when set to 1 connection to the arbitrary server will be allowed +- `PMA_HOST` - define address/host name of the MySQL server +- `PMA_VERBOSE` - define verbose name of the MySQL server +- `PMA_PORT` - define port of the MySQL server +- `PMA_HOSTS` - define comma separated list of address/host names of the MySQL servers +- `PMA_VERBOSES` - define comma separated list of verbose names of the MySQL servers +- `PMA_PORTS` - define comma separated list of ports of the MySQL servers +- `PMA_USER` and `PMA_PASSWORD` - define username to use for config authentication method +- `PMA_ABSOLUTE_URI` - define user-facing URI +- `HIDE_PHP_VERSION` - if defined, will hide the php version (`expose_php = Off`). Set to any value (such as HIDE_PHP_VERSION=true). +- `UPLOAD_LIMIT` - if set, will override the default value for apache and php-fpm (default value is 2048 kb) +- `PMA_CONFIG_BASE64` - if set, will override the default config.inc.php with the base64 decoded contents of the variable +- `PMA_USER_CONFIG_BASE64` - if set, will override the default config.user.inc.php with the base64 decoded contents of the variable + +For usage with Docker secrets, appending `_FILE` to the `PMA_PASSWORD` environment variable is allowed (it overrides `PMA_PASSWORD` if it is set): + +```console +$ docker run --name myadmin -d -e PMA_PASSWORD_FILE=/run/secrets/db_password.txt -p 8080:80 phpmyadmin/phpmyadmin +``` + +#### Variables that can be read from a file using `_FILE` + +- PMA_PASSWORD +- MYSQL_ROOT_PASSWORD +- MYSQL_PASSWORD +- PMA_HOSTS +- PMA_HOST + +For more detailed documentation see https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker + +# Image Variants + +The `phpmyadmin` images come in many flavors, each designed for a specific use case. + +## `phpmyadmin:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +## `phpmyadmin:-alpine` + +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. + +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. + +To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). + +# License + +View [license information](https://github.com/phpmyadmin/docker/blob/master/LICENSE) for the software contained in this image. + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `phpmyadmin/` directory](https://github.com/docker-library/repo-info/tree/master/repos/phpmyadmin). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. diff --git a/phpmyadmin/content.md b/phpmyadmin/content.md new file mode 100644 index 000000000000..a179df3dc37d --- /dev/null +++ b/phpmyadmin/content.md @@ -0,0 +1,110 @@ +# What is phpMyAdmin? + +phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement. + +Run phpMyAdmin with Alpine, Apache and PHP FPM. + +%%LOGO%% + +# How to use this image + +All following examples will bring you phpMyAdmin on `http://localhost:8080` where you can enjoy your happy MySQL administration. + +## Credentials + +phpMyAdmin does use MySQL server credential, please check the corresponding server image for information how it is setup. + +The official MySQL and MariaDB use following environment variables to define these: + +- `MYSQL_ROOT_PASSWORD` - This variable is mandatory and specifies the password that will be set for the `root` superuser account. +- `MYSQL_USER`, `MYSQL_PASSWORD` - These variables are optional, used in conjunction to create a new user and to set that user's password. + +## Supported Docker hub tags + +The following tags are available: + +- `latest`, `fpm`, and `fpm-alpine` are always the most recent released version +- Major versions, such as `5`, `5-fpm`, and `5-fpm-alpine` +- Specific minor versions, such as `5.0`, `5.0-fpm`, and `5-fpm-alpine` +- Specific patch versions, such as `5.0.0`, `5.0.0-fpm`, and `5.0.0-alpine`. Note that, on rare occasion, here may be an intermediary "docker-only" release, such as 4.9.2-1 + +## Usage with linked server + +First you need to run MySQL or MariaDB server in Docker, and this image need link a running mysql instance container: + +```console +$ docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 %%IMAGE%% +``` + +## Usage with external server + +You can specify MySQL host in the `PMA_HOST` environment variable. You can also use `PMA_PORT` to specify port of the server in case it's not the default one: + +```console +$ docker run --name myadmin -d -e PMA_HOST=dbhost -p 8080:80 %%IMAGE%% +``` + +## Usage with arbitrary server + +You can use arbitrary servers by adding ENV variable `PMA_ARBITRARY=1` to the startup command: + +```console +$ docker run --name myadmin -d -e PMA_ARBITRARY=1 -p 8080:80 %%IMAGE%% +``` + +## Usage with docker-compose and arbitrary server + +This will run phpMyAdmin with arbitrary server - allowing you to specify MySQL/MariaDB server on login page. + +%%STACK%% + +## Adding Custom Configuration + +You can add your own custom config.inc.php settings (such as Configuration Storage setup) by creating a file named "config.user.inc.php" with the various user defined settings in it, and then linking it into the container using `-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php`. + +On the `docker run` line like this: + +```console +$ docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php %%IMAGE%% +``` + +See the following links for config file information: + +- https://docs.phpmyadmin.net/en/latest/config.html#config +- https://docs.phpmyadmin.net/en/latest/setup.html + +## Usage behind reverse proxys + +Set the variable `PMA_ABSOLUTE_URI` to the fully-qualified path (`https://pma.example.net/`) where the reverse proxy makes phpMyAdmin available. + +## Environment variables summary + +- `PMA_ARBITRARY` - when set to 1 connection to the arbitrary server will be allowed +- `PMA_HOST` - define address/host name of the MySQL server +- `PMA_VERBOSE` - define verbose name of the MySQL server +- `PMA_PORT` - define port of the MySQL server +- `PMA_HOSTS` - define comma separated list of address/host names of the MySQL servers +- `PMA_VERBOSES` - define comma separated list of verbose names of the MySQL servers +- `PMA_PORTS` - define comma separated list of ports of the MySQL servers +- `PMA_USER` and `PMA_PASSWORD` - define username to use for config authentication method +- `PMA_ABSOLUTE_URI` - define user-facing URI +- `HIDE_PHP_VERSION` - if defined, will hide the php version (`expose_php = Off`). Set to any value (such as HIDE_PHP_VERSION=true). +- `UPLOAD_LIMIT` - if set, will override the default value for apache and php-fpm (default value is 2048 kb) +- `PMA_CONFIG_BASE64` - if set, will override the default config.inc.php with the base64 decoded contents of the variable +- `PMA_USER_CONFIG_BASE64` - if set, will override the default config.user.inc.php with the base64 decoded contents of the variable + +For usage with Docker secrets, appending `_FILE` to the `PMA_PASSWORD` environment variable is allowed (it overrides `PMA_PASSWORD` if it is set): + +```console +$ docker run --name myadmin -d -e PMA_PASSWORD_FILE=/run/secrets/db_password.txt -p 8080:80 phpmyadmin/phpmyadmin +``` + +#### Variables that can be read from a file using `_FILE` + +- PMA_PASSWORD +- MYSQL_ROOT_PASSWORD +- MYSQL_PASSWORD +- PMA_HOSTS +- PMA_HOST + +For more detailed documentation see https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker diff --git a/phpmyadmin/github-repo b/phpmyadmin/github-repo new file mode 100644 index 000000000000..e39059d5bf20 --- /dev/null +++ b/phpmyadmin/github-repo @@ -0,0 +1 @@ +https://github.com/phpmyadmin/docker diff --git a/phpmyadmin/license.md b/phpmyadmin/license.md new file mode 100644 index 000000000000..844da91bc9ac --- /dev/null +++ b/phpmyadmin/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/phpmyadmin/docker/blob/master/LICENSE) for the software contained in this image. diff --git a/phpmyadmin/logo.png b/phpmyadmin/logo.png new file mode 100644 index 000000000000..95c656e45718 Binary files /dev/null and b/phpmyadmin/logo.png differ diff --git a/phpmyadmin/maintainer.md b/phpmyadmin/maintainer.md new file mode 100644 index 000000000000..b487e3510d30 --- /dev/null +++ b/phpmyadmin/maintainer.md @@ -0,0 +1 @@ +[phpMyAdmin](%%GITHUB-REPO%%) diff --git a/phpmyadmin/stack.yml b/phpmyadmin/stack.yml new file mode 100644 index 000000000000..c95606814c3c --- /dev/null +++ b/phpmyadmin/stack.yml @@ -0,0 +1,16 @@ +version: '3.1' + +services: + db: + image: mariadb:10.3 + restart: always + environment: + MYSQL_ROOT_PASSWORD: notSecureChangeMe + + phpmyadmin: + image: phpmyadmin + restart: always + ports: + - 8080:80 + environment: + - PMA_ARBITRARY=1 diff --git a/plone/README.md b/plone/README.md index 618aca9bd030..25a0ce897cae 100644 --- a/plone/README.md +++ b/plone/README.md @@ -20,13 +20,14 @@ WARNING: [Plone Community](https://github.com/plone/plone.docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`5.2.1`, `5.2`, `5`, `latest`](https://github.com/plone/plone.docker/blob/a346627b8e694036693d03f95d4986a3d6cb3111/5.2/5.2.1/debian/Dockerfile) -- [`5.2.1-alpine`, `5.2-alpine`, `5-alpine`, `alpine`](https://github.com/plone/plone.docker/blob/a346627b8e694036693d03f95d4986a3d6cb3111/5.2/5.2.1/alpine/Dockerfile) -- [`5.2.1-python2`, `5.2-python2`, `5-python2`, `python2`](https://github.com/plone/plone.docker/blob/5a3ed2cf8f0206bf710935c6daa527eb0e1056a4/5.2/5.2.1/python2/Dockerfile) +- [`5.2.4-python38`, `5.2-python38`, `5-python38`, `python38`, `5.2.4`, `5.2`, `5`, `latest`](https://github.com/plone/plone.docker/blob/a516871e08532c8a343f9e9e713c8abc8d80aae6/5.2/5.2.4/debian/Dockerfile) +- [`5.2.4-python37`, `5.2-python37`, `5-python37`, `python37`](https://github.com/plone/plone.docker/blob/a516871e08532c8a343f9e9e713c8abc8d80aae6/5.2/5.2.4/python37/Dockerfile) +- [`5.2.4-python36`, `5.2-python36`, `5-python36`, `python36`](https://github.com/plone/plone.docker/blob/a516871e08532c8a343f9e9e713c8abc8d80aae6/5.2/5.2.4/python36/Dockerfile) +- [`5.2.4-alpine`, `5.2-alpine`, `5-alpine`, `alpine`](https://github.com/plone/plone.docker/blob/a516871e08532c8a343f9e9e713c8abc8d80aae6/5.2/5.2.4/alpine/Dockerfile) # Quick reference (cont.) @@ -41,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/plone`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fplone) + [official-images repo's `library/plone` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fplone) [official-images repo's `library/plone` file](https://github.com/docker-library/official-images/blob/master/library/plone) ([history](https://github.com/docker-library/official-images/commits/master/library/plone)) - **Source of this description**: @@ -58,6 +59,8 @@ WARNING: - Images for Plone 5.x and Plone 4.x - Enable add-ons via environment variables - Choose between [Debian](https://www.debian.org/) or [Alpine](http://www.alpinelinux.org/) based images. +- Built-in RelStorage support, configurable via environment variables (requires Plone 5.2.4+) +- Built-in LDAP/AD support via pas.plugins.ldap (requires Plone 5.2.4+) ## Usage @@ -170,15 +173,22 @@ $ curl -H 'Accept: application/json' http://localhost:8080/plone - `CORS_ALLOW_HEADERS` - A comma separated list of request headers allowed to be sent by the client, e.g. `X-My-Header`. Defaults to `Accept,Authorization,Content-Type,X-Custom-Header` - `CORS_MAX_AGE` - Indicates how long the results of a preflight request can be cached. Defaults to `3600` -## Documentation +**RELSTORAGE:** -Full documentation for end users can be found online at [docs.plone.org](https://docs.plone.org/manage/docker/docs/usage/index.html) +- `RELSTORAGE_ADAPTER_OPTIONS` - A comma separated list of RelStorage adapter options to set for the plone instance (using [plone.recipe.zope2instance](https://relstorage.readthedocs.io/en/latest/configure-application.html#configuring-plone)). This is required in order to use RelStorage. + +All other available environment variables match exactly with RelStorage settings, according to the [settings specification available on the docs](https://relstorage.readthedocs.io/en/latest/relstorage-options.html). -## Credits +- `RELSTORAGE_NAME` - **name** - The name of the storage. +- `RELSTORAGE_READ_ONLY` - **read-only** - If true, only reads may be executed against the storage. +- `RELSTORAGE_KEEP_HISTORY` - **keep-history** - If this option is set to true (the default), the adapter will create and use a history-preserving database schema (like FileStorage). +- `RELSTORAGE_BLOB_DIR` - **blob-dir** - If supplied, the storage will provide ZODB blob support; this option specifies the name of the directory to hold blob data. The directory will be created if it does not exist. If no value (or an empty value) is provided, then no blob support will be provided. Default: `/plone/instance/var/blobstorage` -This docker image was originally financed by the [European Environment Agency](http://eea.europa.eu), an agency of the European Union. + [See more](https://relstorage.readthedocs.io/en/latest/relstorage-options.html) -Thanks to [Antonio De Marinis](https://github.com/demarant), [Sven Strack](https://github.com/svx) and [Alin Voinea](https://github.com/avoinea) for their preliminary work. +## Documentation + +Full documentation for end users can be found online at [docs.plone.org](https://docs.plone.org/manage/docker/docs/usage/index.html) # Image Variants @@ -190,9 +200,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `plone:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/plone/content.md b/plone/content.md index 569ba8b49e2c..730d861443bb 100644 --- a/plone/content.md +++ b/plone/content.md @@ -9,6 +9,8 @@ - Images for Plone 5.x and Plone 4.x - Enable add-ons via environment variables - Choose between [Debian](https://www.debian.org/) or [Alpine](http://www.alpinelinux.org/) based images. +- Built-in RelStorage support, configurable via environment variables (requires Plone 5.2.4+) +- Built-in LDAP/AD support via pas.plugins.ldap (requires Plone 5.2.4+) ## Usage @@ -121,12 +123,19 @@ $ curl -H 'Accept: application/json' http://localhost:8080/plone - `CORS_ALLOW_HEADERS` - A comma separated list of request headers allowed to be sent by the client, e.g. `X-My-Header`. Defaults to `Accept,Authorization,Content-Type,X-Custom-Header` - `CORS_MAX_AGE` - Indicates how long the results of a preflight request can be cached. Defaults to `3600` -## Documentation +**RELSTORAGE:** -Full documentation for end users can be found online at [docs.plone.org](https://docs.plone.org/manage/docker/docs/usage/index.html) +- `RELSTORAGE_ADAPTER_OPTIONS` - A comma separated list of RelStorage adapter options to set for the plone instance (using [plone.recipe.zope2instance](https://relstorage.readthedocs.io/en/latest/configure-application.html#configuring-plone)). This is required in order to use RelStorage. + +All other available environment variables match exactly with RelStorage settings, according to the [settings specification available on the docs](https://relstorage.readthedocs.io/en/latest/relstorage-options.html). -## Credits +- `RELSTORAGE_NAME` - **name** - The name of the storage. +- `RELSTORAGE_READ_ONLY` - **read-only** - If true, only reads may be executed against the storage. +- `RELSTORAGE_KEEP_HISTORY` - **keep-history** - If this option is set to true (the default), the adapter will create and use a history-preserving database schema (like FileStorage). +- `RELSTORAGE_BLOB_DIR` - **blob-dir** - If supplied, the storage will provide ZODB blob support; this option specifies the name of the directory to hold blob data. The directory will be created if it does not exist. If no value (or an empty value) is provided, then no blob support will be provided. Default: `/plone/instance/var/blobstorage` -This docker image was originally financed by the [European Environment Agency](http://eea.europa.eu), an agency of the European Union. + [See more](https://relstorage.readthedocs.io/en/latest/relstorage-options.html) -Thanks to [Antonio De Marinis](https://github.com/demarant), [Sven Strack](https://github.com/svx) and [Alin Voinea](https://github.com/avoinea) for their preliminary work. +## Documentation + +Full documentation for end users can be found online at [docs.plone.org](https://docs.plone.org/manage/docker/docs/usage/index.html) diff --git a/postfixadmin/README.md b/postfixadmin/README.md index 050c17a398e2..a9e38d940f66 100644 --- a/postfixadmin/README.md +++ b/postfixadmin/README.md @@ -20,13 +20,13 @@ WARNING: [Postfix Admin](https://github.com/postfixadmin/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.2.4-apache`, `3.2-apache`, `3-apache`, `apache`, `3.2.4`, `3.2`, `3`, `latest`](https://github.com/postfixadmin/docker/blob/b1ffcf48cd23b4ba779dc5c1a8c6f78c6ef45077/apache/Dockerfile) -- [`3.2.4-fpm`, `3.2-fpm`, `3-fpm`, `fpm`](https://github.com/postfixadmin/docker/blob/b1ffcf48cd23b4ba779dc5c1a8c6f78c6ef45077/fpm/Dockerfile) -- [`3.2.4-fpm-alpine`, `3.2-fpm-alpine`, `3-fpm-alpine`, `fpm-alpine`](https://github.com/postfixadmin/docker/blob/b1ffcf48cd23b4ba779dc5c1a8c6f78c6ef45077/fpm-alpine/Dockerfile) +- [`3.3.7-apache`, `3.3-apache`, `3-apache`, `apache`, `3.3.7`, `3.3`, `3`, `latest`](https://github.com/postfixadmin/docker/blob/e58854f733ebb82e43bb0289278ed746753210b5/apache/Dockerfile) +- [`3.3.7-fpm`, `3.3-fpm`, `3-fpm`, `fpm`](https://github.com/postfixadmin/docker/blob/e58854f733ebb82e43bb0289278ed746753210b5/fpm/Dockerfile) +- [`3.3.7-fpm-alpine`, `3.3-fpm-alpine`, `3-fpm-alpine`, `fpm-alpine`](https://github.com/postfixadmin/docker/blob/e58854f733ebb82e43bb0289278ed746753210b5/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/postfixadmin`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fpostfixadmin) + [official-images repo's `library/postfixadmin` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fpostfixadmin) [official-images repo's `library/postfixadmin` file](https://github.com/docker-library/official-images/blob/master/library/postfixadmin) ([history](https://github.com/docker-library/official-images/commits/master/library/postfixadmin)) - **Source of this description**: @@ -97,26 +97,12 @@ Then, access it via `http://localhost:8080` or `http://host-ip:8080` in a browse ## Existing config.local.php ```console -$ docker run --name some-postfixadmin -p 8080:80 %%image%% -$ docker run --name some-postfixadmin -v /local/path/to/config.local.php:/var/www/html/config.local.php -p 8080:80 postfixadmin +$ docker run -v /local/path/to/config.local.php:/var/www/html/config.local.php \ + --name some-postfixadmin \ + -p 8080:80 \ + postfixadmin ``` -## Image Variants - -The following variants are currently provided: - -### apache - -This starts an Apache webserver with PHP, so you can use `postfixadmin` out of the box. - -### fpm-alpine - -This image has a very small footprint. It is based on Alpine Linux and starts only a PHP FPM process. Use this variant if you already have a seperate webserver. If you need more tools, that are not available on Alpine Linux, use the `fpm` image instead. - -### fpm - -This image starts only a PHP FPM container. Use this variant if you already have a seperate webserver. - ... via [`docker stack deploy`](https://docs.docker.com/engine/reference/commandline/stack_deploy/) or [`docker-compose`](https://github.com/docker/compose) Example `stack.yml` for `postfixadmin`: @@ -129,7 +115,7 @@ services: image: mysql:5.7 restart: always environment: - MYSQL_ROOT_PASSWORD: notSecureChangeMe + MYSQL_RANDOM_ROOT_PASSWORD: 1 MYSQL_DATABASE: postfixadmin MYSQL_USER: postfixadmin MYSQL_PASSWORD: example @@ -149,7 +135,7 @@ services: POSTFIXADMIN_DB_PASSWORD: example ``` -[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/be39946abe91fb116d24d8b797c9adacfd15a851/postfixadmin/stack.yml) +[![Try in PWD](https://github.com/play-with-docker/stacks/raw/cff22438cb4195ace27f9b15784bbb497047afa7/assets/images/button.png)](http://play-with-docker.com?stack=https://raw.githubusercontent.com/docker-library/docs/c011eff7d5385665f43db2e0330716da4ab68e75/postfixadmin/stack.yml) Run docker stack deploy -c stack.yml postfixadmin (or docker-compose -f stack.yml up), wait for it to initialize completely, and visit http://swarm-ip:8080, http://localhost:8080, or http://host-ip:8080 (as appropriate). @@ -161,13 +147,17 @@ The `postfixadmin` images come in many flavors, each designed for a specific use This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -## `postfixadmin:-alpine` +### apache + +This starts an Apache webserver with PHP, so you can use `postfixadmin` out of the box. + +### fpm -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image starts only a PHP FPM container. Use this variant if you already have a seperate webserver. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +### fpm-alpine -To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +This image has a very small footprint. It is based on Alpine Linux and starts only a PHP FPM process. Use this variant if you already have a seperate webserver. If you need more tools, that are not available on Alpine Linux, use the `fpm` image instead. # License diff --git a/postfixadmin/content.md b/postfixadmin/content.md index 910bc4bdc5b3..883d589a83b5 100644 --- a/postfixadmin/content.md +++ b/postfixadmin/content.md @@ -48,26 +48,12 @@ Then, access it via `http://localhost:8080` or `http://host-ip:8080` in a browse ## Existing config.local.php ```console -$ docker run --name some-%%REPO%% -p 8080:80 %%image%% -$ docker run --name some-%%REPO%% -v /local/path/to/config.local.php:/var/www/html/config.local.php -p 8080:80 %%IMAGE%% +$ docker run -v /local/path/to/config.local.php:/var/www/html/config.local.php \ + --name some-%%REPO%% \ + -p 8080:80 \ + %%IMAGE%% ``` -## Image Variants - -The following variants are currently provided: - -### apache - -This starts an Apache webserver with PHP, so you can use `postfixadmin` out of the box. - -### fpm-alpine - -This image has a very small footprint. It is based on Alpine Linux and starts only a PHP FPM process. Use this variant if you already have a seperate webserver. If you need more tools, that are not available on Alpine Linux, use the `fpm` image instead. - -### fpm - -This image starts only a PHP FPM container. Use this variant if you already have a seperate webserver. - %%STACK%% Run docker stack deploy -c stack.yml %%REPO%% (or docker-compose -f stack.yml up), wait for it to initialize completely, and visit http://swarm-ip:8080, http://localhost:8080, or http://host-ip:8080 (as appropriate). diff --git a/postfixadmin/stack.yml b/postfixadmin/stack.yml index d3cd8ec3a8c1..b40e6c5b1abc 100644 --- a/postfixadmin/stack.yml +++ b/postfixadmin/stack.yml @@ -5,7 +5,7 @@ services: image: mysql:5.7 restart: always environment: - MYSQL_ROOT_PASSWORD: notSecureChangeMe + MYSQL_RANDOM_ROOT_PASSWORD: 1 MYSQL_DATABASE: postfixadmin MYSQL_USER: postfixadmin MYSQL_PASSWORD: example diff --git a/postfixadmin/variant-apache.md b/postfixadmin/variant-apache.md new file mode 100644 index 000000000000..b9666ea37e13 --- /dev/null +++ b/postfixadmin/variant-apache.md @@ -0,0 +1,3 @@ +### apache + +This starts an Apache webserver with PHP, so you can use `postfixadmin` out of the box. diff --git a/postfixadmin/variant-fpm-alpine.md b/postfixadmin/variant-fpm-alpine.md new file mode 100644 index 000000000000..1aaa0208a27d --- /dev/null +++ b/postfixadmin/variant-fpm-alpine.md @@ -0,0 +1,3 @@ +### fpm-alpine + +This image has a very small footprint. It is based on Alpine Linux and starts only a PHP FPM process. Use this variant if you already have a seperate webserver. If you need more tools, that are not available on Alpine Linux, use the `fpm` image instead. diff --git a/postfixadmin/variant-fpm.md b/postfixadmin/variant-fpm.md new file mode 100644 index 000000000000..621d254ff7ac --- /dev/null +++ b/postfixadmin/variant-fpm.md @@ -0,0 +1,3 @@ +### fpm + +This image starts only a PHP FPM container. Use this variant if you already have a seperate webserver. diff --git a/postgres/README.md b/postgres/README.md index e27631b31074..cb1e33ab8707 100644 --- a/postgres/README.md +++ b/postgres/README.md @@ -20,22 +20,22 @@ WARNING: [the PostgreSQL Docker Community](https://github.com/docker-library/postgres) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`13-beta1`, `13`](https://github.com/docker-library/postgres/blob/682ff83c5c83f1b6f2b02caf7aa3e17a491b403a/13/Dockerfile) -- [`13-beta1-alpine`, `13-alpine`](https://github.com/docker-library/postgres/blob/b96659493b841100dc75ed777bff01913d9fe9e1/13/alpine/Dockerfile) -- [`12.3`, `12`, `latest`](https://github.com/docker-library/postgres/blob/88173efa530f1a174a7ea311c5b6ee5e383f68bd/12/Dockerfile) -- [`12.3-alpine`, `12-alpine`, `alpine`](https://github.com/docker-library/postgres/blob/4edbda205c684c861e6fbf964de5d00845864d42/12/alpine/Dockerfile) -- [`11.8`, `11`](https://github.com/docker-library/postgres/blob/aa4f329a17fd82077536602da12f4264fa195b20/11/Dockerfile) -- [`11.8-alpine`, `11-alpine`](https://github.com/docker-library/postgres/blob/0de8bbbcdcdd7783acb7ce2678c85d5aab977c55/11/alpine/Dockerfile) -- [`10.13`, `10`](https://github.com/docker-library/postgres/blob/f1e039c4ebd8e4691af65dfd6cf280df126039aa/10/Dockerfile) -- [`10.13-alpine`, `10-alpine`](https://github.com/docker-library/postgres/blob/245058ccb66fd6cb34fc512323f20ed676f1af15/10/alpine/Dockerfile) -- [`9.6.18`, `9.6`, `9`](https://github.com/docker-library/postgres/blob/95f4307ac7547094b5392d2a2a5aa7471301ffcb/9.6/Dockerfile) -- [`9.6.18-alpine`, `9.6-alpine`, `9-alpine`](https://github.com/docker-library/postgres/blob/7675803cba8dbf4aca2c1064b044b03cd0db6c2d/9.6/alpine/Dockerfile) -- [`9.5.22`, `9.5`](https://github.com/docker-library/postgres/blob/fa4482cec89b300589c30fc5590995a31f569a06/9.5/Dockerfile) -- [`9.5.22-alpine`, `9.5-alpine`](https://github.com/docker-library/postgres/blob/5104b38a3a159aad42014d69b3ba1a0c4d22ca4d/9.5/alpine/Dockerfile) +- [`13.2`, `13`, `latest`](https://github.com/docker-library/postgres/blob/7bd41786539082857396f4d1b4f1cb326ebee8de/13/Dockerfile) +- [`13.2-alpine`, `13-alpine`, `alpine`](https://github.com/docker-library/postgres/blob/a7aa19b8501df4c459dad78fd18e2b36fded9643/13/alpine/Dockerfile) +- [`12.6`, `12`](https://github.com/docker-library/postgres/blob/b349a7e67b5f434768f6ae685113e0accaed0842/12/Dockerfile) +- [`12.6-alpine`, `12-alpine`](https://github.com/docker-library/postgres/blob/4cec33a2ee0bbfbfa73d1ff7dd08e66cd2c74297/12/alpine/Dockerfile) +- [`11.11`, `11`](https://github.com/docker-library/postgres/blob/14f13e4b399ed1848fa24c2c1f5bd40c25732bdd/11/Dockerfile) +- [`11.11-alpine`, `11-alpine`](https://github.com/docker-library/postgres/blob/9693709797a818a5d56dfb81ecd34a2754eba2f7/11/alpine/Dockerfile) +- [`10.16`, `10`](https://github.com/docker-library/postgres/blob/cbe3131bd8e6d454d80d5c05695276b1d468b261/10/Dockerfile) +- [`10.16-alpine`, `10-alpine`](https://github.com/docker-library/postgres/blob/1267a1f1bb39bcf97d9ae498e1edcfd864c8db1d/10/alpine/Dockerfile) +- [`9.6.21`, `9.6`, `9`](https://github.com/docker-library/postgres/blob/11119157a345c282fea29b13d374bdea602a39ac/9.6/Dockerfile) +- [`9.6.21-alpine`, `9.6-alpine`, `9-alpine`](https://github.com/docker-library/postgres/blob/45cbba060d3674d4ff0529450267bb4656692363/9.6/alpine/Dockerfile) +- [`9.5.25`, `9.5`](https://github.com/docker-library/postgres/blob/b122f60426e69df9d6effbda45fe2ef659c1d4f2/9.5/Dockerfile) +- [`9.5.25-alpine`, `9.5-alpine`](https://github.com/docker-library/postgres/blob/6667795da15f1a2d2791021659f2f766828a4321/9.5/alpine/Dockerfile) # Quick reference (cont.) @@ -50,7 +50,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/postgres`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fpostgres) + [official-images repo's `library/postgres` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fpostgres) [official-images repo's `library/postgres` file](https://github.com/docker-library/official-images/blob/master/library/postgres) ([history](https://github.com/docker-library/official-images/commits/master/library/postgres)) - **Source of this description**: @@ -128,7 +128,7 @@ There are many ways to extend the `postgres` image. Without trying to support ev ## Environment Variables -The PostgreSQL image uses several environment variables which are easy to miss. While none of the variables are required, they may significantly aid you in using the image. +The PostgreSQL image uses several environment variables which are easy to miss. The only variable required is `POSTGRES_PASSWORD`, the rest are optional. **Warning**: the Docker specific variables will only have an effect if you start the container with a data directory that is empty; any pre-existing database will be left untouched on container startup. @@ -138,7 +138,7 @@ This environment variable is required for you to use the PostgreSQL image. It mu **Note 1:** The PostgreSQL image sets up `trust` authentication locally so you may notice a password is not required when connecting from `localhost` (inside the same container). However, a password will be required if connecting from a different host/container. -**Note 2:** This variable defines the superuser password in the PostgreSQL instance, as set by the `initdb` script during initial container startup. It has no effect on the `PGPASSWORD` environment variable that may be used by the `psql` client at runtime, as described at [https://www.postgresql.org/docs/10/static/libpq-envars.html](https://www.postgresql.org/docs/10/static/libpq-envars.html). `PGPASSWORD`, if used, will be specified as a separate environment variable. +**Note 2:** This variable defines the superuser password in the PostgreSQL instance, as set by the `initdb` script during initial container startup. It has no effect on the `PGPASSWORD` environment variable that may be used by the `psql` client at runtime, as described at [https://www.postgresql.org/docs/current/libpq-envars.html](https://www.postgresql.org/docs/current/libpq-envars.html). `PGPASSWORD`, if used, will be specified as a separate environment variable. ### `POSTGRES_USER` @@ -174,6 +174,8 @@ See the PostgreSQL documentation on [`pg_hba.conf`](https://www.postgresql.org/d **Note 2:** If you set `POSTGRES_HOST_AUTH_METHOD` to `trust`, then `POSTGRES_PASSWORD` is not required. +**Note 3:** If you set this to an alternative value (such as `scram-sha-256`), you might need additional `POSTGRES_INITDB_ARGS` for the database to initialize correctly (such as `POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256`). + ### `PGDATA` This optional variable can be used to define another location - like a subdirectory - for the database files. The default is `/var/lib/postgresql/data`. If the data volume you're using is a filesystem mountpoint (like with GCE persistent disks) or remote folder that cannot be chowned to the `postgres` user (like some NFS mounts), Postgres `initdb` recommends a subdirectory be created to contain the data. @@ -245,12 +247,12 @@ There are many ways to set PostgreSQL server configuration. For information on w - Set options directly on the run line. The entrypoint script is made so that any options passed to the docker command will be passed along to the `postgres` server daemon. From the [docs](https://www.postgresql.org/docs/current/static/app-postgres.html) we see that any option available in a `.conf` file can be set via `-c`. ```console - $ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword postgres -c 'shared_buffers=256MB' -c 'max_connections=200' + $ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword postgres -c shared_buffers=256MB -c max_connections=200 ``` ## Locale Customization -You can extend the image with a simple `Dockerfile` to set a different locale. The following example will set the default locale to `de_DE.utf8`: +You can extend the Debian-based images with a simple `Dockerfile` to set a different locale. The following example will set the default locale to `de_DE.utf8`: ```dockerfile FROM postgres:9.4 @@ -260,6 +262,8 @@ ENV LANG de_DE.utf8 Since database initialization only happens on container startup, this allows us to set the language before it is created. +Also of note, Alpine-based variants do *not* support locales; see ["Character sets and locale" in the musl documentation](https://wiki.musl-libc.org/functional-differences-from-glibc.html#Character-sets-and-locale) for more details. + ## Additional Extensions When using the default (Debian-based) variants, installing additional extensions (such as PostGIS) should be as simple as installing the relevant packages (see [github.com/postgis/docker-postgis](https://github.com/postgis/docker-postgis/blob/4eb614133d6aa87bfc5c952d24b7eb1f499e5c7c/12-3.0/Dockerfile) for a concrete example). @@ -345,9 +349,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `postgres:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/postgres/content.md b/postgres/content.md index 9992457b0cb6..eec3da0ee0be 100644 --- a/postgres/content.md +++ b/postgres/content.md @@ -47,7 +47,7 @@ There are many ways to extend the `%%REPO%%` image. Without trying to support ev ## Environment Variables -The PostgreSQL image uses several environment variables which are easy to miss. While none of the variables are required, they may significantly aid you in using the image. +The PostgreSQL image uses several environment variables which are easy to miss. The only variable required is `POSTGRES_PASSWORD`, the rest are optional. **Warning**: the Docker specific variables will only have an effect if you start the container with a data directory that is empty; any pre-existing database will be left untouched on container startup. @@ -57,7 +57,7 @@ This environment variable is required for you to use the PostgreSQL image. It mu **Note 1:** The PostgreSQL image sets up `trust` authentication locally so you may notice a password is not required when connecting from `localhost` (inside the same container). However, a password will be required if connecting from a different host/container. -**Note 2:** This variable defines the superuser password in the PostgreSQL instance, as set by the `initdb` script during initial container startup. It has no effect on the `PGPASSWORD` environment variable that may be used by the `psql` client at runtime, as described at [https://www.postgresql.org/docs/10/static/libpq-envars.html](https://www.postgresql.org/docs/10/static/libpq-envars.html). `PGPASSWORD`, if used, will be specified as a separate environment variable. +**Note 2:** This variable defines the superuser password in the PostgreSQL instance, as set by the `initdb` script during initial container startup. It has no effect on the `PGPASSWORD` environment variable that may be used by the `psql` client at runtime, as described at [https://www.postgresql.org/docs/current/libpq-envars.html](https://www.postgresql.org/docs/current/libpq-envars.html). `PGPASSWORD`, if used, will be specified as a separate environment variable. ### `POSTGRES_USER` @@ -93,6 +93,8 @@ See the PostgreSQL documentation on [`pg_hba.conf`](https://www.postgresql.org/d **Note 2:** If you set `POSTGRES_HOST_AUTH_METHOD` to `trust`, then `POSTGRES_PASSWORD` is not required. +**Note 3:** If you set this to an alternative value (such as `scram-sha-256`), you might need additional `POSTGRES_INITDB_ARGS` for the database to initialize correctly (such as `POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256`). + ### `PGDATA` This optional variable can be used to define another location - like a subdirectory - for the database files. The default is `/var/lib/postgresql/data`. If the data volume you're using is a filesystem mountpoint (like with GCE persistent disks) or remote folder that cannot be chowned to the `postgres` user (like some NFS mounts), Postgres `initdb` recommends a subdirectory be created to contain the data. @@ -164,12 +166,12 @@ There are many ways to set PostgreSQL server configuration. For information on w - Set options directly on the run line. The entrypoint script is made so that any options passed to the docker command will be passed along to the `postgres` server daemon. From the [docs](https://www.postgresql.org/docs/current/static/app-postgres.html) we see that any option available in a `.conf` file can be set via `-c`. ```console - $ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword %%IMAGE%% -c 'shared_buffers=256MB' -c 'max_connections=200' + $ docker run -d --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword %%IMAGE%% -c shared_buffers=256MB -c max_connections=200 ``` ## Locale Customization -You can extend the image with a simple `Dockerfile` to set a different locale. The following example will set the default locale to `de_DE.utf8`: +You can extend the Debian-based images with a simple `Dockerfile` to set a different locale. The following example will set the default locale to `de_DE.utf8`: ```dockerfile FROM %%IMAGE%%:9.4 @@ -179,6 +181,8 @@ ENV LANG de_DE.utf8 Since database initialization only happens on container startup, this allows us to set the language before it is created. +Also of note, Alpine-based variants do *not* support locales; see ["Character sets and locale" in the musl documentation](https://wiki.musl-libc.org/functional-differences-from-glibc.html#Character-sets-and-locale) for more details. + ## Additional Extensions When using the default (Debian-based) variants, installing additional extensions (such as PostGIS) should be as simple as installing the relevant packages (see [github.com/postgis/docker-postgis](https://github.com/postgis/docker-postgis/blob/4eb614133d6aa87bfc5c952d24b7eb1f499e5c7c/12-3.0/Dockerfile) for a concrete example). diff --git a/pypy/README.md b/pypy/README.md index 90fa33576e18..2b43b7faa074 100644 --- a/pypy/README.md +++ b/pypy/README.md @@ -20,14 +20,33 @@ WARNING: [the Docker Community](https://github.com/docker-library/pypy) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.7-7.3.0`, `2.7-7.3`, `2.7-7`, `2.7`, `2-7.3.0`, `2-7.3`, `2-7`, `2`, `2.7-7.3.0-buster`, `2.7-7.3-buster`, `2.7-7-buster`, `2.7-buster`, `2-7.3.0-buster`, `2-7.3-buster`, `2-7-buster`, `2-buster`](https://github.com/docker-library/pypy/blob/30385f19542aa8bdcca7fb2f7a9a18786e9e8f17/2.7/Dockerfile) -- [`2.7-7.3.0-slim`, `2.7-7.3-slim`, `2.7-7-slim`, `2.7-slim`, `2-7.3.0-slim`, `2-7.3-slim`, `2-7-slim`, `2-slim`, `2.7-7.3.0-slim-buster`, `2.7-7.3-slim-buster`, `2.7-7-slim-buster`, `2.7-slim-buster`, `2-7.3.0-slim-buster`, `2-7.3-slim-buster`, `2-7-slim-buster`, `2-slim-buster`](https://github.com/docker-library/pypy/blob/30385f19542aa8bdcca7fb2f7a9a18786e9e8f17/2.7/slim/Dockerfile) -- [`3.6-7.3.0`, `3.6-7.3`, `3.6-7`, `3.6`, `3-7.3.0`, `3-7.3`, `3-7`, `3`, `latest`, `3.6-7.3.0-buster`, `3.6-7.3-buster`, `3.6-7-buster`, `3.6-buster`, `3-7.3.0-buster`, `3-7.3-buster`, `3-7-buster`, `3-buster`, `buster`](https://github.com/docker-library/pypy/blob/30385f19542aa8bdcca7fb2f7a9a18786e9e8f17/3.6/Dockerfile) -- [`3.6-7.3.0-slim`, `3.6-7.3-slim`, `3.6-7-slim`, `3.6-slim`, `3-7.3.0-slim`, `3-7.3-slim`, `3-7-slim`, `3-slim`, `slim`, `3.6-7.3.0-slim-buster`, `3.6-7.3-slim-buster`, `3.6-7-slim-buster`, `3.6-slim-buster`, `3-7.3.0-slim-buster`, `3-7.3-slim-buster`, `3-7-slim-buster`, `3-slim-buster`, `slim-buster`](https://github.com/docker-library/pypy/blob/30385f19542aa8bdcca7fb2f7a9a18786e9e8f17/3.6/slim/Dockerfile) +(See ["What's the difference between 'Shared' and 'Simple' tags?" in the FAQ](https://github.com/docker-library/faq#whats-the-difference-between-shared-and-simple-tags).) + +## Simple Tags + +- [`3.7-7.3.4-buster`, `3.7-7.3-buster`, `3.7-7-buster`, `3.7-buster`, `3-7.3.4-buster`, `3-7.3-buster`, `3-7-buster`, `3-buster`, `buster`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/buster/Dockerfile) +- [`3.7-7.3.4-slim`, `3.7-7.3-slim`, `3.7-7-slim`, `3.7-slim`, `3-7.3.4-slim`, `3-7.3-slim`, `3-7-slim`, `3-slim`, `slim`, `3.7-7.3.4-slim-buster`, `3.7-7.3-slim-buster`, `3.7-7-slim-buster`, `3.7-slim-buster`, `3-7.3.4-slim-buster`, `3-7.3-slim-buster`, `3-7-slim-buster`, `3-slim-buster`, `slim-buster`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/slim-buster/Dockerfile) +- [`3.7-7.3.4-windowsservercore-1809`, `3.7-7.3-windowsservercore-1809`, `3.7-7-windowsservercore-1809`, `3.7-windowsservercore-1809`, `3-7.3.4-windowsservercore-1809`, `3-7.3-windowsservercore-1809`, `3-7-windowsservercore-1809`, `3-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/windows/windowsservercore-1809/Dockerfile) +- [`2.7-7.3.4-buster`, `2.7-7.3-buster`, `2.7-7-buster`, `2.7-buster`, `2-7.3.4-buster`, `2-7.3-buster`, `2-7-buster`, `2-buster`](https://github.com/docker-library/pypy/blob/b3c933e1173e9382bc61855c7a144e109cdc5012/2.7/buster/Dockerfile) +- [`2.7-7.3.4-slim`, `2.7-7.3-slim`, `2.7-7-slim`, `2.7-slim`, `2-7.3.4-slim`, `2-7.3-slim`, `2-7-slim`, `2-slim`, `2.7-7.3.4-slim-buster`, `2.7-7.3-slim-buster`, `2.7-7-slim-buster`, `2.7-slim-buster`, `2-7.3.4-slim-buster`, `2-7.3-slim-buster`, `2-7-slim-buster`, `2-slim-buster`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/2.7/slim-buster/Dockerfile) +- [`2.7-7.3.4-windowsservercore-1809`, `2.7-7.3-windowsservercore-1809`, `2.7-7-windowsservercore-1809`, `2.7-windowsservercore-1809`, `2-7.3.4-windowsservercore-1809`, `2-7.3-windowsservercore-1809`, `2-7-windowsservercore-1809`, `2-windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/2.7/windows/windowsservercore-1809/Dockerfile) + +## Shared Tags + +- `3.7-7.3.4`, `3.7-7.3`, `3.7-7`, `3.7`, `3-7.3.4`, `3-7.3`, `3-7`, `3`, `latest`: + - [`3.7-7.3.4-buster`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/buster/Dockerfile) + - [`3.7-7.3.4-windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/windows/windowsservercore-1809/Dockerfile) +- `3.7-7.3.4-windowsservercore`, `3.7-7.3-windowsservercore`, `3.7-7-windowsservercore`, `3.7-windowsservercore`, `3-7.3.4-windowsservercore`, `3-7.3-windowsservercore`, `3-7-windowsservercore`, `3-windowsservercore`, `windowsservercore`: + - [`3.7-7.3.4-windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/3.7/windows/windowsservercore-1809/Dockerfile) +- `2.7-7.3.4`, `2.7-7.3`, `2.7-7`, `2.7`, `2-7.3.4`, `2-7.3`, `2-7`, `2`: + - [`2.7-7.3.4-buster`](https://github.com/docker-library/pypy/blob/b3c933e1173e9382bc61855c7a144e109cdc5012/2.7/buster/Dockerfile) + - [`2.7-7.3.4-windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/2.7/windows/windowsservercore-1809/Dockerfile) +- `2.7-7.3.4-windowsservercore`, `2.7-7.3-windowsservercore`, `2.7-7-windowsservercore`, `2.7-windowsservercore`, `2-7.3.4-windowsservercore`, `2-7.3-windowsservercore`, `2-7-windowsservercore`, `2-windowsservercore`: + - [`2.7-7.3.4-windowsservercore-1809`](https://github.com/docker-library/pypy/blob/596e037750c79f94e3ac5cb9ec2ca28961987599/2.7/windows/windowsservercore-1809/Dockerfile) # Quick reference (cont.) @@ -35,14 +54,14 @@ WARNING: [https://github.com/docker-library/pypy/issues](https://github.com/docker-library/pypy/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/pypy/), [`arm64v8`](https://hub.docker.com/r/arm64v8/pypy/), [`i386`](https://hub.docker.com/r/i386/pypy/), [`ppc64le`](https://hub.docker.com/r/ppc64le/pypy/), [`s390x`](https://hub.docker.com/r/s390x/pypy/) + [`amd64`](https://hub.docker.com/r/amd64/pypy/), [`arm64v8`](https://hub.docker.com/r/arm64v8/pypy/), [`i386`](https://hub.docker.com/r/i386/pypy/), [`s390x`](https://hub.docker.com/r/s390x/pypy/), [`windows-amd64`](https://hub.docker.com/r/winamd64/pypy/) - **Published image artifact details**: [repo-info repo's `repos/pypy/` directory](https://github.com/docker-library/repo-info/blob/master/repos/pypy) ([history](https://github.com/docker-library/repo-info/commits/master/repos/pypy)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/pypy`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fpypy) + [official-images repo's `library/pypy` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fpypy) [official-images repo's `library/pypy` file](https://github.com/docker-library/official-images/blob/master/library/pypy) ([history](https://github.com/docker-library/official-images/commits/master/library/pypy)) - **Source of this description**: @@ -127,6 +146,15 @@ This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-d This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `pypy`. Unless you are working in an environment where *only* the `pypy` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. +## `pypy:-windowsservercore` + +This image is based on [Windows Server Core (`microsoft/windowsservercore`)](https://hub.docker.com/r/microsoft/windowsservercore/). As such, it only works in places which that image does, such as Windows 10 Professional/Enterprise (Anniversary Edition) or Windows Server 2016. + +For information about how to get Docker running on Windows, please see the relevant "Quick Start" guide provided by Microsoft: + +- [Windows Server Quick Start](https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server) +- [Windows 10 Quick Start](https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10) + # License View [license information](https://bitbucket.org/pypy/pypy/src/c3ff0dd6252b6ba0d230f3624dbb4aab8973a1d0/LICENSE?at=default) for software contained in this image. diff --git a/python/README.md b/python/README.md index 729015b1f987..c793690ef99e 100644 --- a/python/README.md +++ b/python/README.md @@ -20,7 +20,7 @@ WARNING: [the Docker Community](https://github.com/docker-library/python) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -28,64 +28,64 @@ WARNING: ## Simple Tags -- [`3.9.0b1-buster`, `3.9-rc-buster`, `rc-buster`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/buster/Dockerfile) -- [`3.9.0b1-alpine3.11`, `3.9-rc-alpine3.11`, `rc-alpine3.11`, `3.9.0b1-alpine`, `3.9-rc-alpine`, `rc-alpine`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.9-rc/alpine3.11/Dockerfile) -- [`3.9.0b1-windowsservercore-ltsc2016`, `3.9-rc-windowsservercore-ltsc2016`, `rc-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-ltsc2016/Dockerfile) -- [`3.9.0b1-windowsservercore-1809`, `3.9-rc-windowsservercore-1809`, `rc-windowsservercore-1809`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-1809/Dockerfile) -- [`3.8.3-buster`, `3.8-buster`, `3-buster`, `buster`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/buster/Dockerfile) -- [`3.8.3-slim-buster`, `3.8-slim-buster`, `3-slim-buster`, `slim-buster`, `3.8.3-slim`, `3.8-slim`, `3-slim`, `slim`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.8/buster/slim/Dockerfile) -- [`3.8.3-alpine3.11`, `3.8-alpine3.11`, `3-alpine3.11`, `alpine3.11`, `3.8.3-alpine`, `3.8-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.8/alpine3.11/Dockerfile) -- [`3.8.3-alpine3.10`, `3.8-alpine3.10`, `3-alpine3.10`, `alpine3.10`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.8/alpine3.10/Dockerfile) -- [`3.8.3-windowsservercore-ltsc2016`, `3.8-windowsservercore-ltsc2016`, `3-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-ltsc2016/Dockerfile) -- [`3.8.3-windowsservercore-1809`, `3.8-windowsservercore-1809`, `3-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-1809/Dockerfile) -- [`3.7.7-buster`, `3.7-buster`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/buster/Dockerfile) -- [`3.7.7-slim-buster`, `3.7-slim-buster`, `3.7.7-slim`, `3.7-slim`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.7/buster/slim/Dockerfile) -- [`3.7.7-stretch`, `3.7-stretch`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/stretch/Dockerfile) -- [`3.7.7-slim-stretch`, `3.7-slim-stretch`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.7/stretch/slim/Dockerfile) -- [`3.7.7-alpine3.11`, `3.7-alpine3.11`, `3.7.7-alpine`, `3.7-alpine`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.7/alpine3.11/Dockerfile) -- [`3.7.7-alpine3.10`, `3.7-alpine3.10`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.7/alpine3.10/Dockerfile) -- [`3.7.7-windowsservercore-ltsc2016`, `3.7-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-ltsc2016/Dockerfile) -- [`3.7.7-windowsservercore-1809`, `3.7-windowsservercore-1809`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-1809/Dockerfile) -- [`3.6.10-buster`, `3.6-buster`](https://github.com/docker-library/python/blob/83822b9a8bc8d7f146c194b595702f4681fb7500/3.6/buster/Dockerfile) -- [`3.6.10-slim-buster`, `3.6-slim-buster`, `3.6.10-slim`, `3.6-slim`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.6/buster/slim/Dockerfile) -- [`3.6.10-stretch`, `3.6-stretch`](https://github.com/docker-library/python/blob/83822b9a8bc8d7f146c194b595702f4681fb7500/3.6/stretch/Dockerfile) -- [`3.6.10-slim-stretch`, `3.6-slim-stretch`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.6/stretch/slim/Dockerfile) -- [`3.6.10-alpine3.11`, `3.6-alpine3.11`, `3.6.10-alpine`, `3.6-alpine`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.6/alpine3.11/Dockerfile) -- [`3.6.10-alpine3.10`, `3.6-alpine3.10`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.6/alpine3.10/Dockerfile) -- [`3.5.9-buster`, `3.5-buster`](https://github.com/docker-library/python/blob/f4eaaa988af2b8a56bc2ca1e1a69209217ccbbc2/3.5/buster/Dockerfile) -- [`3.5.9-slim-buster`, `3.5-slim-buster`, `3.5.9-slim`, `3.5-slim`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.5/buster/slim/Dockerfile) -- [`3.5.9-stretch`, `3.5-stretch`](https://github.com/docker-library/python/blob/f4eaaa988af2b8a56bc2ca1e1a69209217ccbbc2/3.5/stretch/Dockerfile) -- [`3.5.9-slim-stretch`, `3.5-slim-stretch`](https://github.com/docker-library/python/blob/6a981ebc3ba38d0668db58813f309e58763438e1/3.5/stretch/slim/Dockerfile) -- [`3.5.9-alpine3.11`, `3.5-alpine3.11`, `3.5.9-alpine`, `3.5-alpine`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.5/alpine3.11/Dockerfile) -- [`3.5.9-alpine3.10`, `3.5-alpine3.10`](https://github.com/docker-library/python/blob/7dc395a6b9fabce8685009dc385fa98f8a944d5c/3.5/alpine3.10/Dockerfile) +- [`3.10.0a7-buster`, `3.10-rc-buster`, `rc-buster`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/buster/Dockerfile) +- [`3.10.0a7-slim-buster`, `3.10-rc-slim-buster`, `rc-slim-buster`, `3.10.0a7-slim`, `3.10-rc-slim`, `rc-slim`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/buster/slim/Dockerfile) +- [`3.10.0a7-alpine3.13`, `3.10-rc-alpine3.13`, `rc-alpine3.13`, `3.10.0a7-alpine`, `3.10-rc-alpine`, `rc-alpine`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/alpine3.13/Dockerfile) +- [`3.10.0a7-alpine3.12`, `3.10-rc-alpine3.12`, `rc-alpine3.12`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/alpine3.12/Dockerfile) +- [`3.10.0a7-windowsservercore-1809`, `3.10-rc-windowsservercore-1809`, `rc-windowsservercore-1809`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-1809/Dockerfile) +- [`3.10.0a7-windowsservercore-ltsc2016`, `3.10-rc-windowsservercore-ltsc2016`, `rc-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-ltsc2016/Dockerfile) +- [`3.9.4-buster`, `3.9-buster`, `3-buster`, `buster`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/buster/Dockerfile) +- [`3.9.4-slim-buster`, `3.9-slim-buster`, `3-slim-buster`, `slim-buster`, `3.9.4-slim`, `3.9-slim`, `3-slim`, `slim`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/buster/slim/Dockerfile) +- [`3.9.4-alpine3.13`, `3.9-alpine3.13`, `3-alpine3.13`, `alpine3.13`, `3.9.4-alpine`, `3.9-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/alpine3.13/Dockerfile) +- [`3.9.4-alpine3.12`, `3.9-alpine3.12`, `3-alpine3.12`, `alpine3.12`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/alpine3.12/Dockerfile) +- [`3.9.4-windowsservercore-1809`, `3.9-windowsservercore-1809`, `3-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-1809/Dockerfile) +- [`3.9.4-windowsservercore-ltsc2016`, `3.9-windowsservercore-ltsc2016`, `3-windowsservercore-ltsc2016`, `windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-ltsc2016/Dockerfile) +- [`3.8.9-buster`, `3.8-buster`](https://github.com/docker-library/python/blob/cb9a39a6c48d4606a68ae8f986373c9c64d430b5/3.8/buster/Dockerfile) +- [`3.8.9-slim-buster`, `3.8-slim-buster`, `3.8.9-slim`, `3.8-slim`](https://github.com/docker-library/python/blob/cb9a39a6c48d4606a68ae8f986373c9c64d430b5/3.8/buster/slim/Dockerfile) +- [`3.8.9-alpine3.13`, `3.8-alpine3.13`, `3.8.9-alpine`, `3.8-alpine`](https://github.com/docker-library/python/blob/cb9a39a6c48d4606a68ae8f986373c9c64d430b5/3.8/alpine3.13/Dockerfile) +- [`3.8.9-alpine3.12`, `3.8-alpine3.12`](https://github.com/docker-library/python/blob/cb9a39a6c48d4606a68ae8f986373c9c64d430b5/3.8/alpine3.12/Dockerfile) +- [`3.8.9-windowsservercore-1809`, `3.8-windowsservercore-1809`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-1809/Dockerfile) +- [`3.8.9-windowsservercore-ltsc2016`, `3.8-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-ltsc2016/Dockerfile) +- [`3.7.10-buster`, `3.7-buster`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/buster/Dockerfile) +- [`3.7.10-slim-buster`, `3.7-slim-buster`, `3.7.10-slim`, `3.7-slim`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/buster/slim/Dockerfile) +- [`3.7.10-stretch`, `3.7-stretch`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/stretch/Dockerfile) +- [`3.7.10-slim-stretch`, `3.7-slim-stretch`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/stretch/slim/Dockerfile) +- [`3.7.10-alpine3.13`, `3.7-alpine3.13`, `3.7.10-alpine`, `3.7-alpine`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/alpine3.13/Dockerfile) +- [`3.7.10-alpine3.12`, `3.7-alpine3.12`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/alpine3.12/Dockerfile) +- [`3.6.13-buster`, `3.6-buster`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/buster/Dockerfile) +- [`3.6.13-slim-buster`, `3.6-slim-buster`, `3.6.13-slim`, `3.6-slim`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/buster/slim/Dockerfile) +- [`3.6.13-stretch`, `3.6-stretch`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/stretch/Dockerfile) +- [`3.6.13-slim-stretch`, `3.6-slim-stretch`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/stretch/slim/Dockerfile) +- [`3.6.13-alpine3.13`, `3.6-alpine3.13`, `3.6.13-alpine`, `3.6-alpine`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/alpine3.13/Dockerfile) +- [`3.6.13-alpine3.12`, `3.6-alpine3.12`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/alpine3.12/Dockerfile) ## Shared Tags -- `3.9.0b1`, `3.9-rc`, `rc`: - - [`3.9.0b1-buster`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/buster/Dockerfile) - - [`3.9.0b1-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.9.0b1-windowsservercore-1809`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-1809/Dockerfile) -- `3.9.0b1-windowsservercore`, `3.9-rc-windowsservercore`, `rc-windowsservercore`: - - [`3.9.0b1-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.9.0b1-windowsservercore-1809`](https://github.com/docker-library/python/blob/590e76ff7ec5d04194c369a8fed3a5afd52d38ae/3.9-rc/windows/windowsservercore-1809/Dockerfile) -- `3.8.3`, `3.8`, `3`, `latest`: - - [`3.8.3-buster`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/buster/Dockerfile) - - [`3.8.3-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.8.3-windowsservercore-1809`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-1809/Dockerfile) -- `3.8.3-windowsservercore`, `3.8-windowsservercore`, `3-windowsservercore`, `windowsservercore`: - - [`3.8.3-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.8.3-windowsservercore-1809`](https://github.com/docker-library/python/blob/f59139d685b3b39d4452a686521e03fa093efa25/3.8/windows/windowsservercore-1809/Dockerfile) -- `3.7.7`, `3.7`: - - [`3.7.7-buster`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/buster/Dockerfile) - - [`3.7.7-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.7.7-windowsservercore-1809`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-1809/Dockerfile) -- `3.7.7-windowsservercore`, `3.7-windowsservercore`: - - [`3.7.7-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-ltsc2016/Dockerfile) - - [`3.7.7-windowsservercore-1809`](https://github.com/docker-library/python/blob/43e801fc6ced5379e70a058a3d4fa3c2ee8c8976/3.7/windows/windowsservercore-1809/Dockerfile) -- `3.6.10`, `3.6`: - - [`3.6.10-buster`](https://github.com/docker-library/python/blob/83822b9a8bc8d7f146c194b595702f4681fb7500/3.6/buster/Dockerfile) -- `3.5.9`, `3.5`: - - [`3.5.9-buster`](https://github.com/docker-library/python/blob/f4eaaa988af2b8a56bc2ca1e1a69209217ccbbc2/3.5/buster/Dockerfile) +- `3.10.0a7`, `3.10-rc`, `rc`: + - [`3.10.0a7-buster`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/buster/Dockerfile) + - [`3.10.0a7-windowsservercore-1809`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-1809/Dockerfile) + - [`3.10.0a7-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.10.0a7-windowsservercore`, `3.10-rc-windowsservercore`, `rc-windowsservercore`: + - [`3.10.0a7-windowsservercore-1809`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-1809/Dockerfile) + - [`3.10.0a7-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/4bff010c9735707699dd72524c7d1a827f6f5933/3.10-rc/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.9.4`, `3.9`, `3`, `latest`: + - [`3.9.4-buster`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/buster/Dockerfile) + - [`3.9.4-windowsservercore-1809`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-1809/Dockerfile) + - [`3.9.4-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.9.4-windowsservercore`, `3.9-windowsservercore`, `3-windowsservercore`, `windowsservercore`: + - [`3.9.4-windowsservercore-1809`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-1809/Dockerfile) + - [`3.9.4-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/18ef1b6500a622da8b138d1b413c963c279e7ea4/3.9/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.8.9`, `3.8`: + - [`3.8.9-buster`](https://github.com/docker-library/python/blob/cb9a39a6c48d4606a68ae8f986373c9c64d430b5/3.8/buster/Dockerfile) + - [`3.8.9-windowsservercore-1809`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-1809/Dockerfile) + - [`3.8.9-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.8.9-windowsservercore`, `3.8-windowsservercore`: + - [`3.8.9-windowsservercore-1809`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-1809/Dockerfile) + - [`3.8.9-windowsservercore-ltsc2016`](https://github.com/docker-library/python/blob/b4985e2aca58545a24046bdbe9d360023086abec/3.8/windows/windowsservercore-ltsc2016/Dockerfile) +- `3.7.10`, `3.7`: + - [`3.7.10-buster`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.7/buster/Dockerfile) +- `3.6.13`, `3.6`: + - [`3.6.13-buster`](https://github.com/docker-library/python/blob/7217b72192c93ca2033051d7191d5689932d3912/3.6/buster/Dockerfile) # Quick reference (cont.) @@ -100,7 +100,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/python`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fpython) + [official-images repo's `library/python` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fpython) [official-images repo's `library/python` file](https://github.com/docker-library/official-images/blob/master/library/python) ([history](https://github.com/docker-library/official-images/commits/master/library/python)) - **Source of this description**: @@ -167,6 +167,10 @@ or (again, if you need to use Python 2): $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2 python your-daemon-or-script.py ``` +## Multiple Python versions in the image + +In the non `python:slim` variants there will be an additional older `python` executable at `/usr/bin/python` while the desired newer `/usr/local/bin/python` is the default choice in the `$PATH`. This is an unfortunate side-effect of using the `buildpack-deps` image in the non-slim variants + # Image Variants The `python` images come in many flavors, each designed for a specific use case. @@ -179,11 +183,15 @@ Some of these tags may have names like buster or stretch in them. These are the This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system. +## `python:-slim` + +This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `python`. Unless you are working in an environment where *only* the `python` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. + ## `python:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). @@ -196,10 +204,6 @@ For information about how to get Docker running on Windows, please see the relev - [Windows Server Quick Start](https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_server) - [Windows 10 Quick Start](https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10) -## `python:-slim` - -This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `python`. Unless you are working in an environment where *only* the `python` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. - # License View license information for [Python 2](https://docs.python.org/2/license.html) and [Python 3](https://docs.python.org/3/license.html). diff --git a/python/content.md b/python/content.md index 512f4099e724..7a8abeda0b13 100644 --- a/python/content.md +++ b/python/content.md @@ -58,3 +58,7 @@ or (again, if you need to use Python 2): ```console $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%%:2 python your-daemon-or-script.py ``` + +## Multiple Python versions in the image + +In the non `python:slim` variants there will be an additional older `python` executable at `/usr/bin/python` while the desired newer `/usr/local/bin/python` is the default choice in the `$PATH`. This is an unfortunate side-effect of using the `buildpack-deps` image in the non-slim variants diff --git a/r-base/README.md b/r-base/README.md index ed2d5fdfeb3f..95e16bf3e73b 100644 --- a/r-base/README.md +++ b/r-base/README.md @@ -20,11 +20,11 @@ WARNING: [the Rocker Community](https://github.com/rocker-org/rocker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`4.0.0`, `latest`](https://github.com/rocker-org/rocker/blob/0317dc922dc7b9181d86446436acdd7f77ee0f17/r-base/latest/Dockerfile) +- [`4.0.5`, `latest`](https://github.com/rocker-org/rocker/blob/dd592d5c3ab289f33bf06c6c84eda354ddc40a38/r-base/4.0.5/Dockerfile) # Quick reference (cont.) @@ -32,14 +32,14 @@ WARNING: [GitHub](https://github.com/rocker-org/rocker/issues) or [Email](mailto:rocker-maintainers@eddelbuettel.com) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/r-base/), [`arm64v8`](https://hub.docker.com/r/arm64v8/r-base/) + [`amd64`](https://hub.docker.com/r/amd64/r-base/), [`arm64v8`](https://hub.docker.com/r/arm64v8/r-base/), [`ppc64le`](https://hub.docker.com/r/ppc64le/r-base/), [`s390x`](https://hub.docker.com/r/s390x/r-base/) - **Published image artifact details**: [repo-info repo's `repos/r-base/` directory](https://github.com/docker-library/repo-info/blob/master/repos/r-base) ([history](https://github.com/docker-library/repo-info/commits/master/repos/r-base)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/r-base`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fr-base) + [official-images repo's `library/r-base` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fr-base) [official-images repo's `library/r-base` file](https://github.com/docker-library/official-images/blob/master/library/r-base) ([history](https://github.com/docker-library/official-images/commits/master/library/r-base)) - **Source of this description**: diff --git a/rabbitmq/README.md b/rabbitmq/README.md index 2738e8129b3f..94e382927b9c 100644 --- a/rabbitmq/README.md +++ b/rabbitmq/README.md @@ -20,22 +20,18 @@ WARNING: [the Docker Community](https://github.com/docker-library/rabbitmq) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.8.4-rc.3`, `3.8-rc`](https://github.com/docker-library/rabbitmq/blob/fa268f0763da9cb08a185120989dd3dc755b8a76/3.8-rc/ubuntu/Dockerfile) -- [`3.8.4-rc.3-management`, `3.8-rc-management`](https://github.com/docker-library/rabbitmq/blob/13ec1c85a0882184b0bbaab2216822e7a3718d30/3.8-rc/ubuntu/management/Dockerfile) -- [`3.8.4-rc.3-alpine`, `3.8-rc-alpine`](https://github.com/docker-library/rabbitmq/blob/fa268f0763da9cb08a185120989dd3dc755b8a76/3.8-rc/alpine/Dockerfile) -- [`3.8.4-rc.3-management-alpine`, `3.8-rc-management-alpine`](https://github.com/docker-library/rabbitmq/blob/13ec1c85a0882184b0bbaab2216822e7a3718d30/3.8-rc/alpine/management/Dockerfile) -- [`3.8.3`, `3.8`, `3`, `latest`](https://github.com/docker-library/rabbitmq/blob/7aa93f2563dd6558322b2f7b4b813003be7e0816/3.8/ubuntu/Dockerfile) -- [`3.8.3-management`, `3.8-management`, `3-management`, `management`](https://github.com/docker-library/rabbitmq/blob/af5f6ff9a3916d89be6d190d562d247ae12ffa73/3.8/ubuntu/management/Dockerfile) -- [`3.8.3-alpine`, `3.8-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/rabbitmq/blob/7aa93f2563dd6558322b2f7b4b813003be7e0816/3.8/alpine/Dockerfile) -- [`3.8.3-management-alpine`, `3.8-management-alpine`, `3-management-alpine`, `management-alpine`](https://github.com/docker-library/rabbitmq/blob/af5f6ff9a3916d89be6d190d562d247ae12ffa73/3.8/alpine/management/Dockerfile) -- [`3.7.26`, `3.7`](https://github.com/docker-library/rabbitmq/blob/7f42f9325352afc1625fbf1cc928e1f66bb6cd5c/3.7/ubuntu/Dockerfile) -- [`3.7.26-management`, `3.7-management`](https://github.com/docker-library/rabbitmq/blob/bf2c73df6ee8475ac30c9773a8128852450ea518/3.7/ubuntu/management/Dockerfile) -- [`3.7.26-alpine`, `3.7-alpine`](https://github.com/docker-library/rabbitmq/blob/7f42f9325352afc1625fbf1cc928e1f66bb6cd5c/3.7/alpine/Dockerfile) -- [`3.7.26-management-alpine`, `3.7-management-alpine`](https://github.com/docker-library/rabbitmq/blob/bf2c73df6ee8475ac30c9773a8128852450ea518/3.7/alpine/management/Dockerfile) +- [`3.8.15-rc.2`, `3.8-rc`](https://github.com/docker-library/rabbitmq/blob/0c9e77ef2e7b569523ba6f01dd84ed1315b62903/3.8-rc/ubuntu/Dockerfile) +- [`3.8.15-rc.2-management`, `3.8-rc-management`](https://github.com/docker-library/rabbitmq/blob/7e63843da6bfb191ddee6dbe3dd7ec0df36ae70b/3.8-rc/ubuntu/management/Dockerfile) +- [`3.8.15-rc.2-alpine`, `3.8-rc-alpine`](https://github.com/docker-library/rabbitmq/blob/0c9e77ef2e7b569523ba6f01dd84ed1315b62903/3.8-rc/alpine/Dockerfile) +- [`3.8.15-rc.2-management-alpine`, `3.8-rc-management-alpine`](https://github.com/docker-library/rabbitmq/blob/7e63843da6bfb191ddee6dbe3dd7ec0df36ae70b/3.8-rc/alpine/management/Dockerfile) +- [`3.8.14`, `3.8`, `3`, `latest`](https://github.com/docker-library/rabbitmq/blob/10fb3def4f912ed753d81917ce6bdb48cd6a5f36/3.8/ubuntu/Dockerfile) +- [`3.8.14-management`, `3.8-management`, `3-management`, `management`](https://github.com/docker-library/rabbitmq/blob/7e63843da6bfb191ddee6dbe3dd7ec0df36ae70b/3.8/ubuntu/management/Dockerfile) +- [`3.8.14-alpine`, `3.8-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/rabbitmq/blob/10fb3def4f912ed753d81917ce6bdb48cd6a5f36/3.8/alpine/Dockerfile) +- [`3.8.14-management-alpine`, `3.8-management-alpine`, `3-management-alpine`, `management-alpine`](https://github.com/docker-library/rabbitmq/blob/7e63843da6bfb191ddee6dbe3dd7ec0df36ae70b/3.8/alpine/management/Dockerfile) # Quick reference (cont.) @@ -50,7 +46,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rabbitmq`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frabbitmq) + [official-images repo's `library/rabbitmq` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frabbitmq) [official-images repo's `library/rabbitmq` file](https://github.com/docker-library/official-images/blob/master/library/rabbitmq) ([history](https://github.com/docker-library/official-images/commits/master/library/rabbitmq)) - **Source of this description**: @@ -206,7 +202,7 @@ $ docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_VHOS See the [RabbitMQ "Configuration"](http://www.rabbitmq.com/configure.html#config-items) for more information about various configuration options. -For enabling the HiPE compiler on startup use `RABBITMQ_HIPE_COMPILE` set to `1`. Accroding to the official documentation: +For enabling the HiPE compiler on startup use `RABBITMQ_HIPE_COMPILE` set to `1`. According to the official documentation: > Set to true to precompile parts of RabbitMQ with HiPE, a just-in-time compiler for Erlang. This will increase server throughput at the cost of increased startup time. You might see 20-50% better performance at the cost of a few minutes delay at startup. @@ -251,9 +247,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `rabbitmq:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/rabbitmq/content.md b/rabbitmq/content.md index 4b62b0a86268..66071e31d1ce 100644 --- a/rabbitmq/content.md +++ b/rabbitmq/content.md @@ -148,7 +148,7 @@ $ docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_VHOS See the [RabbitMQ "Configuration"](http://www.rabbitmq.com/configure.html#config-items) for more information about various configuration options. -For enabling the HiPE compiler on startup use `RABBITMQ_HIPE_COMPILE` set to `1`. Accroding to the official documentation: +For enabling the HiPE compiler on startup use `RABBITMQ_HIPE_COMPILE` set to `1`. According to the official documentation: > Set to true to precompile parts of RabbitMQ with HiPE, a just-in-time compiler for Erlang. This will increase server throughput at the cost of increased startup time. You might see 20-50% better performance at the cost of a few minutes delay at startup. diff --git a/rakudo-star/README.md b/rakudo-star/README.md index c6d8bb4d9956..ab4a488b994d 100644 --- a/rakudo-star/README.md +++ b/rakudo-star/README.md @@ -17,20 +17,20 @@ WARNING: # Quick reference - **Maintained by**: - [the Perl 6 Community](https://github.com/perl6/docker) + [the Raku Community](https://github.com/Raku/docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `2020.01`](https://github.com/raku/docker/blob/d893fa621e755045c80fb4d0615c2810812d98f7/Dockerfile) -- [`alpine`, `2020.01-alpine`](https://github.com/raku/docker/blob/d893fa621e755045c80fb4d0615c2810812d98f7/alpine/Dockerfile) +- [`latest`, `2020.10`](https://github.com/Raku/docker/blob/9101edf7704759d30c6fd180f3f9646109e1327d/2020.10/buster/Dockerfile) +- [`alpine`, `2020.10-alpine`](https://github.com/Raku/docker/blob/9101edf7704759d30c6fd180f3f9646109e1327d/2020.10/alpine3.12/Dockerfile) # Quick reference (cont.) - **Where to file issues**: - [https://github.com/perl6/docker/issues](https://github.com/perl6/docker/issues) + [https://github.com/Raku/docker/issues](https://github.com/Raku/docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) [`amd64`](https://hub.docker.com/r/amd64/rakudo-star/), [`arm64v8`](https://hub.docker.com/r/arm64v8/rakudo-star/) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rakudo-star`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frakudo-star) + [official-images repo's `library/rakudo-star` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frakudo-star) [official-images repo's `library/rakudo-star` file](https://github.com/docker-library/official-images/blob/master/library/rakudo-star) ([history](https://github.com/docker-library/official-images/commits/master/library/rakudo-star)) - **Source of this description**: @@ -50,13 +50,11 @@ WARNING: Rakudo Star is a Raku (formerly known as Perl 6) distribution designed for use by early adopters of the language. It includes a virtual machine (the JVM or MoarVM), the Rakudo compiler, and a suite of modules that users may find useful. This image includes the MoarVM backend for the compiler. -Project homepage: [http://rakudo.org](http://rakudo.org) +- Project homepage: https://rakudo.org/ +- Raku Language Specification: https://github.com/Raku/roast +- Raku Language Documentation: https://docs.raku.org/ -GitHub repository: [https://github.com/rakudo/star](https://github.com/rakudo/star) - -The Dockerfile responsible: [http://github.com/raku/docker/tree/master/Dockerfile](http://github.com/raku/docker/tree/master/Dockerfile) - -Raku Language Documentation: [http://docs.raku.org/](http://docs.raku.org/) +> [wikipedia.org/wiki/Rakudo](https://en.wikipedia.org/wiki/Rakudo) ![logo](https://raw.githubusercontent.com/docker-library/docs/48ac05ac94903844bfbdea1fb361676a904f9d85/rakudo-star/logo.png) @@ -80,7 +78,7 @@ $ docker run -it rakudo-star raku -e 'say "Hello!"' Many Raku developers are present on #raku on Freenode. -Issues for Rakudo are tracked in [on GitHub](https://github.com/rakudo/rakudo/issues/). +Issues for Rakudo are tracked in [on GitHub](https://github.com/rakudo/rakudo/issues). # Image Variants @@ -92,9 +90,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `rakudo-star:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/rakudo-star/content.md b/rakudo-star/content.md index 59045d10a389..dd880ec19ff6 100644 --- a/rakudo-star/content.md +++ b/rakudo-star/content.md @@ -2,13 +2,11 @@ Rakudo Star is a Raku (formerly known as Perl 6) distribution designed for use by early adopters of the language. It includes a virtual machine (the JVM or MoarVM), the Rakudo compiler, and a suite of modules that users may find useful. This image includes the MoarVM backend for the compiler. -Project homepage: [http://rakudo.org](http://rakudo.org) +- Project homepage: https://rakudo.org/ +- Raku Language Specification: https://github.com/Raku/roast +- Raku Language Documentation: https://docs.raku.org/ -GitHub repository: [https://github.com/rakudo/star](https://github.com/rakudo/star) - -The Dockerfile responsible: [http://github.com/raku/docker/tree/master/Dockerfile](http://github.com/raku/docker/tree/master/Dockerfile) - -Raku Language Documentation: [http://docs.raku.org/](http://docs.raku.org/) +> [wikipedia.org/wiki/Rakudo](https://en.wikipedia.org/wiki/Rakudo) %%LOGO%% @@ -32,4 +30,4 @@ $ docker run -it %%IMAGE%% raku -e 'say "Hello!"' Many Raku developers are present on #raku on Freenode. -Issues for Rakudo are tracked in [on GitHub](https://github.com/rakudo/rakudo/issues/). +Issues for Rakudo are tracked in [on GitHub](https://github.com/rakudo/rakudo/issues). diff --git a/rakudo-star/github-repo b/rakudo-star/github-repo index 8bead6a48453..a39597f12744 100644 --- a/rakudo-star/github-repo +++ b/rakudo-star/github-repo @@ -1 +1 @@ -https://github.com/perl6/docker +https://github.com/Raku/docker diff --git a/rakudo-star/maintainer.md b/rakudo-star/maintainer.md index d5a3c22c7d49..690389e6bdfa 100644 --- a/rakudo-star/maintainer.md +++ b/rakudo-star/maintainer.md @@ -1 +1 @@ -[the Perl 6 Community](%%GITHUB-REPO%%) +[the Raku Community](%%GITHUB-REPO%%) diff --git a/rapidoid/README.md b/rapidoid/README.md index f89409d96c64..a127bd4e0973 100644 --- a/rapidoid/README.md +++ b/rapidoid/README.md @@ -26,7 +26,7 @@ As noted in [docker-library/official-images#4667 (comment)](https://github.com/d [Rapidoid](https://github.com/rapidoid/docker-rapidoid) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -45,7 +45,7 @@ As noted in [docker-library/official-images#4667 (comment)](https://github.com/d (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rapidoid`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frapidoid) + [official-images repo's `library/rapidoid` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frapidoid) [official-images repo's `library/rapidoid` file](https://github.com/docker-library/official-images/blob/master/library/rapidoid) ([history](https://github.com/docker-library/official-images/commits/master/library/rapidoid)) - **Source of this description**: diff --git a/redis/README.md b/redis/README.md index 42ad3ebf36bd..8e2fe151e794 100644 --- a/redis/README.md +++ b/redis/README.md @@ -20,15 +20,17 @@ WARNING: [the Docker Community](https://github.com/docker-library/redis) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`6.0.3`, `6.0`, `6`, `latest`, `6.0.3-buster`, `6.0-buster`, `6-buster`, `buster`](https://github.com/docker-library/redis/blob/9c9d49d25acd7428ea30669f0395506f4a7f78fc/6.0/Dockerfile) -- [`6.0.3-alpine`, `6.0-alpine`, `6-alpine`, `alpine`, `6.0.3-alpine3.11`, `6.0-alpine3.11`, `6-alpine3.11`, `alpine3.11`](https://github.com/docker-library/redis/blob/9c9d49d25acd7428ea30669f0395506f4a7f78fc/6.0/alpine/Dockerfile) -- [`5.0.9`, `5.0`, `5`, `5.0.9-buster`, `5.0-buster`, `5-buster`](https://github.com/docker-library/redis/blob/d3a0f3d95ac768db44dbcb87ecf88cfc436581d5/5.0/Dockerfile) -- [`5.0.9-32bit`, `5.0-32bit`, `5-32bit`, `5.0.9-32bit-buster`, `5.0-32bit-buster`, `5-32bit-buster`](https://github.com/docker-library/redis/blob/d3a0f3d95ac768db44dbcb87ecf88cfc436581d5/5.0/32bit/Dockerfile) -- [`5.0.9-alpine`, `5.0-alpine`, `5-alpine`, `5.0.9-alpine3.11`, `5.0-alpine3.11`, `5-alpine3.11`](https://github.com/docker-library/redis/blob/d3a0f3d95ac768db44dbcb87ecf88cfc436581d5/5.0/alpine/Dockerfile) +- [`6.2.2`, `6.2`, `6`, `latest`, `6.2.2-buster`, `6.2-buster`, `6-buster`, `buster`](https://github.com/docker-library/redis/blob/1511c433cdb80391d897b5d2a04c67c261bf5f4b/6.2/Dockerfile) +- [`6.2.2-alpine`, `6.2-alpine`, `6-alpine`, `alpine`, `6.2.2-alpine3.13`, `6.2-alpine3.13`, `6-alpine3.13`, `alpine3.13`](https://github.com/docker-library/redis/blob/1511c433cdb80391d897b5d2a04c67c261bf5f4b/6.2/alpine/Dockerfile) +- [`6.0.12`, `6.0`, `6.0.12-buster`, `6.0-buster`](https://github.com/docker-library/redis/blob/7b37611579e91f4ce356dfc2954500b5d6d43b60/6.0/Dockerfile) +- [`6.0.12-alpine`, `6.0-alpine`, `6.0.12-alpine3.13`, `6.0-alpine3.13`](https://github.com/docker-library/redis/blob/7b37611579e91f4ce356dfc2954500b5d6d43b60/6.0/alpine/Dockerfile) +- [`5.0.12`, `5.0`, `5`, `5.0.12-buster`, `5.0-buster`, `5-buster`](https://github.com/docker-library/redis/blob/147762b57f4d4391ba6cf8fbd1e7590a606643ef/5/Dockerfile) +- [`5.0.12-32bit`, `5.0-32bit`, `5-32bit`, `5.0.12-32bit-buster`, `5.0-32bit-buster`, `5-32bit-buster`](https://github.com/docker-library/redis/blob/147762b57f4d4391ba6cf8fbd1e7590a606643ef/5/32bit/Dockerfile) +- [`5.0.12-alpine`, `5.0-alpine`, `5-alpine`, `5.0.12-alpine3.13`, `5.0-alpine3.13`, `5-alpine3.13`](https://github.com/docker-library/redis/blob/147762b57f4d4391ba6cf8fbd1e7590a606643ef/5/alpine/Dockerfile) # Quick reference (cont.) @@ -43,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/redis`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fredis) + [official-images repo's `library/redis` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fredis) [official-images repo's `library/redis` file](https://github.com/docker-library/official-images/blob/master/library/redis) ([history](https://github.com/docker-library/official-images/commits/master/library/redis)) - **Source of this description**: @@ -102,11 +104,13 @@ CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ] Alternatively, you can specify something along the same lines with `docker run` options. ```console -$ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf +$ docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf ``` Where `/myredis/conf/` is a local directory containing your `redis.conf` file. Using this method means that there is no need for you to have a Dockerfile for your redis container. +The mapped directory should be writable, as depending on the configuration and mode of operation, Redis may need to create additional configuration files or rewrite existing ones. + ## `32bit` variant This variant is *not* a 32bit image (and will not run on 32bit hardware), but includes Redis compiled as a 32bit binary, especially for users who need the decreased memory requirements associated with that. See ["Using 32 bit instances"](http://redis.io/topics/memory-optimization#using-32-bit-instances) in the Redis documentation for more information. @@ -131,9 +135,9 @@ Some of these tags may have names like buster in them. These are the suite code ## `redis:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/redis/content.md b/redis/content.md index 4f8a77389371..ef10d6569705 100644 --- a/redis/content.md +++ b/redis/content.md @@ -51,11 +51,13 @@ CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ] Alternatively, you can specify something along the same lines with `docker run` options. ```console -$ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis %%IMAGE%% redis-server /usr/local/etc/redis/redis.conf +$ docker run -v /myredis/conf:/usr/local/etc/redis --name myredis %%IMAGE%% redis-server /usr/local/etc/redis/redis.conf ``` Where `/myredis/conf/` is a local directory containing your `redis.conf` file. Using this method means that there is no need for you to have a Dockerfile for your redis container. +The mapped directory should be writable, as depending on the configuration and mode of operation, Redis may need to create additional configuration files or rewrite existing ones. + ## `32bit` variant This variant is *not* a 32bit image (and will not run on 32bit hardware), but includes Redis compiled as a 32bit binary, especially for users who need the decreased memory requirements associated with that. See ["Using 32 bit instances"](http://redis.io/topics/memory-optimization#using-32-bit-instances) in the Redis documentation for more information. diff --git a/redmine/README.md b/redmine/README.md index cbc8f51a2e30..797c7a6dde12 100644 --- a/redmine/README.md +++ b/redmine/README.md @@ -20,16 +20,19 @@ WARNING: [the Docker Community](https://github.com/docker-library/redmine) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`4.1.1`, `4.1`, `4`, `latest`](https://github.com/docker-library/redmine/blob/f5895d1d4bff53a590b6048e294dc96b26206883/4.1/Dockerfile) -- [`4.1.1-passenger`, `4.1-passenger`, `4-passenger`, `passenger`](https://github.com/docker-library/redmine/blob/fe32a0b56f5eacae086030de5e0ca19ea026b51b/4.1/passenger/Dockerfile) -- [`4.1.1-alpine`, `4.1-alpine`, `4-alpine`, `alpine`](https://github.com/docker-library/redmine/blob/1dae7ff59aef57ec379bbada0fa01a193fadb847/4.1/alpine/Dockerfile) -- [`4.0.7`, `4.0`](https://github.com/docker-library/redmine/blob/f5895d1d4bff53a590b6048e294dc96b26206883/4.0/Dockerfile) -- [`4.0.7-passenger`, `4.0-passenger`](https://github.com/docker-library/redmine/blob/fd5541e76d7f2230484c19a784b8f9ee884559ce/4.0/passenger/Dockerfile) -- [`4.0.7-alpine`, `4.0-alpine`](https://github.com/docker-library/redmine/blob/1dae7ff59aef57ec379bbada0fa01a193fadb847/4.0/alpine/Dockerfile) +- [`4.2.1`, `4.2`, `4`, `latest`](https://github.com/docker-library/redmine/blob/7b4cc5ec2de2d6e18523e07c92c8dcae6cc5ebd7/4.2/Dockerfile) +- [`4.2.1-passenger`, `4.2-passenger`, `4-passenger`, `passenger`](https://github.com/docker-library/redmine/blob/fc3182cf934fc112a0d9a4f819892d3f2450d05a/4.2/passenger/Dockerfile) +- [`4.2.1-alpine`, `4.2-alpine`, `4-alpine`, `alpine`](https://github.com/docker-library/redmine/blob/7b4cc5ec2de2d6e18523e07c92c8dcae6cc5ebd7/4.2/alpine/Dockerfile) +- [`4.1.3`, `4.1`](https://github.com/docker-library/redmine/blob/7aedf23f0304b556b745fa309406f2f4297b3d17/4.1/Dockerfile) +- [`4.1.3-passenger`, `4.1-passenger`](https://github.com/docker-library/redmine/blob/9cdb40719526a554a985422a554e481cbdf3e717/4.1/passenger/Dockerfile) +- [`4.1.3-alpine`, `4.1-alpine`](https://github.com/docker-library/redmine/blob/7aedf23f0304b556b745fa309406f2f4297b3d17/4.1/alpine/Dockerfile) +- [`4.0.9`, `4.0`](https://github.com/docker-library/redmine/blob/69b470404cf0f1c0f1d8ca9efd45a95059d28a6a/4.0/Dockerfile) +- [`4.0.9-passenger`, `4.0-passenger`](https://github.com/docker-library/redmine/blob/9cdb40719526a554a985422a554e481cbdf3e717/4.0/passenger/Dockerfile) +- [`4.0.9-alpine`, `4.0-alpine`](https://github.com/docker-library/redmine/blob/69b470404cf0f1c0f1d8ca9efd45a95059d28a6a/4.0/alpine/Dockerfile) # Quick reference (cont.) @@ -44,7 +47,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/redmine`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fredmine) + [official-images repo's `library/redmine` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fredmine) [official-images repo's `library/redmine` file](https://github.com/docker-library/official-images/blob/master/library/redmine) ([history](https://github.com/docker-library/official-images/commits/master/library/redmine)) - **Source of this description**: @@ -159,9 +162,9 @@ If you'd like to be able to access the instance from the host without the contai When you start the `redmine` image, you can adjust the configuration of the instance by passing one or more environment variables on the `docker run` command line. -### `REDMINE_DB_MYSQL` or `REDMINE_DB_POSTGRES` +### `REDMINE_DB_MYSQL`, `REDMINE_DB_POSTGRES`, or `REDMINE_DB_SQLSERVER` -These two variables allow you to set the hostname or IP address of the MySQL or PostgreSQL host, respectively. These values are mutually exclusive so it is undefined behavior if both are set. If neither variable is set, the image will fall back to using SQLite. +These variables allow you to set the hostname or IP address of the MySQL, PostgreSQL, or Microsoft SQL host, respectively. These values are mutually exclusive so it is undefined behavior if any two are set. If no variable is set, the image will fall back to using SQLite. ### `REDMINE_DB_PORT` @@ -199,6 +202,22 @@ This variable allows you to control if `rake redmine:plugins:migrate` is run on This variable is required when using Docker Swarm replicas to maintain session connections when being loadbalanced between containers. It will create an initial `config/secrets.yml` and set the `secret_key_base` value, which is "used by Rails to encode cookies storing session data thus preventing their tampering. Generating a new secret token invalidates all existing sessions after restart" ([session store](https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-5-Session-store-secret-generation)). If you do not set this variable or provide a `secrets.yml` one will be generated using `rake generate_secret_token`. +## Running as an arbitrary user + +For running Redmine without Phusion Passenger you can simply use the [`--user`](https://docs.docker.com/engine/reference/run/#user) flag to `docker run` and give it a `username:group` or `UID:GID`, the user doesn't need to exist in the container + +For running the `redmine:passenger` variant as an arbitrary user you will however need the user to exist in `/etc/passwd`. Here are a few examples for doing that: + +1. Create the user on your host and mount `/etc/passwd:/etc/passwd:ro` + +2. Create a Dockerfile `FROM redmine:passenger` and include something like [`RUN groupadd -r group && useradd --no-log-init -r -g group user`](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user) + + ```dockerfile + FROM redmine:passenger + RUN groupadd -r group && useradd --no-log-init -r -g group user + USER user + ``` + ## Docker Secrets As an alternative to passing sensitive information via environment variables, `_FILE` may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in `/run/secrets/` files. For example: @@ -219,9 +238,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `redmine:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/redmine/content.md b/redmine/content.md index dcc7cf5ba57b..0fd603c40904 100644 --- a/redmine/content.md +++ b/redmine/content.md @@ -80,9 +80,9 @@ If you'd like to be able to access the instance from the host without the contai When you start the `%%REPO%%` image, you can adjust the configuration of the instance by passing one or more environment variables on the `docker run` command line. -### `REDMINE_DB_MYSQL` or `REDMINE_DB_POSTGRES` +### `REDMINE_DB_MYSQL`, `REDMINE_DB_POSTGRES`, or `REDMINE_DB_SQLSERVER` -These two variables allow you to set the hostname or IP address of the MySQL or PostgreSQL host, respectively. These values are mutually exclusive so it is undefined behavior if both are set. If neither variable is set, the image will fall back to using SQLite. +These variables allow you to set the hostname or IP address of the MySQL, PostgreSQL, or Microsoft SQL host, respectively. These values are mutually exclusive so it is undefined behavior if any two are set. If no variable is set, the image will fall back to using SQLite. ### `REDMINE_DB_PORT` @@ -120,6 +120,22 @@ This variable allows you to control if `rake redmine:plugins:migrate` is run on This variable is required when using Docker Swarm replicas to maintain session connections when being loadbalanced between containers. It will create an initial `config/secrets.yml` and set the `secret_key_base` value, which is "used by Rails to encode cookies storing session data thus preventing their tampering. Generating a new secret token invalidates all existing sessions after restart" ([session store](https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-5-Session-store-secret-generation)). If you do not set this variable or provide a `secrets.yml` one will be generated using `rake generate_secret_token`. +## Running as an arbitrary user + +For running Redmine without Phusion Passenger you can simply use the [`--user`](https://docs.docker.com/engine/reference/run/#user) flag to `docker run` and give it a `username:group` or `UID:GID`, the user doesn't need to exist in the container + +For running the `redmine:passenger` variant as an arbitrary user you will however need the user to exist in `/etc/passwd`. Here are a few examples for doing that: + +1. Create the user on your host and mount `/etc/passwd:/etc/passwd:ro` + +2. Create a Dockerfile `FROM redmine:passenger` and include something like [`RUN groupadd -r group && useradd --no-log-init -r -g group user`](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user) + + ```dockerfile + FROM redmine:passenger + RUN groupadd -r group && useradd --no-log-init -r -g group user + USER user + ``` + ## Docker Secrets As an alternative to passing sensitive information via environment variables, `_FILE` may be appended to the previously listed environment variables, causing the initialization script to load the values for those variables from files present in the container. In particular, this can be used to load passwords from Docker secrets stored in `/run/secrets/` files. For example: diff --git a/registry/README.md b/registry/README.md index 5b13fe6df5e0..a3fffeaeecc8 100644 --- a/registry/README.md +++ b/registry/README.md @@ -20,12 +20,13 @@ WARNING: [Docker, Inc.](https://github.com/docker/distribution-library-image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + +- **Need a free, secure hosted registry?** Try [Docker Hub](https://www.docker.com/pricing). # Supported tags and respective `Dockerfile` links -- [`2.7.1`, `2.7`, `2`, `latest`](https://github.com/docker/distribution-library-image/blob/0b6ea3ba50b65563600a717f07db4cfa6f18f957/amd64/Dockerfile) -- [`2.6.2`, `2.6`](https://github.com/docker/distribution-library-image/blob/fc40f1f1051bb4a42ee4661ccaa190c1bd6c6be9/amd64/Dockerfile) +- [`2.7.1`, `2.7`, `2`, `latest`](https://github.com/docker/distribution-library-image/blob/ab00e8dae12d4515ed259015eab771ec92e92dd4/amd64/Dockerfile) # Quick reference (cont.) @@ -40,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/registry`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fregistry) + [official-images repo's `library/registry` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fregistry) [official-images repo's `library/registry` file](https://github.com/docker-library/official-images/blob/master/library/registry) ([history](https://github.com/docker-library/official-images/commits/master/library/registry)) - **Source of this description**: @@ -70,10 +71,6 @@ The [documentation over at docs.docker.com](https://docs.docker.com/registry/) i Specifically, [the section regarding deployment](https://docs.docker.com/registry/deploying/) has pointers for more complex use cases than simply running a registry on localhost. -# Support - -If you are interested in commercial support, the [Docker Trusted Registry](https://www.docker.com/docker-trusted-registry) provides an image registry, LDAP/Active Directory integration, security certificates, and more in a solution that includes commercial support. - # License View [license information](https://github.com/docker/distribution/blob/master/LICENSE) for the software contained in this image. diff --git a/registry/content.md b/registry/content.md index 6571f2bb0dff..d2b0afbfd149 100644 --- a/registry/content.md +++ b/registry/content.md @@ -21,7 +21,3 @@ $ docker push localhost:5000/ubuntu The [documentation over at docs.docker.com](https://docs.docker.com/registry/) is a good place to learn more about what the registry is, how it works, and how to use it. Specifically, [the section regarding deployment](https://docs.docker.com/registry/deploying/) has pointers for more complex use cases than simply running a registry on localhost. - -# Support - -If you are interested in commercial support, the [Docker Trusted Registry](https://www.docker.com/docker-trusted-registry) provides an image registry, LDAP/Active Directory integration, security certificates, and more in a solution that includes commercial support. diff --git a/registry/get-help.md b/registry/get-help.md new file mode 100644 index 000000000000..474dd2e95640 --- /dev/null +++ b/registry/get-help.md @@ -0,0 +1,3 @@ +[the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + +- **Need a free, secure hosted registry?** Try [Docker Hub](https://www.docker.com/pricing). diff --git a/rethinkdb/README.md b/rethinkdb/README.md index 155eac646916..66ab34d5de90 100644 --- a/rethinkdb/README.md +++ b/rethinkdb/README.md @@ -20,11 +20,14 @@ WARNING: [RethinkDB](https://github.com/rethinkdb/rethinkdb-dockerfiles) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.4.0`, `2.4`, `2`, `latest`](https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/54d3eebf6409b196264c193e0cbad027061739b3/bionic/2.4.0/Dockerfile) +- [`2.4.1-buster-slim`, `2.4-buster-slim`, `2-buster-slim`, `buster-slim`, `2.4.1`, `2.4`, `2`, `latest`](https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/5bccd499742f6f05e7ddc970842a1763bdd99cfa/buster/2.4.1/Dockerfile) +- [`2.4.1-centos`, `2.4-centos`, `2-centos`, `centos`](https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/5bccd499742f6f05e7ddc970842a1763bdd99cfa/centos8/2.4.1/Dockerfile) +- [`2.4.0-buster-slim`, `2.4.0`](https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/444f7754822cb3e96cb2b66042d8e87d2227be0b/buster/2.4.0/Dockerfile) +- [`2.4.0-centos`](https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/444f7754822cb3e96cb2b66042d8e87d2227be0b/centos8/2.4.0/Dockerfile) # Quick reference (cont.) @@ -39,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rethinkdb`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frethinkdb) + [official-images repo's `library/rethinkdb` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frethinkdb) [official-images repo's `library/rethinkdb` file](https://github.com/docker-library/official-images/blob/master/library/rethinkdb) ([history](https://github.com/docker-library/official-images/commits/master/library/rethinkdb)) - **Source of this description**: @@ -94,6 +97,20 @@ kill $(lsof -t -i @localhost:8080 -sTCP:listen) See the [official docs](http://www.rethinkdb.com/docs/) for infomation on using and configuring a RethinkDB cluster. +# Image Variants + +The `rethinkdb` images come in many flavors, each designed for a specific use case. + +## `rethinkdb:` + +This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. + +Some of these tags may have names like buster in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. + +## `rethinkdb:-slim` + +This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run `rethinkdb`. Unless you are working in an environment where *only* the `rethinkdb` image will be deployed and you have space constraints, we highly recommend using the default image of this repository. + # License View [license information](https://raw.githubusercontent.com/rethinkdb/rethinkdb/next/LICENSE) for the software contained in this image. diff --git a/rocket.chat/README.md b/rocket.chat/README.md index b3af5a9cab6d..46c6dbb13f08 100644 --- a/rocket.chat/README.md +++ b/rocket.chat/README.md @@ -20,12 +20,14 @@ WARNING: [Rocket.Chat](https://github.com/RocketChat/Docker.Official.Image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.2.2`, `3.2`, `3`, `latest`](https://github.com/RocketChat/Docker.Official.Image/blob/9cc942405ca293ef01474e2c13a40894ee313851/3/Dockerfile) -- [`2.4.12`, `2.4`, `2`](https://github.com/RocketChat/Docker.Official.Image/blob/9cc942405ca293ef01474e2c13a40894ee313851/2/Dockerfile) +- [`3.13.2`, `3.13`, `3`, `latest`](https://github.com/RocketChat/Docker.Official.Image/blob/13feeb6646c19a96013780eed555fb11018da262/3.13/Dockerfile) +- [`3.12.4`, `3.12`](https://github.com/RocketChat/Docker.Official.Image/blob/13feeb6646c19a96013780eed555fb11018da262/3.12/Dockerfile) +- [`3.11.4`, `3.11`](https://github.com/RocketChat/Docker.Official.Image/blob/13feeb6646c19a96013780eed555fb11018da262/3.11/Dockerfile) +- [`2.4.14`, `2.4`, `2`](https://github.com/RocketChat/Docker.Official.Image/blob/8c163b1c5a8e077280d8dc2301ba75dfbfd52d32/2.4/Dockerfile) # Quick reference (cont.) @@ -40,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rocket.chat`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frocket.chat) + [official-images repo's `library/rocket.chat` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frocket.chat) [official-images repo's `library/rocket.chat` file](https://github.com/docker-library/official-images/blob/master/library/rocket.chat) ([history](https://github.com/docker-library/official-images/commits/master/library/rocket.chat)) - **Source of this description**: diff --git a/ros/README.md b/ros/README.md index fddec909c8fe..5c5f4dbd07e6 100644 --- a/ros/README.md +++ b/ros/README.md @@ -20,34 +20,42 @@ WARNING: [the Open Source Robotics Foundation](https://github.com/osrf/docker_images) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`kinetic-ros-core`, `kinetic-ros-core-xenial`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/kinetic/ubuntu/xenial/ros-core/Dockerfile) -- [`kinetic-ros-base`, `kinetic-ros-base-xenial`, `kinetic`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/kinetic/ubuntu/xenial/ros-base/Dockerfile) -- [`kinetic-robot`, `kinetic-robot-xenial`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/kinetic/ubuntu/xenial/robot/Dockerfile) -- [`kinetic-perception`, `kinetic-perception-xenial`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/kinetic/ubuntu/xenial/perception/Dockerfile) -- [`melodic-ros-core`, `melodic-ros-core-bionic`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/melodic/ubuntu/bionic/ros-core/Dockerfile) -- [`melodic-ros-base`, `melodic-ros-base-bionic`, `melodic`, `latest`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/melodic/ubuntu/bionic/ros-base/Dockerfile) -- [`melodic-robot`, `melodic-robot-bionic`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/melodic/ubuntu/bionic/robot/Dockerfile) -- [`melodic-perception`, `melodic-perception-bionic`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/melodic/ubuntu/bionic/perception/Dockerfile) -- [`melodic-ros-core-stretch`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/melodic/debian/stretch/ros-core/Dockerfile) -- [`melodic-ros-base-stretch`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/melodic/debian/stretch/ros-base/Dockerfile) -- [`melodic-robot-stretch`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/melodic/debian/stretch/robot/Dockerfile) -- [`melodic-perception-stretch`](https://github.com/osrf/docker_images/blob/7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b/ros/melodic/debian/stretch/perception/Dockerfile) -- [`noetic-ros-core`, `noetic-ros-core-focal`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/ubuntu/focal/ros-core/Dockerfile) -- [`noetic-ros-base`, `noetic-ros-base-focal`, `noetic`](https://github.com/osrf/docker_images/blob/cc4e832f92bcac995b9a2c9ca8a7b8fcf85c5c28/ros/noetic/ubuntu/focal/ros-base/Dockerfile) -- [`noetic-robot`, `noetic-robot-focal`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/ubuntu/focal/robot/Dockerfile) -- [`noetic-perception`, `noetic-perception-focal`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/ubuntu/focal/perception/Dockerfile) -- [`noetic-ros-core-buster`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/debian/buster/ros-core/Dockerfile) -- [`noetic-ros-base-buster`](https://github.com/osrf/docker_images/blob/cc4e832f92bcac995b9a2c9ca8a7b8fcf85c5c28/ros/noetic/debian/buster/ros-base/Dockerfile) -- [`noetic-robot-buster`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/debian/buster/robot/Dockerfile) -- [`noetic-perception-buster`](https://github.com/osrf/docker_images/blob/bba0ef85a9b417f3815d2cba3b36e7754611a428/ros/noetic/debian/buster/perception/Dockerfile) -- [`dashing-ros-core`, `dashing-ros-core-bionic`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/dashing/ubuntu/bionic/ros-core/Dockerfile) -- [`dashing-ros-base`, `dashing-ros-base-bionic`, `dashing`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/dashing/ubuntu/bionic/ros-base/Dockerfile) -- [`eloquent-ros-core`, `eloquent-ros-core-bionic`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/eloquent/ubuntu/bionic/ros-core/Dockerfile) -- [`eloquent-ros-base`, `eloquent-ros-base-bionic`, `eloquent`](https://github.com/osrf/docker_images/blob/0b33e61b5bbed5b93b9fba2d5bae5db604ff9b58/ros/eloquent/ubuntu/bionic/ros-base/Dockerfile) +- [`kinetic-ros-core`, `kinetic-ros-core-xenial`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/kinetic/ubuntu/xenial/ros-core/Dockerfile) +- [`kinetic-ros-base`, `kinetic-ros-base-xenial`, `kinetic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/kinetic/ubuntu/xenial/ros-base/Dockerfile) +- [`kinetic-robot`, `kinetic-robot-xenial`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/kinetic/ubuntu/xenial/robot/Dockerfile) +- [`kinetic-perception`, `kinetic-perception-xenial`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/kinetic/ubuntu/xenial/perception/Dockerfile) +- [`melodic-ros-core`, `melodic-ros-core-bionic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/ubuntu/bionic/ros-core/Dockerfile) +- [`melodic-ros-base`, `melodic-ros-base-bionic`, `melodic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/ubuntu/bionic/ros-base/Dockerfile) +- [`melodic-robot`, `melodic-robot-bionic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/ubuntu/bionic/robot/Dockerfile) +- [`melodic-perception`, `melodic-perception-bionic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/ubuntu/bionic/perception/Dockerfile) +- [`melodic-ros-core-stretch`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/debian/stretch/ros-core/Dockerfile) +- [`melodic-ros-base-stretch`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/debian/stretch/ros-base/Dockerfile) +- [`melodic-robot-stretch`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/debian/stretch/robot/Dockerfile) +- [`melodic-perception-stretch`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/melodic/debian/stretch/perception/Dockerfile) +- [`noetic-ros-core`, `noetic-ros-core-focal`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/ubuntu/focal/ros-core/Dockerfile) +- [`noetic-ros-base`, `noetic-ros-base-focal`, `noetic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/ubuntu/focal/ros-base/Dockerfile) +- [`noetic-robot`, `noetic-robot-focal`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/ubuntu/focal/robot/Dockerfile) +- [`noetic-perception`, `noetic-perception-focal`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/ubuntu/focal/perception/Dockerfile) +- [`noetic-ros-core-buster`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/debian/buster/ros-core/Dockerfile) +- [`noetic-ros-base-buster`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/debian/buster/ros-base/Dockerfile) +- [`noetic-robot-buster`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/debian/buster/robot/Dockerfile) +- [`noetic-perception-buster`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/noetic/debian/buster/perception/Dockerfile) +- [`dashing-ros-core`, `dashing-ros-core-bionic`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/dashing/ubuntu/bionic/ros-core/Dockerfile) +- [`dashing-ros-base`, `dashing-ros-base-bionic`, `dashing`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/dashing/ubuntu/bionic/ros-base/Dockerfile) +- [`dashing-ros1-bridge`, `dashing-ros1-bridge-bionic`](https://github.com/osrf/docker_images/blob/0d38100e2fec914106507817e3122d467617e2ee/ros/dashing/ubuntu/bionic/ros1-bridge/Dockerfile) +- [`eloquent-ros-core`, `eloquent-ros-core-bionic`](https://github.com/osrf/docker_images/blob/b3e79c3aef3687b56b3c1052ae38aa7010234834/ros/eloquent/ubuntu/bionic/ros-core/Dockerfile) +- [`eloquent-ros-base`, `eloquent-ros-base-bionic`, `eloquent`](https://github.com/osrf/docker_images/blob/b3e79c3aef3687b56b3c1052ae38aa7010234834/ros/eloquent/ubuntu/bionic/ros-base/Dockerfile) +- [`eloquent-ros1-bridge`, `eloquent-ros1-bridge-bionic`](https://github.com/osrf/docker_images/blob/b3e79c3aef3687b56b3c1052ae38aa7010234834/ros/eloquent/ubuntu/bionic/ros1-bridge/Dockerfile) +- [`foxy-ros-core`, `foxy-ros-core-focal`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/foxy/ubuntu/focal/ros-core/Dockerfile) +- [`foxy-ros-base`, `foxy-ros-base-focal`, `foxy`, `latest`](https://github.com/osrf/docker_images/blob/df19ab7d5993d3b78a908362cdcd1479a8e78b35/ros/foxy/ubuntu/focal/ros-base/Dockerfile) +- [`foxy-ros1-bridge`, `foxy-ros1-bridge-focal`](https://github.com/osrf/docker_images/blob/f7d378b9d6ed10c72a2f686554f7b712e921c1aa/ros/foxy/ubuntu/focal/ros1-bridge/Dockerfile) +- [`rolling-ros-core`, `rolling-ros-core-focal`](https://github.com/osrf/docker_images/blob/a5644adacdca4a49faf10221620048175cdd7262/ros/rolling/ubuntu/focal/ros-core/Dockerfile) +- [`rolling-ros-base`, `rolling-ros-base-focal`, `rolling`](https://github.com/osrf/docker_images/blob/a5644adacdca4a49faf10221620048175cdd7262/ros/rolling/ubuntu/focal/ros-base/Dockerfile) +- [`rolling-ros1-bridge`, `rolling-ros1-bridge-focal`](https://github.com/osrf/docker_images/blob/a5644adacdca4a49faf10221620048175cdd7262/ros/rolling/ubuntu/focal/ros1-bridge/Dockerfile) # Quick reference (cont.) @@ -62,37 +70,125 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/ros`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fros) + [official-images repo's `library/ros` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fros) [official-images repo's `library/ros` file](https://github.com/docker-library/official-images/blob/master/library/ros) ([history](https://github.com/docker-library/official-images/commits/master/library/ros)) - **Source of this description**: [docs repo's `ros/` directory](https://github.com/docker-library/docs/tree/master/ros) ([history](https://github.com/docker-library/docs/commits/master/ros)) -# What is [ROS](http://www.ros.org/)? +# What is [ROS](https://www.ros.org/)? The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. > [wikipedia.org/wiki/Robot_Operating_System](https://en.wikipedia.org/wiki/Robot_Operating_System) -[![logo](https://raw.githubusercontent.com/docker-library/docs/0074e9dac72a35e5058f356885121aa82572682f/ros/logo.png)](http://www.ros.org/) +[![logo](https://raw.githubusercontent.com/docker-library/docs/0074e9dac72a35e5058f356885121aa82572682f/ros/logo.png)](https://www.ros.org/) # How to use this image -## Create a `Dockerfile` in your ROS app project +## Creating a `Dockerfile` to install ROS packages + +To create your own ROS docker images and install custom packages, here's a simple example of installing the C++, Python client library demos using the official released Debian packages via apt-get. ```dockerfile -FROM ros:indigo -# place here your application's setup specifics -CMD [ "roslaunch", "my-ros-app my-ros-app.launch" ] +FROM ros:foxy + +# install ros package +RUN apt-get update && apt-get install -y \ + ros-${ROS_DISTRO}-demo-nodes-cpp \ + ros-${ROS_DISTRO}-demo-nodes-py && \ + rm -rf /var/lib/apt/lists/* + +# launch ros package +CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener.launch.py"] ``` -You can then build and run the Docker image: +Note: all ROS images include a default entrypoint that sources the ROS environment setup before executing the configured command, in this case the demo packages launch file. You can then build and run the Docker image like so: ```console -$ docker build -t my-ros-app . -$ docker run -it --rm --name my-running-app my-ros-app +$ docker build -t my/ros:app . +$ docker run -it --rm my/ros:app +[INFO] [launch]: process[talker-1]: started with pid [813] +[INFO] [launch]: process[listener-2]: started with pid [814] +[INFO] [talker]: Publishing: 'Hello World: 1' +[INFO] [listener]: I heard: [Hello World: 1] +[INFO] [talker]: Publishing: 'Hello World: 2' +[INFO] [listener]: I heard: [Hello World: 2] +... +``` + +## Creating a `Dockerfile` to build ROS packages + +To create your own ROS docker images and build custom packages, here's a simple example of installing a package's build dependencies, compiling it from source, and installing the resulting build artifacts into a final multi-stage image layer. + +```dockerfile +ARG FROM_IMAGE=ros:foxy +ARG OVERLAY_WS=/opt/ros/overlay_ws + +# multi-stage for caching +FROM $FROM_IMAGE AS cacher + +# clone overlay source +ARG OVERLAY_WS +WORKDIR $OVERLAY_WS/src +RUN echo "\ +repositories: \n\ + ros2/demos: \n\ + type: git \n\ + url: https://github.com/ros2/demos.git \n\ + version: ${ROS_DISTRO} \n\ +" > ../overlay.repos +RUN vcs import ./ < ../overlay.repos + +# copy manifests for caching +WORKDIR /opt +RUN mkdir -p /tmp/opt && \ + find ./ -name "package.xml" | \ + xargs cp --parents -t /tmp/opt && \ + find ./ -name "COLCON_IGNORE" | \ + xargs cp --parents -t /tmp/opt || true + +# multi-stage for building +FROM $FROM_IMAGE AS builder + +# install overlay dependencies +ARG OVERLAY_WS +WORKDIR $OVERLAY_WS +COPY --from=cacher /tmp/$OVERLAY_WS/src ./src +RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ + apt-get update && rosdep install -y \ + --from-paths \ + src/ros2/demos/demo_nodes_cpp \ + src/ros2/demos/demo_nodes_py \ + --ignore-src \ + && rm -rf /var/lib/apt/lists/* + +# build overlay source +COPY --from=cacher $OVERLAY_WS/src ./src +ARG OVERLAY_MIXINS="release" +RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ + colcon build \ + --packages-select \ + demo_nodes_cpp \ + demo_nodes_py \ + --mixin $OVERLAY_MIXINS + +# source entrypoint setup +ENV OVERLAY_WS $OVERLAY_WS +RUN sed --in-place --expression \ + '$isource "$OVERLAY_WS/install/setup.bash"' \ + /ros_entrypoint.sh + +# run launch file +CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener.launch.py"] ``` +The example above starts by using [`vcstool`](https://github.com/dirk-thomas/vcstool) to clone source repos of interest into the cacher stage. One could similarly `COPY` code from the local build context into the source directory as well. Package manifest files are then cached in a temporary directory where the following builder stage may copy from to install necessary dependencies with [`rosdep`](https://github.com/ros-infrastructure/rosdep). This is done prior to copying the rest of the source files to preserve the multi-stage build cache, given unaltered manifests do not alter declared dependencies, saving time and bandwidth. The overlay is then built using [`colcon`](https://colcon.readthedocs.io/en/released/), the entrypoint updated to source the workspace, and the default command set to launch the demo. + +Note: `--from-paths` and `--packages-select` are set here as so to only install the dependencies and build for the demo C++ and Python packages, among many in the demo git repo that was cloned. To install the dependencies and build all the packages in the source workspace, merely change the scope by setting `--from-paths src/` and dropping the `--packages-select` arguments. + +For more advance examples such as daisy chaining multiple overlay workspaces to improve caching of docker image build layers, using tools such as ccache to accelerate compilation with colcon, or using buildkit to save build time and bandwidth even when dependencies change, the project `Dockerfile`s in the ROS 2 [Navigation2](https://github.com/ros-planning/navigation2) repo are excellent resources. + ## Deployment use cases This dockerized image of ROS is intended to provide a simplified and consistent platform to build and deploy distributed robotic applications. Built from the [official Ubuntu image](https://hub.docker.com/_/ubuntu/) and ROS's official Debian packages, it includes recent supported releases for quick access and download. This provides roboticists in research and industry with an easy way to develop, reuse and ship software for autonomous actions and task planning, control dynamics, localization and mapping, swarm behavior, as well as general system integration. @@ -101,22 +197,25 @@ Developing such complex systems with cutting edge implementations of newly publi With the advancements and standardization of software containers, roboticists are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using ROS with these new technologies. +For a complete listing of supported architectures and base images for each ROS Distribution Release, please read the official REP on target platforms for either [ROS 1](https://www.ros.org/reps/rep-0003.html) or for [ROS 2](https://www.ros.org/reps/rep-2000.html). + ## Deployment suggestions The available tags include supported distros along with a hierarchy tags based off the most common meta-package dependencies, designed to have a small footprint and simple configuration: -- `ros-core`: barebone ROS install +- `ros-core`: minimal ROS install - `ros-base`: basic tools and libraries (also tagged with distro name with LTS version as `latest`) -- `robot`: basic install for robots -- `perception`: basic install for perception tasks +- `ros1-bridge`: tools and libraries to run hybrid ROS 1 - ROS 2 systems and bridge messages between them -The rest of the common meta-packages such as `desktop` and `desktop-full` are hosted on automatic build repos under OSRF's Docker Hub profile [here](https://hub.docker.com/r/osrf/ros/). These meta-packages include graphical dependencies and hook a host of other large packages such as X11, X server, etc. So in the interest of keep the official images lean and secure, the desktop packages are just be hosted with OSRF's profile. +In the interest of keeping `ros-core` tag minimal in image size, developer tools such as `rosdep`, `colcon` and `vcstools` are not shipped in `ros_core`, but in `ros-base` instead. + +The rest of the common meta-packages such as `desktop` are hosted on repos under OSRF's Docker Hub profile [here](https://hub.docker.com/r/osrf/ros/). These meta-packages include graphical dependencies and hook a host of other large packages such as X11, X server, etc. So in the interest of keeping the official images lean and secure, the desktop packages are just being hosted with OSRF's profile. For an extensive list of available variants, please read the official REP on target platforms for either [ROS 1](https://ros.org/reps/rep-0150.html) or for [ROS 2](https://www.ros.org/reps/rep-2001.html). ### Volumes ROS uses the `~/.ros/` directory for storing logs, and debugging info. If you wish to persist these files beyond the lifecycle of the containers which produced them, the `~/.ros/` folder can be mounted to an external volume on the host, or a derived image can specify volumes to be managed by the Docker engine. By default, the container runs as the `root` user, so `/root/.ros/` would be the full path to these files. -For example, if one wishes to use their own `.ros` folder that already resides in their local home directory, with a username of `ubuntu`, we can simple launch the container with an additional volume argument: +For example, if one wishes to use their own `.ros` folder that already resides in their local home directory, with a username of `ubuntu`, we can simply launch the container with an additional volume argument: ```console $ docker run -v "/home/ubuntu/.ros/:/root/.ros/" ros @@ -128,194 +227,122 @@ Some application may require device access for acquiring images from connected c ### Networks -The ROS runtime "graph" is a peer-to-peer network of processes (potentially distributed across machines) that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of data over topics, and storage of data on a Parameter Server. To abide by the best practice of [one process per container](https://docs.docker.com/articles/dockerfile_best-practices/), Docker networks can be used to string together several running ROS processes. For further details about [ROS NetworkSetup](http://wiki.ros.org/ROS/NetworkSetup) wik article, or see the Deployment example below. - -## Deployment example - -If we want our all ROS nodes to easily talk to each other, we'll can use a virtual network to connect the separate containers. In this short example, we'll create a virtual network, spin up a new container running `roscore` advertised as the `master` service on the new network, then spawn a message publisher and subscriber process as services on the same network. - -### Build image - -> Build a ROS image that includes ROS tutorials using this `Dockerfile:` +ROS allows for peer-to-peer networking of processes (potentially distributed across machines) that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of typed data over topics, combinations of both prior via request/reply and status/feedback over actions, and run-time settings via configuration over parameters. To abide by the best practice of [one process per container](https://docs.docker.com/articles/dockerfile_best-practices/), Docker networks can be used to string together several running ROS processes. For further details see the Deployment example further below. -```dockerfile -FROM ros:indigo-ros-base -# install ros tutorials packages -RUN apt-get update && apt-get install -y \ - ros-indigo-ros-tutorials \ - ros-indigo-common-tutorials \ - && rm -rf /var/lib/apt/lists/ -``` - -> Then to build the image from within the same directory: - -```console -$ docker build --tag ros:ros-tutorials . -``` +Alternatively, more permissive network settings can be used to share all host network interfaces with the container, such as [`host` network driver](https://docs.docker.com/network/host/), simplifying connectivity with external network participants. Be aware however that this removes the networking namespace separation between containers, and can affect the ability of DDS participants to communicate between containers, as documented [here](https://community.rti.com/kb/how-use-rti-connext-dds-communicate-across-docker-containers-using-host-driver). -#### Create network +## Deployment example -> To create a new network `foo`, we use the network command: +### Docker Compose - docker network create foo +In this example we'll demonstrate using [`docker-compose`](https://docs.docker.com/compose/) to spawn a pair of message publisher and subscriber nodes in separate containers connected through shared software defined network. -> Now that we have a network, we can create services. Services advertise there location on the network, making it easy to resolve the location/address of the service specific container. We'll use this make sure our ROS nodes can find and connect to our ROS `master`. +> Create the directory `~/ros_demos` and add the first `Dockerfile` example from above. In the same directory, also create file `docker-compose.yml` with the following that runs a C++ publisher with a Python subscriber: -#### Run services +```yaml +version: '3' -> To create a container for the ROS master and advertise it's service: +services: + talker: + build: ./ + command: ros2 run demo_nodes_cpp talker -```console -$ docker run -it --rm \ - --net foo \ - --name master \ - ros:ros-tutorials \ - roscore + listener: + build: ./ + environment: + - "PYTHONUNBUFFERED=1" + command: ros2 run demo_nodes_py listener ``` -> Now you can see that master is running and is ready manage our other ROS nodes. To add our `talker` node, we'll need to point the relevant environment variable to the master service: +> Use docker-compose inside the same directory to launch our ROS nodes. Given the containers created derive from the same docker compose project, they will coexist on shared project network: ```console -$ docker run -it --rm \ - --net foo \ - --name talker \ - --env ROS_HOSTNAME=talker \ - --env ROS_MASTER_URI=http://master:11311 \ - ros:ros-tutorials \ - rosrun roscpp_tutorials talker +$ docker-compose up -d ``` -> Then in another terminal, run the `listener` node similarly: +> Notice that a new network named `ros_demos` has been created, as can be shown further with: ```console -$ docker run -it --rm \ - --net foo \ - --name listener \ - --env ROS_HOSTNAME=listener \ - --env ROS_MASTER_URI=http://master:11311 \ - ros:ros-tutorials \ - rosrun roscpp_tutorials listener +$ docker network inspect ros_demos ``` -> Alright! You should see `listener` is now echoing each message the `talker` broadcasting. You can then list the containers and see something like this: +> We can monitor the logged output of each container, such as the listener node like so: ```console -$ docker service ls -SERVICE ID NAME NETWORK CONTAINER -67ce73355e67 listener foo a62019123321 -917ee622d295 master foo f6ab9155fdbe -7f5a4748fb8d talker foo e0da2ee7570a +$ docker-compose logs listener ``` -> And for the services: +> Finally, we can stop and remove all the relevant containers using docker-compose from the same directory: ```console -$ docker ps -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -a62019123321 ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp listener -e0da2ee7570a ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp talker -f6ab9155fdbe ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp master +$ docker-compose stop +$ docker-compose rm ``` -#### Introspection - -> Ok, now that we see the two nodes are communicating, let get inside one of the containers and do some introspection what exactly the topics are: +> Note: the auto-generated network, `ros_demos`, will persist until you explicitly remove it using `docker-compose down`. -```console -$ docker exec -it master bash -$ source /ros_entrypoint.sh -``` - -> If we then use `rostopic` to list published message topics, we should see something like this: +### ROS 1 Bridge -```console -$ rostopic list -/chatter -/rosout -/rosout_agg -``` +To ease ROS 2 migration, [`ros1_bridge`](https://index.ros.org/p/ros1_bridge/github-ros2-ros1_bridge) is a ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2. As a minimal example, given the ROS 2 Dockerfile above, we'll create the ROS 1 equivalent below, and name the Dockerfile appropriately. -#### Tear down +```dockerfile +FROM ros:noetic -> To tear down the structure we've made, we just need to stop the containers and the services. We can stop and remove the containers using `Ctrl^C` where we launched the containers or using the stop command with the names we gave them: +# install ros package +RUN apt-get update && apt-get install -y \ + ros-${ROS_DISTRO}-ros-tutorials \ + ros-${ROS_DISTRO}-common-tutorials && \ + rm -rf /var/lib/apt/lists/* -```console -$ docker stop master talker listener -$ docker rm master talker listener +# launch ros package +CMD ["roslaunch", "roscpp_tutorials", "talker_listener.launch"] ``` -### Compose - -Now that you have an appreciation for bootstrapping a distributed ROS example manually, lets try and automate it using [`docker-compose`](https://docs.docker.com/compose/). - -> Start by making a folder named `rostutorials` and moving the Dockerfile we used earlier inside this directory. Then create a yaml file named `docker-compose.yml` in the same directory and paste the following inside: +The compose file bellow spawns services for both talker listener demos while connecting the two via a dynamic bridge. You may then view the log output from both pairs of talker and listener nodes cross talking over the `/chatter` topic. ```yaml -version: '2' +version: '3' + services: - master: - build: . - container_name: master - command: - - roscore - - talker: - build: . - container_name: talker + ros1: + build: + context: ./ + dockerfile: ros1.Dockerfile + + ros2: + build: + context: ./ + dockerfile: ros2.Dockerfile + + bridge: + image: ros:foxy-ros1-bridge environment: - - "ROS_HOSTNAME=talker" - - "ROS_MASTER_URI=http://master:11311" - command: rosrun roscpp_tutorials talker - - listener: - build: . - container_name: listener - environment: - - "ROS_HOSTNAME=listener" - - "ROS_MASTER_URI=http://master:11311" - command: rosrun roscpp_tutorials listener -``` - -> Now from inside the same folder, use docker-copose to launch our ROS nodes and specify that they coexist on their own network: - -```console -$ docker-compose up -d + - "ROS_HOSTNAME=bridge" + - "ROS_MASTER_URI=http://ros1:11311" + command: ros2 run ros1_bridge dynamic_bridge ``` -> Notice that a new network named `rostutorials_default` has now been created, you can inspect it further with: - -```console -$ docker network inspect rostutorials_default -``` - -> We can monitor the logged output of each service, such as the listener node like so: - -```console -$ docker-compose logs listener -``` +# More Resources -> Finally, we can stop and remove all the relevant containers using docker-copose from the same directory: +[ROS.org](http://www.ros.org/): Main ROS website +[Q&A](https://answers.ros.org/questions/): Ask questions. Get answers +[Forums](https://discourse.ros.org/): Hear the latest discussions +[Blog](http://www.ros.org/news/): Stay up-to-date +[Packages](https://index.ros.org/packages/): Discover indexed packages +[OSRF](https://www.osrfoundation.org/): Open Source Robotics Foundation -```console -$ docker-compose stop -$ docker-compose rm -``` +## ROS 2 -> Note: the auto-generated network, `rostutorials_default`, will persist over the life of the docker engine or until you explicitly remove it using [`docker network rm`](https://docs.docker.com/engine/reference/commandline/network_rm/). +[Index](https://index.ros.org/doc/ros2/): ROS 2 Documentation +[Design](https://design.ros2.org/): ROS 2 Design Articles -# More Resources +## ROS 1 -[ROS.org](http://www.ros.org/): Main ROS website -[Wiki](http://wiki.ros.org/): Find tutorials and learn more -[ROS Answers](http://answers.ros.org/questions/): Ask questions. Get answers -[Blog](http://www.ros.org/news/): Stay up-to-date -[OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation +[Wiki](http://wiki.ros.org/Documentation): ROS 1 Documentation # License -The core of ROS is licensed under the standard three-clause BSD license. This is a very permissive open license that allows for reuse in commercial and closed source products. You can find more about the BSD license from the Opensource.org [BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) page and Wikipedia's [BSD Licenses](http://en.wikipedia.org/wiki/BSD_licenses) entry. - -While the core parts of ROS are licensed under the BSD license, other licenses are commonly used in the community packages, such as the [Apache 2.0](http://opensource.org/licenses/Apache-2.0) license, the [GPL](http://opensource.org/licenses/gpl-license) license, the [MIT](http://opensource.org/licenses/MIT) license, and even proprietary licenses. Each package in the ROS ecosystem is required to specify a license, so that it is easy for you to quickly identify if a package will meet your licensing needs. +View [package index](https://index.ros.org/packages/) for license information on software contained in this image. As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/ros/content.md b/ros/content.md index 919879c207c2..a2e0ecbdba9b 100644 --- a/ros/content.md +++ b/ros/content.md @@ -1,28 +1,116 @@ -# What is [ROS](http://www.ros.org/)? +# What is [ROS](https://www.ros.org/)? The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. > [wikipedia.org/wiki/Robot_Operating_System](https://en.wikipedia.org/wiki/Robot_Operating_System) -[%%LOGO%%](http://www.ros.org/) +[%%LOGO%%](https://www.ros.org/) # How to use this image -## Create a `Dockerfile` in your ROS app project +## Creating a `Dockerfile` to install ROS packages + +To create your own ROS docker images and install custom packages, here's a simple example of installing the C++, Python client library demos using the official released Debian packages via apt-get. ```dockerfile -FROM %%IMAGE%%:indigo -# place here your application's setup specifics -CMD [ "roslaunch", "my-ros-app my-ros-app.launch" ] +FROM %%IMAGE%%:foxy + +# install ros package +RUN apt-get update && apt-get install -y \ + ros-${ROS_DISTRO}-demo-nodes-cpp \ + ros-${ROS_DISTRO}-demo-nodes-py && \ + rm -rf /var/lib/apt/lists/* + +# launch ros package +CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener.launch.py"] ``` -You can then build and run the Docker image: +Note: all ROS images include a default entrypoint that sources the ROS environment setup before executing the configured command, in this case the demo packages launch file. You can then build and run the Docker image like so: ```console -$ docker build -t my-ros-app . -$ docker run -it --rm --name my-running-app my-ros-app +$ docker build -t my/ros:app . +$ docker run -it --rm my/ros:app +[INFO] [launch]: process[talker-1]: started with pid [813] +[INFO] [launch]: process[listener-2]: started with pid [814] +[INFO] [talker]: Publishing: 'Hello World: 1' +[INFO] [listener]: I heard: [Hello World: 1] +[INFO] [talker]: Publishing: 'Hello World: 2' +[INFO] [listener]: I heard: [Hello World: 2] +... +``` + +## Creating a `Dockerfile` to build ROS packages + +To create your own ROS docker images and build custom packages, here's a simple example of installing a package's build dependencies, compiling it from source, and installing the resulting build artifacts into a final multi-stage image layer. + +```dockerfile +ARG FROM_IMAGE=%%IMAGE%%:foxy +ARG OVERLAY_WS=/opt/ros/overlay_ws + +# multi-stage for caching +FROM $FROM_IMAGE AS cacher + +# clone overlay source +ARG OVERLAY_WS +WORKDIR $OVERLAY_WS/src +RUN echo "\ +repositories: \n\ + ros2/demos: \n\ + type: git \n\ + url: https://github.com/ros2/demos.git \n\ + version: ${ROS_DISTRO} \n\ +" > ../overlay.repos +RUN vcs import ./ < ../overlay.repos + +# copy manifests for caching +WORKDIR /opt +RUN mkdir -p /tmp/opt && \ + find ./ -name "package.xml" | \ + xargs cp --parents -t /tmp/opt && \ + find ./ -name "COLCON_IGNORE" | \ + xargs cp --parents -t /tmp/opt || true + +# multi-stage for building +FROM $FROM_IMAGE AS builder + +# install overlay dependencies +ARG OVERLAY_WS +WORKDIR $OVERLAY_WS +COPY --from=cacher /tmp/$OVERLAY_WS/src ./src +RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ + apt-get update && rosdep install -y \ + --from-paths \ + src/ros2/demos/demo_nodes_cpp \ + src/ros2/demos/demo_nodes_py \ + --ignore-src \ + && rm -rf /var/lib/apt/lists/* + +# build overlay source +COPY --from=cacher $OVERLAY_WS/src ./src +ARG OVERLAY_MIXINS="release" +RUN . /opt/ros/$ROS_DISTRO/setup.sh && \ + colcon build \ + --packages-select \ + demo_nodes_cpp \ + demo_nodes_py \ + --mixin $OVERLAY_MIXINS + +# source entrypoint setup +ENV OVERLAY_WS $OVERLAY_WS +RUN sed --in-place --expression \ + '$isource "$OVERLAY_WS/install/setup.bash"' \ + /ros_entrypoint.sh + +# run launch file +CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener.launch.py"] ``` +The example above starts by using [`vcstool`](https://github.com/dirk-thomas/vcstool) to clone source repos of interest into the cacher stage. One could similarly `COPY` code from the local build context into the source directory as well. Package manifest files are then cached in a temporary directory where the following builder stage may copy from to install necessary dependencies with [`rosdep`](https://github.com/ros-infrastructure/rosdep). This is done prior to copying the rest of the source files to preserve the multi-stage build cache, given unaltered manifests do not alter declared dependencies, saving time and bandwidth. The overlay is then built using [`colcon`](https://colcon.readthedocs.io/en/released/), the entrypoint updated to source the workspace, and the default command set to launch the demo. + +Note: `--from-paths` and `--packages-select` are set here as so to only install the dependencies and build for the demo C++ and Python packages, among many in the demo git repo that was cloned. To install the dependencies and build all the packages in the source workspace, merely change the scope by setting `--from-paths src/` and dropping the `--packages-select` arguments. + +For more advance examples such as daisy chaining multiple overlay workspaces to improve caching of docker image build layers, using tools such as ccache to accelerate compilation with colcon, or using buildkit to save build time and bandwidth even when dependencies change, the project `Dockerfile`s in the ROS 2 [Navigation2](https://github.com/ros-planning/navigation2) repo are excellent resources. + ## Deployment use cases This dockerized image of ROS is intended to provide a simplified and consistent platform to build and deploy distributed robotic applications. Built from the [official Ubuntu image](https://hub.docker.com/_/ubuntu/) and ROS's official Debian packages, it includes recent supported releases for quick access and download. This provides roboticists in research and industry with an easy way to develop, reuse and ship software for autonomous actions and task planning, control dynamics, localization and mapping, swarm behavior, as well as general system integration. @@ -31,22 +119,25 @@ Developing such complex systems with cutting edge implementations of newly publi With the advancements and standardization of software containers, roboticists are primed to acquire a host of improved developer tooling for building and shipping software. To help alleviate the growing pains and technical challenges of adopting new practices, we have focused on providing an official resource for using ROS with these new technologies. +For a complete listing of supported architectures and base images for each ROS Distribution Release, please read the official REP on target platforms for either [ROS 1](https://www.ros.org/reps/rep-0003.html) or for [ROS 2](https://www.ros.org/reps/rep-2000.html). + ## Deployment suggestions The available tags include supported distros along with a hierarchy tags based off the most common meta-package dependencies, designed to have a small footprint and simple configuration: -- `ros-core`: barebone ROS install +- `ros-core`: minimal ROS install - `ros-base`: basic tools and libraries (also tagged with distro name with LTS version as `latest`) -- `robot`: basic install for robots -- `perception`: basic install for perception tasks +- `ros1-bridge`: tools and libraries to run hybrid ROS 1 - ROS 2 systems and bridge messages between them -The rest of the common meta-packages such as `desktop` and `desktop-full` are hosted on automatic build repos under OSRF's Docker Hub profile [here](https://hub.docker.com/r/osrf/ros/). These meta-packages include graphical dependencies and hook a host of other large packages such as X11, X server, etc. So in the interest of keep the official images lean and secure, the desktop packages are just be hosted with OSRF's profile. +In the interest of keeping `ros-core` tag minimal in image size, developer tools such as `rosdep`, `colcon` and `vcstools` are not shipped in `ros_core`, but in `ros-base` instead. + +The rest of the common meta-packages such as `desktop` are hosted on repos under OSRF's Docker Hub profile [here](https://hub.docker.com/r/osrf/ros/). These meta-packages include graphical dependencies and hook a host of other large packages such as X11, X server, etc. So in the interest of keeping the official images lean and secure, the desktop packages are just being hosted with OSRF's profile. For an extensive list of available variants, please read the official REP on target platforms for either [ROS 1](https://ros.org/reps/rep-0150.html) or for [ROS 2](https://www.ros.org/reps/rep-2001.html). ### Volumes ROS uses the `~/.ros/` directory for storing logs, and debugging info. If you wish to persist these files beyond the lifecycle of the containers which produced them, the `~/.ros/` folder can be mounted to an external volume on the host, or a derived image can specify volumes to be managed by the Docker engine. By default, the container runs as the `root` user, so `/root/.ros/` would be the full path to these files. -For example, if one wishes to use their own `.ros` folder that already resides in their local home directory, with a username of `ubuntu`, we can simple launch the container with an additional volume argument: +For example, if one wishes to use their own `.ros` folder that already resides in their local home directory, with a username of `ubuntu`, we can simply launch the container with an additional volume argument: ```console $ docker run -v "/home/ubuntu/.ros/:/root/.ros/" %%IMAGE%% @@ -58,185 +149,115 @@ Some application may require device access for acquiring images from connected c ### Networks -The ROS runtime "graph" is a peer-to-peer network of processes (potentially distributed across machines) that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of data over topics, and storage of data on a Parameter Server. To abide by the best practice of [one process per container](https://docs.docker.com/articles/dockerfile_best-practices/), Docker networks can be used to string together several running ROS processes. For further details about [ROS NetworkSetup](http://wiki.ros.org/ROS/NetworkSetup) wik article, or see the Deployment example below. +ROS allows for peer-to-peer networking of processes (potentially distributed across machines) that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of typed data over topics, combinations of both prior via request/reply and status/feedback over actions, and run-time settings via configuration over parameters. To abide by the best practice of [one process per container](https://docs.docker.com/articles/dockerfile_best-practices/), Docker networks can be used to string together several running ROS processes. For further details see the Deployment example further below. + +Alternatively, more permissive network settings can be used to share all host network interfaces with the container, such as [`host` network driver](https://docs.docker.com/network/host/), simplifying connectivity with external network participants. Be aware however that this removes the networking namespace separation between containers, and can affect the ability of DDS participants to communicate between containers, as documented [here](https://community.rti.com/kb/how-use-rti-connext-dds-communicate-across-docker-containers-using-host-driver). ## Deployment example -If we want our all ROS nodes to easily talk to each other, we'll can use a virtual network to connect the separate containers. In this short example, we'll create a virtual network, spin up a new container running `roscore` advertised as the `master` service on the new network, then spawn a message publisher and subscriber process as services on the same network. +### Docker Compose -### Build image +In this example we'll demonstrate using [`docker-compose`](https://docs.docker.com/compose/) to spawn a pair of message publisher and subscriber nodes in separate containers connected through shared software defined network. -> Build a ROS image that includes ROS tutorials using this `Dockerfile:` +> Create the directory `~/ros_demos` and add the first `Dockerfile` example from above. In the same directory, also create file `docker-compose.yml` with the following that runs a C++ publisher with a Python subscriber: -```dockerfile -FROM %%IMAGE%%:indigo-ros-base -# install ros tutorials packages -RUN apt-get update && apt-get install -y \ - ros-indigo-ros-tutorials \ - ros-indigo-common-tutorials \ - && rm -rf /var/lib/apt/lists/ -``` +```yaml +version: '3' -> Then to build the image from within the same directory: +services: + talker: + build: ./ + command: ros2 run demo_nodes_cpp talker -```console -$ docker build --tag %%IMAGE%%:ros-tutorials . + listener: + build: ./ + environment: + - "PYTHONUNBUFFERED=1" + command: ros2 run demo_nodes_py listener ``` -#### Create network - -> To create a new network `foo`, we use the network command: - - docker network create foo - -> Now that we have a network, we can create services. Services advertise there location on the network, making it easy to resolve the location/address of the service specific container. We'll use this make sure our ROS nodes can find and connect to our ROS `master`. - -#### Run services - -> To create a container for the ROS master and advertise it's service: +> Use docker-compose inside the same directory to launch our ROS nodes. Given the containers created derive from the same docker compose project, they will coexist on shared project network: ```console -$ docker run -it --rm \ - --net foo \ - --name master \ - %%IMAGE%%:ros-tutorials \ - roscore +$ docker-compose up -d ``` -> Now you can see that master is running and is ready manage our other ROS nodes. To add our `talker` node, we'll need to point the relevant environment variable to the master service: +> Notice that a new network named `ros_demos` has been created, as can be shown further with: ```console -$ docker run -it --rm \ - --net foo \ - --name talker \ - --env ROS_HOSTNAME=talker \ - --env ROS_MASTER_URI=http://master:11311 \ - %%IMAGE%%:ros-tutorials \ - rosrun roscpp_tutorials talker +$ docker network inspect ros_demos ``` -> Then in another terminal, run the `listener` node similarly: +> We can monitor the logged output of each container, such as the listener node like so: ```console -$ docker run -it --rm \ - --net foo \ - --name listener \ - --env ROS_HOSTNAME=listener \ - --env ROS_MASTER_URI=http://master:11311 \ - %%IMAGE%%:ros-tutorials \ - rosrun roscpp_tutorials listener +$ docker-compose logs listener ``` -> Alright! You should see `listener` is now echoing each message the `talker` broadcasting. You can then list the containers and see something like this: +> Finally, we can stop and remove all the relevant containers using docker-compose from the same directory: ```console -$ docker service ls -SERVICE ID NAME NETWORK CONTAINER -67ce73355e67 listener foo a62019123321 -917ee622d295 master foo f6ab9155fdbe -7f5a4748fb8d talker foo e0da2ee7570a +$ docker-compose stop +$ docker-compose rm ``` -> And for the services: +> Note: the auto-generated network, `ros_demos`, will persist until you explicitly remove it using `docker-compose down`. -```console -$ docker ps -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -a62019123321 ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp listener -e0da2ee7570a ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp talker -f6ab9155fdbe ros:ros-tutorials "/ros_entrypoint.sh About a minute ago Up About a minute 11311/tcp master -``` - -#### Introspection +### ROS 1 Bridge -> Ok, now that we see the two nodes are communicating, let get inside one of the containers and do some introspection what exactly the topics are: +To ease ROS 2 migration, [`ros1_bridge`](https://index.ros.org/p/ros1_bridge/github-ros2-ros1_bridge) is a ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2. As a minimal example, given the ROS 2 Dockerfile above, we'll create the ROS 1 equivalent below, and name the Dockerfile appropriately. -```console -$ docker exec -it master bash -$ source /ros_entrypoint.sh -``` - -> If we then use `rostopic` to list published message topics, we should see something like this: - -```console -$ rostopic list -/chatter -/rosout -/rosout_agg -``` - -#### Tear down +```dockerfile +FROM %%IMAGE%%:noetic -> To tear down the structure we've made, we just need to stop the containers and the services. We can stop and remove the containers using `Ctrl^C` where we launched the containers or using the stop command with the names we gave them: +# install ros package +RUN apt-get update && apt-get install -y \ + ros-${ROS_DISTRO}-ros-tutorials \ + ros-${ROS_DISTRO}-common-tutorials && \ + rm -rf /var/lib/apt/lists/* -```console -$ docker stop master talker listener -$ docker rm master talker listener +# launch ros package +CMD ["roslaunch", "roscpp_tutorials", "talker_listener.launch"] ``` -### Compose - -Now that you have an appreciation for bootstrapping a distributed ROS example manually, lets try and automate it using [`docker-compose`](https://docs.docker.com/compose/). - -> Start by making a folder named `rostutorials` and moving the Dockerfile we used earlier inside this directory. Then create a yaml file named `docker-compose.yml` in the same directory and paste the following inside: +The compose file bellow spawns services for both talker listener demos while connecting the two via a dynamic bridge. You may then view the log output from both pairs of talker and listener nodes cross talking over the `/chatter` topic. ```yaml -version: '2' +version: '3' + services: - master: - build: . - container_name: master - command: - - roscore - - talker: - build: . - container_name: talker + ros1: + build: + context: ./ + dockerfile: ros1.Dockerfile + + ros2: + build: + context: ./ + dockerfile: ros2.Dockerfile + + bridge: + image: ros:foxy-ros1-bridge environment: - - "ROS_HOSTNAME=talker" - - "ROS_MASTER_URI=http://master:11311" - command: rosrun roscpp_tutorials talker - - listener: - build: . - container_name: listener - environment: - - "ROS_HOSTNAME=listener" - - "ROS_MASTER_URI=http://master:11311" - command: rosrun roscpp_tutorials listener -``` - -> Now from inside the same folder, use docker-copose to launch our ROS nodes and specify that they coexist on their own network: - -```console -$ docker-compose up -d + - "ROS_HOSTNAME=bridge" + - "ROS_MASTER_URI=http://ros1:11311" + command: ros2 run ros1_bridge dynamic_bridge ``` -> Notice that a new network named `rostutorials_default` has now been created, you can inspect it further with: - -```console -$ docker network inspect rostutorials_default -``` - -> We can monitor the logged output of each service, such as the listener node like so: - -```console -$ docker-compose logs listener -``` +# More Resources -> Finally, we can stop and remove all the relevant containers using docker-copose from the same directory: +[ROS.org](http://www.ros.org/): Main ROS website +[Q&A](https://answers.ros.org/questions/): Ask questions. Get answers +[Forums](https://discourse.ros.org/): Hear the latest discussions +[Blog](http://www.ros.org/news/): Stay up-to-date +[Packages](https://index.ros.org/packages/): Discover indexed packages +[OSRF](https://www.osrfoundation.org/): Open Source Robotics Foundation -```console -$ docker-compose stop -$ docker-compose rm -``` +## ROS 2 -> Note: the auto-generated network, `rostutorials_default`, will persist over the life of the docker engine or until you explicitly remove it using [`docker network rm`](https://docs.docker.com/engine/reference/commandline/network_rm/). +[Index](https://index.ros.org/doc/ros2/): ROS 2 Documentation +[Design](https://design.ros2.org/): ROS 2 Design Articles -# More Resources +## ROS 1 -[ROS.org](http://www.ros.org/): Main ROS website -[Wiki](http://wiki.ros.org/): Find tutorials and learn more -[ROS Answers](http://answers.ros.org/questions/): Ask questions. Get answers -[Blog](http://www.ros.org/news/): Stay up-to-date -[OSRF](http://www.osrfoundation.org/): Open Source Robotics Foundation +[Wiki](http://wiki.ros.org/Documentation): ROS 1 Documentation diff --git a/ros/license.md b/ros/license.md index aa8b87126e6d..d15542ebd2c4 100644 --- a/ros/license.md +++ b/ros/license.md @@ -1,3 +1 @@ -The core of ROS is licensed under the standard three-clause BSD license. This is a very permissive open license that allows for reuse in commercial and closed source products. You can find more about the BSD license from the Opensource.org [BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) page and Wikipedia's [BSD Licenses](http://en.wikipedia.org/wiki/BSD_licenses) entry. - -While the core parts of ROS are licensed under the BSD license, other licenses are commonly used in the community packages, such as the [Apache 2.0](http://opensource.org/licenses/Apache-2.0) license, the [GPL](http://opensource.org/licenses/gpl-license) license, the [MIT](http://opensource.org/licenses/MIT) license, and even proprietary licenses. Each package in the ROS ecosystem is required to specify a license, so that it is easy for you to quickly identify if a package will meet your licensing needs. +View [package index](https://index.ros.org/packages/) for license information on software contained in this image. diff --git a/ruby/README.md b/ruby/README.md index 801e46c8b204..701a30b07f4b 100644 --- a/ruby/README.md +++ b/ruby/README.md @@ -20,26 +20,30 @@ WARNING: [the Docker Community](https://github.com/docker-library/ruby) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`2.7.1-buster`, `2.7-buster`, `2-buster`, `buster`, `2.7.1`, `2.7`, `2`, `latest`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.7/buster/Dockerfile) -- [`2.7.1-slim-buster`, `2.7-slim-buster`, `2-slim-buster`, `slim-buster`, `2.7.1-slim`, `2.7-slim`, `2-slim`, `slim`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.7/buster/slim/Dockerfile) -- [`2.7.1-alpine3.11`, `2.7-alpine3.11`, `2-alpine3.11`, `alpine3.11`, `2.7.1-alpine`, `2.7-alpine`, `2-alpine`, `alpine`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.7/alpine3.11/Dockerfile) -- [`2.7.1-alpine3.10`, `2.7-alpine3.10`, `2-alpine3.10`, `alpine3.10`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.7/alpine3.10/Dockerfile) -- [`2.6.6-buster`, `2.6-buster`, `2.6.6`, `2.6`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/buster/Dockerfile) -- [`2.6.6-slim-buster`, `2.6-slim-buster`, `2.6.6-slim`, `2.6-slim`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/buster/slim/Dockerfile) -- [`2.6.6-stretch`, `2.6-stretch`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/stretch/Dockerfile) -- [`2.6.6-slim-stretch`, `2.6-slim-stretch`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/stretch/slim/Dockerfile) -- [`2.6.6-alpine3.11`, `2.6-alpine3.11`, `2.6.6-alpine`, `2.6-alpine`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/alpine3.11/Dockerfile) -- [`2.6.6-alpine3.10`, `2.6-alpine3.10`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.6/alpine3.10/Dockerfile) -- [`2.5.8-buster`, `2.5-buster`, `2.5.8`, `2.5`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/buster/Dockerfile) -- [`2.5.8-slim-buster`, `2.5-slim-buster`, `2.5.8-slim`, `2.5-slim`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/buster/slim/Dockerfile) -- [`2.5.8-stretch`, `2.5-stretch`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/stretch/Dockerfile) -- [`2.5.8-slim-stretch`, `2.5-slim-stretch`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/stretch/slim/Dockerfile) -- [`2.5.8-alpine3.11`, `2.5-alpine3.11`, `2.5.8-alpine`, `2.5-alpine`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/alpine3.11/Dockerfile) -- [`2.5.8-alpine3.10`, `2.5-alpine3.10`](https://github.com/docker-library/ruby/blob/a564feaaee4c8647c299ab11d41498468bb9af7b/2.5/alpine3.10/Dockerfile) +- [`3.0.1-buster`, `3.0-buster`, `3-buster`, `buster`, `3.0.1`, `3.0`, `3`, `latest`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/3.0/buster/Dockerfile) +- [`3.0.1-slim-buster`, `3.0-slim-buster`, `3-slim-buster`, `slim-buster`, `3.0.1-slim`, `3.0-slim`, `3-slim`, `slim`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/3.0/buster/slim/Dockerfile) +- [`3.0.1-alpine3.13`, `3.0-alpine3.13`, `3-alpine3.13`, `alpine3.13`, `3.0.1-alpine`, `3.0-alpine`, `3-alpine`, `alpine`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/3.0/alpine3.13/Dockerfile) +- [`3.0.1-alpine3.12`, `3.0-alpine3.12`, `3-alpine3.12`, `alpine3.12`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/3.0/alpine3.12/Dockerfile) +- [`2.7.3-buster`, `2.7-buster`, `2-buster`, `2.7.3`, `2.7`, `2`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.7/buster/Dockerfile) +- [`2.7.3-slim-buster`, `2.7-slim-buster`, `2-slim-buster`, `2.7.3-slim`, `2.7-slim`, `2-slim`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.7/buster/slim/Dockerfile) +- [`2.7.3-alpine3.13`, `2.7-alpine3.13`, `2-alpine3.13`, `2.7.3-alpine`, `2.7-alpine`, `2-alpine`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.7/alpine3.13/Dockerfile) +- [`2.7.3-alpine3.12`, `2.7-alpine3.12`, `2-alpine3.12`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.7/alpine3.12/Dockerfile) +- [`2.6.7-buster`, `2.6-buster`, `2.6.7`, `2.6`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/buster/Dockerfile) +- [`2.6.7-slim-buster`, `2.6-slim-buster`, `2.6.7-slim`, `2.6-slim`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/buster/slim/Dockerfile) +- [`2.6.7-stretch`, `2.6-stretch`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/stretch/Dockerfile) +- [`2.6.7-slim-stretch`, `2.6-slim-stretch`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/stretch/slim/Dockerfile) +- [`2.6.7-alpine3.13`, `2.6-alpine3.13`, `2.6.7-alpine`, `2.6-alpine`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/alpine3.13/Dockerfile) +- [`2.6.7-alpine3.12`, `2.6-alpine3.12`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.6/alpine3.12/Dockerfile) +- [`2.5.9-buster`, `2.5-buster`, `2.5.9`, `2.5`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/buster/Dockerfile) +- [`2.5.9-slim-buster`, `2.5-slim-buster`, `2.5.9-slim`, `2.5-slim`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/buster/slim/Dockerfile) +- [`2.5.9-stretch`, `2.5-stretch`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/stretch/Dockerfile) +- [`2.5.9-slim-stretch`, `2.5-slim-stretch`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/stretch/slim/Dockerfile) +- [`2.5.9-alpine3.13`, `2.5-alpine3.13`, `2.5.9-alpine`, `2.5-alpine`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/alpine3.13/Dockerfile) +- [`2.5.9-alpine3.12`, `2.5-alpine3.12`](https://github.com/docker-library/ruby/blob/3904524e5d9e538b33525a602a4bcb7618aff8b6/2.5/alpine3.12/Dockerfile) # Quick reference (cont.) @@ -54,7 +58,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/ruby`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fruby) + [official-images repo's `library/ruby` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fruby) [official-images repo's `library/ruby` file](https://github.com/docker-library/official-images/blob/master/library/ruby) ([history](https://github.com/docker-library/official-images/commits/master/library/ruby)) - **Source of this description**: @@ -143,9 +147,9 @@ This image does not contain the common packages contained in the default tag and ## `ruby:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/rust/README.md b/rust/README.md index bc09cecfd998..9f5a85586a8a 100644 --- a/rust/README.md +++ b/rust/README.md @@ -20,16 +20,16 @@ WARNING: [the Rust Project developers](https://github.com/rust-lang/docker-rust) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1-stretch`, `1.43-stretch`, `1.43.1-stretch`, `stretch`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/stretch/Dockerfile) -- [`1-slim-stretch`, `1.43-slim-stretch`, `1.43.1-slim-stretch`, `slim-stretch`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/stretch/slim/Dockerfile) -- [`1-buster`, `1.43-buster`, `1.43.1-buster`, `buster`, `1`, `1.43`, `1.43.1`, `latest`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/buster/Dockerfile) -- [`1-slim-buster`, `1.43-slim-buster`, `1.43.1-slim-buster`, `slim-buster`, `1-slim`, `1.43-slim`, `1.43.1-slim`, `slim`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/buster/slim/Dockerfile) -- [`1-alpine3.10`, `1.43-alpine3.10`, `1.43.1-alpine3.10`, `alpine3.10`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/alpine3.10/Dockerfile) -- [`1-alpine3.11`, `1.43-alpine3.11`, `1.43.1-alpine3.11`, `alpine3.11`, `1-alpine`, `1.43-alpine`, `1.43.1-alpine`, `alpine`](https://github.com/rust-lang-nursery/docker-rust/blob/009cc0a821ff773d54875350312731ed490d5cce/1.43.1/alpine3.11/Dockerfile) +- [`1-buster`, `1.51-buster`, `1.51.0-buster`, `buster`, `1`, `1.51`, `1.51.0`, `latest`](https://github.com/rust-lang-nursery/docker-rust/blob/267790f45f67986c1f5cec39206ba10a20df9624/1.51.0/buster/Dockerfile) +- [`1-slim-buster`, `1.51-slim-buster`, `1.51.0-slim-buster`, `slim-buster`, `1-slim`, `1.51-slim`, `1.51.0-slim`, `slim`](https://github.com/rust-lang-nursery/docker-rust/blob/267790f45f67986c1f5cec39206ba10a20df9624/1.51.0/buster/slim/Dockerfile) +- [`1-bullseye`, `1.51-bullseye`, `1.51.0-bullseye`, `bullseye`](https://github.com/rust-lang-nursery/docker-rust/blob/e12dcd68da678ded3919606bcebab011b748371c/1.51.0/bullseye/Dockerfile) +- [`1-slim-bullseye`, `1.51-slim-bullseye`, `1.51.0-slim-bullseye`, `slim-bullseye`](https://github.com/rust-lang-nursery/docker-rust/blob/e12dcd68da678ded3919606bcebab011b748371c/1.51.0/bullseye/slim/Dockerfile) +- [`1-alpine3.12`, `1.51-alpine3.12`, `1.51.0-alpine3.12`, `alpine3.12`](https://github.com/rust-lang-nursery/docker-rust/blob/267790f45f67986c1f5cec39206ba10a20df9624/1.51.0/alpine3.12/Dockerfile) +- [`1-alpine3.13`, `1.51-alpine3.13`, `1.51.0-alpine3.13`, `alpine3.13`, `1-alpine`, `1.51-alpine`, `1.51.0-alpine`, `alpine`](https://github.com/rust-lang-nursery/docker-rust/blob/267790f45f67986c1f5cec39206ba10a20df9624/1.51.0/alpine3.13/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/rust`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Frust) + [official-images repo's `library/rust` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Frust) [official-images repo's `library/rust` file](https://github.com/docker-library/official-images/blob/master/library/rust) ([history](https://github.com/docker-library/official-images/commits/master/library/rust)) - **Source of this description**: @@ -91,7 +91,7 @@ COPY . . RUN cargo install --path . FROM debian:buster-slim -RUN apt-get update && apt-get install -y extra-runtime-dependencies +RUN apt-get update && apt-get install -y extra-runtime-dependencies && rm -rf /var/lib/apt/lists/* COPY --from=builder /usr/local/cargo/bin/myapp /usr/local/bin/myapp CMD ["myapp"] ``` @@ -120,7 +120,7 @@ The `rust` images come in many flavors, each designed for a specific use case. This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like buster or stretch in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. +Some of these tags may have names like bullseye or buster in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system. @@ -130,9 +130,9 @@ This image does not contain the common packages contained in the default tag and ## `rust:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/rust/content.md b/rust/content.md index 56bbd2fa3de4..ce3595d6b517 100644 --- a/rust/content.md +++ b/rust/content.md @@ -39,7 +39,7 @@ COPY . . RUN cargo install --path . FROM debian:buster-slim -RUN apt-get update && apt-get install -y extra-runtime-dependencies +RUN apt-get update && apt-get install -y extra-runtime-dependencies && rm -rf /var/lib/apt/lists/* COPY --from=builder /usr/local/cargo/bin/myapp /usr/local/bin/myapp CMD ["myapp"] ``` diff --git a/sapmachine/README.md b/sapmachine/README.md index fdde14d8277a..eb38a1926e3c 100644 --- a/sapmachine/README.md +++ b/sapmachine/README.md @@ -24,8 +24,8 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`11`, `11.0.7`, `lts`](https://github.com/SAP/SapMachine-infrastructure/blob/3d2d199e3c53a0de726491827ef0587c3c9b4f20/dockerfiles/official/lts/Dockerfile) -- [`14`, `14.0.1`, `latest`](https://github.com/SAP/SapMachine-infrastructure/blob/dddf6cf714e932b34e25d69f8cdb9c2381851199/dockerfiles/official/stable/Dockerfile) +- [`16`, `16.0.1`, `latest`](https://github.com/SAP/SapMachine-infrastructure/blob/0449b4147caed3eb6fcf46ef3301d12af13e819a/dockerfiles/official/stable/Dockerfile) +- [`11`, `11.0.11`, `lts`](https://github.com/SAP/SapMachine-infrastructure/blob/ee2eebb7494ba8ba3a18e43be50aac47913c310a/dockerfiles/official/lts/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/sapmachine`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsapmachine) + [official-images repo's `library/sapmachine` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsapmachine) [official-images repo's `library/sapmachine` file](https://github.com/docker-library/official-images/blob/master/library/sapmachine) ([history](https://github.com/docker-library/official-images/commits/master/library/sapmachine)) - **Source of this description**: diff --git a/sentry/README.md b/sentry/README.md index 663c099c2144..58e82c60cb8d 100644 --- a/sentry/README.md +++ b/sentry/README.md @@ -14,18 +14,21 @@ WARNING: --> +# **DEPRECATION NOTICE** + +This image is deprecated in favor of the full installation explained over at [Self-Hosted Sentry Docs](https://develop.sentry.dev/self-hosted/) (last updated July 2019; [getsentry/docker-sentry#189](https://github.com/getsentry/docker-sentry/pull/189)). + # Quick reference - **Maintained by**: [Sentry](https://github.com/getsentry/docker-sentry) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`9.1.2`, `9.1`, `9`, `latest`](https://github.com/getsentry/docker-sentry/blob/09a7761e841eee7fab758526b14d46ae56134952/9.1/Dockerfile) -- [`9.1.2-onbuild`, `9.1-onbuild`, `9-onbuild`, `onbuild`](https://github.com/getsentry/docker-sentry/blob/f58f91fe5dc31bfe77af277dae7002a5542326a9/9.1/onbuild/Dockerfile) +**No supported tags** # Quick reference (cont.) @@ -33,14 +36,14 @@ WARNING: [https://github.com/getsentry/docker-sentry/issues](https://github.com/getsentry/docker-sentry/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/sentry/) + **No supported architectures** - **Published image artifact details**: [repo-info repo's `repos/sentry/` directory](https://github.com/docker-library/repo-info/blob/master/repos/sentry) ([history](https://github.com/docker-library/repo-info/commits/master/repos/sentry)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/sentry`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsentry) + [official-images repo's `library/sentry` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsentry) [official-images repo's `library/sentry` file](https://github.com/docker-library/official-images/blob/master/library/sentry) ([history](https://github.com/docker-library/official-images/commits/master/library/sentry)) - **Source of this description**: @@ -149,30 +152,6 @@ Connection information for an outbound smtp server. These values aren't needed i If you're using Mailgun for inbound mail, set your API key and configure a route to forward to `/api/hooks/mailgun/inbound/`. -# Image Variants - -The `sentry` images come in many flavors, each designed for a specific use case. - -## `sentry:` - -This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. - -## `sentry:onbuild` - -This image makes it easy to custom build your own Sentry instance by copying in a custom `config.yml` and/or `sentry.conf.py` file and installing plugins from `requirements.txt`. - -It's also possible to develop custom extensions within your `onbuild` package. If the build directory contains a `setup.py` file, this will also get installed. - -See the [official Sentry documentation](https://docs.getsentry.com/on-premise/server/installation/) for more information. - -To create your custom `sentry:onbuild` package, simply do the following: - -1. Create a Dockerfile containing `FROM sentry:onbuild` -2. In the same directory, add your custom configuration files. -3. You can get copies of those files to use as templates from the [docker-sentry GitHub repo](https://github.com/getsentry/docker-sentry/). -4. Build your image: `docker build -t mysentry .` -5. Run your custom image using `mysentry` instead of `sentry`. - # License View [license information](https://github.com/getsentry/sentry/blob/master/LICENSE) for the software contained in this image. diff --git a/sentry/deprecated.md b/sentry/deprecated.md new file mode 100644 index 000000000000..76597cdda82e --- /dev/null +++ b/sentry/deprecated.md @@ -0,0 +1 @@ +This image is deprecated in favor of the full installation explained over at [Self-Hosted Sentry Docs](https://develop.sentry.dev/self-hosted/) (last updated July 2019; [getsentry/docker-sentry#189](https://github.com/getsentry/docker-sentry/pull/189)). diff --git a/silverpeas/README.md b/silverpeas/README.md index b605c8df385f..2a038b1ed739 100644 --- a/silverpeas/README.md +++ b/silverpeas/README.md @@ -24,7 +24,9 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`6.0.2`, `latest`](https://github.com/Silverpeas/docker-silverpeas-prod/blob/189a4f2db783d5052add54f2c07ca7a3b860c685/Dockerfile) +- [`6.2`, `latest`](https://github.com/Silverpeas/docker-silverpeas-prod/blob/558d384db05b003735f876a2d8a96aa3d404bfb4/Dockerfile) +- [`6.1.2`](https://github.com/Silverpeas/docker-silverpeas-prod/blob/a4d6289629004ca954b8a24890eac4d4dc83a597/Dockerfile) +- [`6.0.2`](https://github.com/Silverpeas/docker-silverpeas-prod/blob/189a4f2db783d5052add54f2c07ca7a3b860c685/Dockerfile) # Quick reference (cont.) @@ -39,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/silverpeas`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsilverpeas) + [official-images repo's `library/silverpeas` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsilverpeas) [official-images repo's `library/silverpeas` file](https://github.com/docker-library/official-images/blob/master/library/silverpeas) ([history](https://github.com/docker-library/official-images/commits/master/library/silverpeas)) - **Source of this description**: @@ -85,12 +87,27 @@ In [Docker Hub](https://hub.docker.com/), no Docker images of Microsoft SQLServe $ docker run --name postgresql -d \ -e POSTGRES_PASSWORD="mysecretpassword" \ -v postgresql-data:/var/lib/postgresql/data \ - postgres:9.6 + postgres:12.3 ``` We recommend strongly to mount the directory with the database file on the host so the data won't be lost when upgrading PostgreSQL to a newer version (a Data Volume Container can be used instead). For any information how to start a PostgreSQL container, you can refer its [documentation](https://hub.docker.com/_/postgres/). -Once the database system is running, a database for Silverpeas has to be created and a user with administrative rights on this database (and only on this database) should be added; it is recommended for a security reason to create a dedicated user account in the database for each application and therefore for Silverpeas. In this document, and by default, a database `Silverpeas` and a user `silverpeas` for that database are created. +Once the database system is running, a database for Silverpeas has to be created and a user with administrative rights on this database (and only on this database) should be added; it is recommended for a security reason to create a dedicated user account in the database for each application and therefore for Silverpeas. In this document, and by default, a database `Silverpeas` and a user `silverpeas` for that database are created. For example: + +```console +$ docker exec -it postgresql psql -U postgres +psql (12.3 (Debian 12.3-1.pgdg100+1)) +Type "help" for help. + +postgres=# create database "Silverpeas"; +CREATE DATABASE +postgres=# create user silverpeas with password 'thesilverpeaspassword'; +CREATE ROLE +postgres=# grant all privileges on database "Silverpeas" to silverpeas; +GRANT +postgres=# \q +$ +``` ### Start a Silverpeas instance with the default configuration diff --git a/silverpeas/content.md b/silverpeas/content.md index 2c73b3ab3d70..1bbd0c8b5ef6 100644 --- a/silverpeas/content.md +++ b/silverpeas/content.md @@ -38,12 +38,27 @@ In [Docker Hub](https://hub.docker.com/), no Docker images of Microsoft SQLServe $ docker run --name postgresql -d \ -e POSTGRES_PASSWORD="mysecretpassword" \ -v postgresql-data:/var/lib/postgresql/data \ - postgres:9.6 + postgres:12.3 ``` We recommend strongly to mount the directory with the database file on the host so the data won't be lost when upgrading PostgreSQL to a newer version (a Data Volume Container can be used instead). For any information how to start a PostgreSQL container, you can refer its [documentation](https://hub.docker.com/_/postgres/). -Once the database system is running, a database for Silverpeas has to be created and a user with administrative rights on this database (and only on this database) should be added; it is recommended for a security reason to create a dedicated user account in the database for each application and therefore for Silverpeas. In this document, and by default, a database `Silverpeas` and a user `silverpeas` for that database are created. +Once the database system is running, a database for Silverpeas has to be created and a user with administrative rights on this database (and only on this database) should be added; it is recommended for a security reason to create a dedicated user account in the database for each application and therefore for Silverpeas. In this document, and by default, a database `Silverpeas` and a user `silverpeas` for that database are created. For example: + +```console +$ docker exec -it postgresql psql -U postgres +psql (12.3 (Debian 12.3-1.pgdg100+1)) +Type "help" for help. + +postgres=# create database "Silverpeas"; +CREATE DATABASE +postgres=# create user silverpeas with password 'thesilverpeaspassword'; +CREATE ROLE +postgres=# grant all privileges on database "Silverpeas" to silverpeas; +GRANT +postgres=# \q +$ +``` ### Start a Silverpeas instance with the default configuration diff --git a/sl/README.md b/sl/README.md index 21b586d1012a..8868b8b9448e 100644 --- a/sl/README.md +++ b/sl/README.md @@ -24,8 +24,7 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`7`, `latest`](https://github.com/scientificlinux/sl-docker/blob/88265b18997404f09ebbaec86bdfc87bca434963/sl7/Dockerfile) -- [`6`](https://github.com/scientificlinux/sl-docker/blob/b625310de0dbe2cd26e2bff681a9e012691d4b3e/sl6/Dockerfile) +- [`7`, `latest`](https://github.com/scientificlinux/sl-docker/blob/8958d164f9b5f50ab9790394a30cd9e449627bf9/sl7/Dockerfile) # Quick reference (cont.) @@ -40,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/sl`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsl) + [official-images repo's `library/sl` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsl) [official-images repo's `library/sl` file](https://github.com/docker-library/official-images/blob/master/library/sl) ([history](https://github.com/docker-library/official-images/commits/master/library/sl)) - **Source of this description**: diff --git a/solr/README.md b/solr/README.md index 9db5dd828a3e..fbbfa6ee67ef 100644 --- a/solr/README.md +++ b/solr/README.md @@ -24,24 +24,30 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`8.5.1`, `8.5`, `8`, `latest`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.5/Dockerfile) -- [`8.5.1-slim`, `8.5-slim`, `8-slim`, `slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.5/slim/Dockerfile) -- [`8.4.1`, `8.4`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.4/Dockerfile) -- [`8.4.1-slim`, `8.4-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.4/slim/Dockerfile) -- [`8.3.1`, `8.3`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.3/Dockerfile) -- [`8.3.1-slim`, `8.3-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.3/slim/Dockerfile) -- [`8.2.0`, `8.2`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.2/Dockerfile) -- [`8.2.0-slim`, `8.2-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.2/slim/Dockerfile) -- [`8.1.1`, `8.1`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.1/Dockerfile) -- [`8.1.1-slim`, `8.1-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.1/slim/Dockerfile) -- [`8.0.0`, `8.0`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.0/Dockerfile) -- [`8.0.0-slim`, `8.0-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/8.0/slim/Dockerfile) -- [`7.7.3`, `7.7`, `7`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/7.7/Dockerfile) -- [`7.7.3-slim`, `7.7-slim`, `7-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/7.7/slim/Dockerfile) -- [`6.6.6`, `6.6`, `6`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/6.6/Dockerfile) -- [`6.6.6-slim`, `6.6-slim`, `6-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/6.6/slim/Dockerfile) -- [`5.5.5`, `5.5`, `5`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/5.5/Dockerfile) -- [`5.5.5-slim`, `5.5-slim`, `5-slim`](https://github.com/docker-solr/docker-solr/blob/574d3d15742dce60957d423240337a3962f265f6/5.5/slim/Dockerfile) +- [`8.8.2`, `8.8`, `8`, `latest`](https://github.com/docker-solr/docker-solr/blob/2e73e7067302f889eb42ade28df4adaf3b527d95/8.8/Dockerfile) +- [`8.8.2-slim`, `8.8-slim`, `8-slim`, `slim`](https://github.com/docker-solr/docker-solr/blob/2e73e7067302f889eb42ade28df4adaf3b527d95/8.8/slim/Dockerfile) +- [`8.7.0`, `8.7`](https://github.com/docker-solr/docker-solr/blob/5ca83ea788711fb540d2073d95da115af53d1319/8.7/Dockerfile) +- [`8.7.0-slim`, `8.7-slim`](https://github.com/docker-solr/docker-solr/blob/5ca83ea788711fb540d2073d95da115af53d1319/8.7/slim/Dockerfile) +- [`8.6.3`, `8.6`](https://github.com/docker-solr/docker-solr/blob/0a9474015d0fe6dd9e29388a0f733f2ef1848523/8.6/Dockerfile) +- [`8.6.3-slim`, `8.6-slim`](https://github.com/docker-solr/docker-solr/blob/0a9474015d0fe6dd9e29388a0f733f2ef1848523/8.6/slim/Dockerfile) +- [`8.5.2`, `8.5`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.5/Dockerfile) +- [`8.5.2-slim`, `8.5-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.5/slim/Dockerfile) +- [`8.4.1`, `8.4`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.4/Dockerfile) +- [`8.4.1-slim`, `8.4-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.4/slim/Dockerfile) +- [`8.3.1`, `8.3`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.3/Dockerfile) +- [`8.3.1-slim`, `8.3-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.3/slim/Dockerfile) +- [`8.2.0`, `8.2`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.2/Dockerfile) +- [`8.2.0-slim`, `8.2-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.2/slim/Dockerfile) +- [`8.1.1`, `8.1`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.1/Dockerfile) +- [`8.1.1-slim`, `8.1-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.1/slim/Dockerfile) +- [`8.0.0`, `8.0`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.0/Dockerfile) +- [`8.0.0-slim`, `8.0-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/8.0/slim/Dockerfile) +- [`7.7.3`, `7.7`, `7`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/7.7/Dockerfile) +- [`7.7.3-slim`, `7.7-slim`, `7-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/7.7/slim/Dockerfile) +- [`6.6.6`, `6.6`, `6`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/6.6/Dockerfile) +- [`6.6.6-slim`, `6.6-slim`, `6-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/6.6/slim/Dockerfile) +- [`5.5.5`, `5.5`, `5`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/5.5/Dockerfile) +- [`5.5.5-slim`, `5.5-slim`, `5-slim`](https://github.com/docker-solr/docker-solr/blob/86159575c4b6da2010ae9ee003bf5a6de31157cb/5.5/slim/Dockerfile) # Quick reference (cont.) @@ -56,7 +62,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/solr`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsolr) + [official-images repo's `library/solr` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsolr) [official-images repo's `library/solr` file](https://github.com/docker-library/official-images/blob/master/library/solr) ([history](https://github.com/docker-library/official-images/commits/master/library/solr)) - **Source of this description**: diff --git a/sonarqube/README.md b/sonarqube/README.md index b08c24f8df6e..8644ba7ab4ff 100644 --- a/sonarqube/README.md +++ b/sonarqube/README.md @@ -24,10 +24,12 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`7.9.3-community`, `7.9-community`, `lts`](https://github.com/SonarSource/docker-sonarqube/blob/2f7290e97a56f71603eff494db0d6b8d34ca426e/7/community/Dockerfile) -- [`8.3.1-community`, `8.3-community`, `8-community`, `community`, `latest`](https://github.com/SonarSource/docker-sonarqube/blob/2f7290e97a56f71603eff494db0d6b8d34ca426e/8/community/Dockerfile) -- [`8.3.1-developer`, `8.3-developer`, `8-developer`, `developer`](https://github.com/SonarSource/docker-sonarqube/blob/2f7290e97a56f71603eff494db0d6b8d34ca426e/8/developer/Dockerfile) -- [`8.3.1-enterprise`, `8.3-enterprise`, `8-enterprise`, `enterprise`](https://github.com/SonarSource/docker-sonarqube/blob/2f7290e97a56f71603eff494db0d6b8d34ca426e/8/enterprise/Dockerfile) +- [`7.9.6-community`, `7.9-community`, `lts`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/7/community/Dockerfile) +- [`8.8.0-community`, `8.8-community`, `8-community`, `community`, `latest`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/8/community/Dockerfile) +- [`8.8.0-developer`, `8.8-developer`, `8-developer`, `developer`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/8/developer/Dockerfile) +- [`8.8.0-enterprise`, `8.8-enterprise`, `8-enterprise`, `enterprise`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/8/enterprise/Dockerfile) +- [`8.8.0-datacenter-app`, `8.8-datacenter-app`, `8-datacenter-app`, `datacenter-app`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/8/datacenter/app/Dockerfile) +- [`8.8.0-datacenter-search`, `8.8-datacenter-search`, `8-datacenter-search`, `datacenter-search`](https://github.com/SonarSource/docker-sonarqube/blob/ee0ecba92f006f8429b7071acfef13207b3f4ddc/8/datacenter/search/Dockerfile) # Quick reference (cont.) @@ -42,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/sonarqube`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsonarqube) + [official-images repo's `library/sonarqube` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsonarqube) [official-images repo's `library/sonarqube` file](https://github.com/docker-library/official-images/blob/master/library/sonarqube) ([history](https://github.com/docker-library/official-images/commits/master/library/sonarqube)) - **Source of this description**: @@ -56,7 +58,7 @@ WARNING: # How to use this image -Here you'll find the Docker images for the Community Edition, Developer Edition, and Enterprise Edition of SonarQube. +Here you'll find the Docker images for the Community Edition, Developer Edition, Enterprise Edition, and DataCenter Edition of SonarQube. ## Docker Host Requirements @@ -81,7 +83,7 @@ To quickly run a demo instance, see Using Docker on the [Get Started in Two Minu By default, the image will use an embedded H2 database that is not suited for production. -> **Warning:** Only a single instance of SonarQube can connect to a database schema. If you're using a Docker Swarm or Kubernetes, make sure that multiple SonarQube instances are never running on the same database schema simultaneously. This will cause SonarQube to behave unpredictably and data will be corrupted. There is no safeguard until [SONAR-10362](https://jira.sonarsource.com/browse/SONAR-10362). +> **Warning:** Only a single instance of SonarQube can connect to a database schema. If you're using a Docker Swarm or Kubernetes, make sure that multiple SonarQube instances are never running on the same database schema simultaneously. This will cause SonarQube to behave unpredictably and data will be corrupted. There is no safeguard until [SONAR-10362](https://jira.sonarsource.com/browse/SONAR-10362). The Datacenter Edition has the same limitation in that only one cluster can connect to one database schema at the same time. Set up a database by following the "Installing the Database" section of https://docs.sonarqube.org/latest/setup/install-server/. @@ -92,7 +94,7 @@ We recommend creating volumes for the following directories: - `/opt/sonarqube/conf`: **for Version 7.9.x only**, configuration files, such as `sonar.properties`. - `/opt/sonarqube/data`: data files, such as the embedded H2 database and Elasticsearch indexes - `/opt/sonarqube/logs`: contains SonarQube logs about access, web process, CE process, Elasticsearch logs -- `/opt/sonarqube/extensions`: plugins, such as language analyzers +- `/opt/sonarqube/extensions`: for 3rd party plugins > **Warning:** You cannot use the same volumes on multiple instances of SonarQube. @@ -100,6 +102,8 @@ We recommend creating volumes for the following directories: For installation instructions, see Installing the Server from the Docker Image on the [Install the Server](https://docs.sonarqube.org/latest/setup/install-server/) page. +To run a cluster with the DataCenter Edition, please refer to Installing SonarQube from the Docker Image on the [Install the Server as a Cluster](https://docs.sonarqube.org/latest/setup/install-cluster/) page. + ## Upgrading For upgrade instructions, see Upgrading from the Docker Image on the [Upgrade the Server](https://docs.sonarqube.org/latest/setup/upgrading/) page. @@ -136,7 +140,7 @@ The administration guide can be found [here](https://redirect.sonarsource.com/do # License -View [license information](http://www.gnu.org/licenses/lgpl.txt) for the software contained in this image. +SonarQube Community Edition is licensed under [GNU Lesser General Public License, Version 3.0](http://www.gnu.org/licenses/lgpl.txt). SonarQube Developer, Enterprise, and Data Center Editions are licensed under [SonarSource Terms and Conditions](https://www.sonarsource.com/docs/sonarsource_terms_and_conditions.pdf). As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). diff --git a/sonarqube/content.md b/sonarqube/content.md index 18fb0d7608dd..d8f23b5b3316 100644 --- a/sonarqube/content.md +++ b/sonarqube/content.md @@ -6,7 +6,7 @@ # How to use this image -Here you'll find the Docker images for the Community Edition, Developer Edition, and Enterprise Edition of SonarQube. +Here you'll find the Docker images for the Community Edition, Developer Edition, Enterprise Edition, and DataCenter Edition of SonarQube. ## Docker Host Requirements @@ -31,7 +31,7 @@ To quickly run a demo instance, see Using Docker on the [Get Started in Two Minu By default, the image will use an embedded H2 database that is not suited for production. -> **Warning:** Only a single instance of SonarQube can connect to a database schema. If you're using a Docker Swarm or Kubernetes, make sure that multiple SonarQube instances are never running on the same database schema simultaneously. This will cause SonarQube to behave unpredictably and data will be corrupted. There is no safeguard until [SONAR-10362](https://jira.sonarsource.com/browse/SONAR-10362). +> **Warning:** Only a single instance of SonarQube can connect to a database schema. If you're using a Docker Swarm or Kubernetes, make sure that multiple SonarQube instances are never running on the same database schema simultaneously. This will cause SonarQube to behave unpredictably and data will be corrupted. There is no safeguard until [SONAR-10362](https://jira.sonarsource.com/browse/SONAR-10362). The Datacenter Edition has the same limitation in that only one cluster can connect to one database schema at the same time. Set up a database by following the "Installing the Database" section of https://docs.sonarqube.org/latest/setup/install-server/. @@ -42,7 +42,7 @@ We recommend creating volumes for the following directories: - `/opt/sonarqube/conf`: **for Version 7.9.x only**, configuration files, such as `sonar.properties`. - `/opt/sonarqube/data`: data files, such as the embedded H2 database and Elasticsearch indexes - `/opt/sonarqube/logs`: contains SonarQube logs about access, web process, CE process, Elasticsearch logs -- `/opt/sonarqube/extensions`: plugins, such as language analyzers +- `/opt/sonarqube/extensions`: for 3rd party plugins > **Warning:** You cannot use the same volumes on multiple instances of SonarQube. @@ -50,6 +50,8 @@ We recommend creating volumes for the following directories: For installation instructions, see Installing the Server from the Docker Image on the [Install the Server](https://docs.sonarqube.org/latest/setup/install-server/) page. +To run a cluster with the DataCenter Edition, please refer to Installing SonarQube from the Docker Image on the [Install the Server as a Cluster](https://docs.sonarqube.org/latest/setup/install-cluster/) page. + ## Upgrading For upgrade instructions, see Upgrading from the Docker Image on the [Upgrade the Server](https://docs.sonarqube.org/latest/setup/upgrading/) page. diff --git a/sonarqube/license.md b/sonarqube/license.md index 5f3042dd9785..bc16166651ad 100644 --- a/sonarqube/license.md +++ b/sonarqube/license.md @@ -1 +1 @@ -View [license information](http://www.gnu.org/licenses/lgpl.txt) for the software contained in this image. +SonarQube Community Edition is licensed under [GNU Lesser General Public License, Version 3.0](http://www.gnu.org/licenses/lgpl.txt). SonarQube Developer, Enterprise, and Data Center Editions are licensed under [SonarSource Terms and Conditions](https://www.sonarsource.com/docs/sonarsource_terms_and_conditions.pdf). diff --git a/sourcemage/README.md b/sourcemage/README.md index 7cca2849ec6c..928243957141 100644 --- a/sourcemage/README.md +++ b/sourcemage/README.md @@ -14,13 +14,19 @@ WARNING: --> +# **DEPRECATION NOTICE** + +This image is deprecated due to maintainer inactivity (last updated Dec 2016; [docker-library/official-images#2403](https://github.com/docker-library/official-images/pull/2403)). + +See [docker-library/docs#1433](https://github.com/docker-library/docs/pull/1433) for discussion around an in-progress upstream update. + # Quick reference - **Maintained by**: [the Source Mage Community](https://github.com/vaygr/docker-sourcemage) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -39,7 +45,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/sourcemage`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fsourcemage) + [official-images repo's `library/sourcemage` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fsourcemage) [official-images repo's `library/sourcemage` file](https://github.com/docker-library/official-images/blob/master/library/sourcemage) ([history](https://github.com/docker-library/official-images/commits/master/library/sourcemage)) - **Source of this description**: diff --git a/sourcemage/deprecated.md b/sourcemage/deprecated.md new file mode 100644 index 000000000000..73645334f701 --- /dev/null +++ b/sourcemage/deprecated.md @@ -0,0 +1,3 @@ +This image is deprecated due to maintainer inactivity (last updated Dec 2016; [docker-library/official-images#2403](https://github.com/docker-library/official-images/pull/2403)). + +See [docker-library/docs#1433](https://github.com/docker-library/docs/pull/1433) for discussion around an in-progress upstream update. diff --git a/spiped/README.md b/spiped/README.md index 3921d25861e6..3b0a697716ec 100644 --- a/spiped/README.md +++ b/spiped/README.md @@ -20,12 +20,12 @@ WARNING: [Tim Düsterhus (of the Docker Community)](https://github.com/TimWolla/docker-spiped), [with Colin's support (from spiped upstream)](https://github.com/docker-library/official-images/pull/1714#issuecomment-219556607) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.6.1`, `1.6`, `1`, `latest`](https://github.com/TimWolla/docker-spiped/blob/b3b3c26364bbbd775bfd8bca31b2d3d0be60d6c4/1.6/Dockerfile) -- [`1.6.1-alpine`, `1.6-alpine`, `1-alpine`, `alpine`](https://github.com/TimWolla/docker-spiped/blob/2e8d2fbe31f6f48ab34cde6e066471bf6ccb0fa9/1.6/alpine/Dockerfile) +- [`1.6.1`, `1.6`, `1`, `latest`](https://github.com/TimWolla/docker-spiped/blob/408695d1c0f193e8930e3f286c15e7033590d284/1.6/Dockerfile) +- [`1.6.1-alpine`, `1.6-alpine`, `1-alpine`, `alpine`](https://github.com/TimWolla/docker-spiped/blob/6321db9cae66638e5f2b288421d7f31df7435379/1.6/alpine/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/spiped`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fspiped) + [official-images repo's `library/spiped` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fspiped) [official-images repo's `library/spiped` file](https://github.com/docker-library/official-images/blob/master/library/spiped) ([history](https://github.com/docker-library/official-images/commits/master/library/spiped)) - **Source of this description**: @@ -103,9 +103,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `spiped:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/storm/README.md b/storm/README.md index 45bcef05017d..f684128c4861 100644 --- a/storm/README.md +++ b/storm/README.md @@ -20,13 +20,13 @@ WARNING: [the Docker Community](https://github.com/31z4/storm-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links - [`1.1.3`, `1.1`](https://github.com/31z4/storm-docker/blob/664a7f4730f58be00fd7fe0526d2c13180107c6f/1.1.3/Dockerfile) - [`1.2.3`, `1.2`](https://github.com/31z4/storm-docker/blob/664a7f4730f58be00fd7fe0526d2c13180107c6f/1.2.3/Dockerfile) -- [`2.1.0`, `2.1`, `latest`](https://github.com/31z4/storm-docker/blob/664a7f4730f58be00fd7fe0526d2c13180107c6f/2.1.0/Dockerfile) +- [`2.2.0`, `2.2`, `latest`](https://github.com/31z4/storm-docker/blob/9eae4ab08d30cfab29c784b4d9e7d1c187fa0348/2.2.0/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/storm`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fstorm) + [official-images repo's `library/storm` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fstorm) [official-images repo's `library/storm` file](https://github.com/docker-library/official-images/blob/master/library/storm) ([history](https://github.com/docker-library/official-images/commits/master/library/storm)) - **Source of this description**: diff --git a/swarm/README-short.txt b/swarm/README-short.txt index 0e3c180d3f1d..a9808cef1269 100644 --- a/swarm/README-short.txt +++ b/swarm/README-short.txt @@ -1 +1 @@ -Swarm: a Docker-native clustering system. +Classic Swarm is no longer actively developed; use Swarm mode built into the Docker Engine instead diff --git a/swarm/README.md b/swarm/README.md index 1ccef109b502..739af122e36d 100644 --- a/swarm/README.md +++ b/swarm/README.md @@ -14,17 +14,23 @@ WARNING: --> +# **DEPRECATION NOTICE** + +> Classic Swarm has been archived and is no longer actively developed. You may want to use the Swarm mode built into the Docker Engine instead, or another orchestration system. + +(https://github.com/docker/classicswarm#readme) + # Quick reference - **Maintained by**: [Docker, Inc.](https://github.com/docker/swarm-library-image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.2.9`, `latest`](https://github.com/docker/swarm-library-image/blob/a2a08d733833327354b5d3336ffbd19e4f369a2d/Dockerfile) +**No supported tags** # Quick reference (cont.) @@ -32,14 +38,14 @@ WARNING: [https://github.com/docker/swarm-library-image/issues](https://github.com/docker/swarm-library-image/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/swarm/) + **No supported architectures** - **Published image artifact details**: [repo-info repo's `repos/swarm/` directory](https://github.com/docker-library/repo-info/blob/master/repos/swarm) ([history](https://github.com/docker-library/repo-info/commits/master/repos/swarm)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/swarm`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fswarm) + [official-images repo's `library/swarm` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fswarm) [official-images repo's `library/swarm` file](https://github.com/docker-library/official-images/blob/master/library/swarm) ([history](https://github.com/docker-library/official-images/commits/master/library/swarm)) - **Source of this description**: diff --git a/swarm/deprecated.md b/swarm/deprecated.md new file mode 100644 index 000000000000..fe6532302b34 --- /dev/null +++ b/swarm/deprecated.md @@ -0,0 +1,3 @@ +> Classic Swarm has been archived and is no longer actively developed. You may want to use the Swarm mode built into the Docker Engine instead, or another orchestration system. + +(https://github.com/docker/classicswarm#readme) diff --git a/swift/README.md b/swift/README.md index ddcde389883b..15b75f08cc2a 100644 --- a/swift/README.md +++ b/swift/README.md @@ -24,10 +24,30 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`5.2.3`, `5.2`, `5.2.3-bionic`, `5.2-bionic`, `bionic`, `latest`](https://github.com/apple/swift-docker/blob/38f179345ace24236d6c09de84e77d91384014cd/5.2/ubuntu/18.04/Dockerfile) -- [`5.2.3-xenial`, `5.2-xenial`, `xenial`](https://github.com/apple/swift-docker/blob/38f179345ace24236d6c09de84e77d91384014cd/5.2/ubuntu/16.04/Dockerfile) -- [`5.2.3-slim`, `5.2-slim`, `5.2.3-bionic-slim`, `5.2-bionic-slim`, `bionic-slim`, `slim`](https://github.com/apple/swift-docker/blob/38f179345ace24236d6c09de84e77d91384014cd/5.2/ubuntu/18.04/slim/Dockerfile) -- [`5.2.3-xenial-slim`, `5.2-xenial-slim`, `xenial-slim`](https://github.com/apple/swift-docker/blob/38f179345ace24236d6c09de84e77d91384014cd/5.2/ubuntu/16.04/slim/Dockerfile) +- [`5.3.3`, `5.3`, `5.3.3-bionic`, `5.3-bionic`, `bionic`, `latest`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/18.04/Dockerfile) +- [`5.3.3-xenial`, `5.3-xenial`, `xenial`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/16.04/Dockerfile) +- [`5.3.3-slim`, `5.3-slim`, `5.3.3-bionic-slim`, `5.3-bionic-slim`, `bionic-slim`, `slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/18.04/slim/Dockerfile) +- [`5.3.3-xenial-slim`, `5.3-xenial-slim`, `xenial-slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/16.04/slim/Dockerfile) +- [`5.3.3-focal-slim`, `5.3-focal-slim`, `focal-slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/20.04/slim/Dockerfile) +- [`5.3.3-focal`, `5.3-focal`, `focal`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/ubuntu/20.04/Dockerfile) +- [`5.3.3-amazonlinux2`, `5.3-amazonlinux2`, `amazonlinux2`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/amazonlinux/2/Dockerfile) +- [`5.3.3-amazonlinux2-slim`, `5.3-amazonlinux2-slim`, `amazonlinux2-slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/amazonlinux/2/slim/Dockerfile) +- [`5.3.3-centos8`, `5.3-centos8`, `centos8`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/centos/8/Dockerfile) +- [`5.3.3-centos8-slim`, `5.3-centos8-slim`, `centos8-slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/centos/8/slim/Dockerfile) +- [`5.3.3-centos7`, `5.3-centos7`, `centos7`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/centos/7/Dockerfile) +- [`5.3.3-centos7-slim`, `5.3-centos7-slim`, `centos7-slim`](https://github.com/apple/swift-docker/blob/78fb43bb44c727704436dd05bd4cc586c1e11aca/5.3/centos/7/slim/Dockerfile) +- [`5.2.5`, `5.2`, `5.2.5-bionic`, `5.2-bionic`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/18.04/Dockerfile) +- [`5.2.5-xenial`, `5.2-xenial`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/16.04/Dockerfile) +- [`5.2.5-slim`, `5.2-slim`, `5.2.5-bionic-slim`, `5.2-bionic-slim`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/18.04/slim/Dockerfile) +- [`5.2.5-xenial-slim`, `5.2-xenial-slim`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/16.04/slim/Dockerfile) +- [`5.2.5-focal-slim`, `5.2-focal-slim`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/20.04/slim/Dockerfile) +- [`5.2.5-focal`, `5.2-focal`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/ubuntu/20.04/Dockerfile) +- [`5.2.5-amazonlinux2`, `5.2-amazonlinux2`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/amazonlinux/2/Dockerfile) +- [`5.2.5-amazonlinux2-slim`, `5.2-amazonlinux2-slim`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/amazonlinux/2/slim/Dockerfile) +- [`5.2.5-centos8`, `5.2-centos8`](https://github.com/apple/swift-docker/blob/c0daa8c7a96e310e20c4b02bbfaf600f2d92eda9/5.2/centos/8/Dockerfile) +- [`5.2.5-centos8-slim`, `5.2-centos8-slim`](https://github.com/apple/swift-docker/blob/c0daa8c7a96e310e20c4b02bbfaf600f2d92eda9/5.2/centos/8/slim/Dockerfile) +- [`5.2.5-centos7`, `5.2-centos7`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/centos/7/Dockerfile) +- [`5.2.5-centos7-slim`, `5.2-centos7-slim`](https://github.com/apple/swift-docker/blob/d58282b54afb6192de97d9cad973d2d2cc928dd5/5.2/centos/7/slim/Dockerfile) - [`5.1.5`, `5.1`, `5.1.5-bionic`, `5.1-bionic`](https://github.com/apple/swift-docker/blob/05538e13a3015675d83e2553cdce5d1d67e17235/5.1/ubuntu/18.04/Dockerfile) - [`5.1.5-xenial`, `5.1-xenial`](https://github.com/apple/swift-docker/blob/05538e13a3015675d83e2553cdce5d1d67e17235/5.1/ubuntu/16.04/Dockerfile) - [`5.1.5-slim`, `5.1-slim`, `5.1.5-bionic-sim`, `5.1-bionic-slim`](https://github.com/apple/swift-docker/blob/05538e13a3015675d83e2553cdce5d1d67e17235/5.1/ubuntu/18.04/slim/Dockerfile) @@ -53,7 +73,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/swift`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fswift) + [official-images repo's `library/swift` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fswift) [official-images repo's `library/swift` file](https://github.com/docker-library/official-images/blob/master/library/swift) ([history](https://github.com/docker-library/official-images/commits/master/library/swift)) - **Source of this description**: @@ -116,7 +136,7 @@ The `swift` images come in many flavors, each designed for a specific use case. This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -Some of these tags may have names like bionic or xenial in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu. +Some of these tags may have names like bionic, focal, or xenial in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu. ## `swift:-slim` diff --git a/swipl/README.md b/swipl/README.md index 3ccafd716fde..af6e5d2e8e75 100644 --- a/swipl/README.md +++ b/swipl/README.md @@ -20,12 +20,12 @@ WARNING: [the SWI-Prolog community](https://github.com/SWI-Prolog/docker-swipl) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`latest`, `8.1.30`](https://github.com/SWI-Prolog/docker-swipl/blob/0b4a94d8ca1ce9a973d8159393eff69a36fafe4e/8.1.30/stretch/Dockerfile) -- [`stable`, `8.0.3`](https://github.com/SWI-Prolog/docker-swipl/blob/0b4a94d8ca1ce9a973d8159393eff69a36fafe4e/8.0.3/stretch/Dockerfile) +- [`latest`, `8.3.18`](https://github.com/SWI-Prolog/docker-swipl/blob/5310e0a5c70dd4e6121d96b1d0b50d4d1dafd04d/8.3.18/stretch/Dockerfile) +- [`stable`, `8.2.4`](https://github.com/SWI-Prolog/docker-swipl/blob/5310e0a5c70dd4e6121d96b1d0b50d4d1dafd04d/8.2.4/stretch/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/swipl`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fswipl) + [official-images repo's `library/swipl` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fswipl) [official-images repo's `library/swipl` file](https://github.com/docker-library/official-images/blob/master/library/swipl) ([history](https://github.com/docker-library/official-images/commits/master/library/swipl)) - **Source of this description**: diff --git a/teamspeak/README.md b/teamspeak/README.md index ce17dd02b007..f56eea13e14c 100644 --- a/teamspeak/README.md +++ b/teamspeak/README.md @@ -20,11 +20,11 @@ WARNING: TeamSpeak Developers [nwerensteijn](https://github.com/nwerensteijn) and [muenchow](https://github.com/muenchow) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.12`, `3.12.1`, `latest`](https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/blob/dd1e68d64552f8848f88b542d2c6d4707a6f20b6/alpine/Dockerfile) +- [`3.13`, `3.13.3`, `latest`](https://github.com/TeamSpeak-Systems/teamspeak-linux-docker-images/blob/5539fed973c4550e7f98bd0ca4ab80a67801ba33/alpine/Dockerfile) # Quick reference (cont.) @@ -39,7 +39,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/teamspeak`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fteamspeak) + [official-images repo's `library/teamspeak` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fteamspeak) [official-images repo's `library/teamspeak` file](https://github.com/docker-library/official-images/blob/master/library/teamspeak) ([history](https://github.com/docker-library/official-images/commits/master/library/teamspeak)) - **Source of this description**: diff --git a/telegraf/README.md b/telegraf/README.md index 61317e24a08b..fd4156644cab 100644 --- a/telegraf/README.md +++ b/telegraf/README.md @@ -20,16 +20,16 @@ WARNING: [InfluxData](https://github.com/influxdata/influxdata-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.12`, `1.12.6`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.12/Dockerfile) -- [`1.12-alpine`, `1.12.6-alpine`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.12/alpine/Dockerfile) -- [`1.13`, `1.13.4`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.13/Dockerfile) -- [`1.13-alpine`, `1.13.4-alpine`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.13/alpine/Dockerfile) -- [`1.14`, `1.14.3`, `latest`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.14/Dockerfile) -- [`1.14-alpine`, `1.14.3-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/ea3d20a79f24207b1a1d4390fcfe5f773d9f5a88/telegraf/1.14/alpine/Dockerfile) +- [`1.16`, `1.16.3`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.16/Dockerfile) +- [`1.16-alpine`, `1.16.3-alpine`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.16/alpine/Dockerfile) +- [`1.17`, `1.17.3`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.17/Dockerfile) +- [`1.17-alpine`, `1.17.3-alpine`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.17/alpine/Dockerfile) +- [`1.18`, `1.18.1`, `latest`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.18/Dockerfile) +- [`1.18-alpine`, `1.18.1-alpine`, `alpine`](https://github.com/influxdata/influxdata-docker/blob/4c27ddc6edcfcbd4d94bb99d1716c9f4ec2b15df/telegraf/1.18/alpine/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/telegraf`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ftelegraf) + [official-images repo's `library/telegraf` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ftelegraf) [official-images repo's `library/telegraf` file](https://github.com/docker-library/official-images/blob/master/library/telegraf) ([history](https://github.com/docker-library/official-images/commits/master/library/telegraf)) - **Source of this description**: @@ -54,7 +54,7 @@ WARNING: Telegraf is an open source agent written in Go for collecting metrics and data on the system it's running on or from other services. Telegraf writes data it collects to InfluxDB in the correct format. -[Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/introduction/getting_started/) +[Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/introduction/getting-started/) ![logo](https://raw.githubusercontent.com/docker-library/docs/43d87118415bb75d7bb107683e79cd6d69186f67/telegraf/logo.png) @@ -73,7 +73,7 @@ The default configuration requires a running InfluxDB instance as an output plug Minimal example to start an InfluxDB container: ```console -$ docker run -d --name influxdb -p 8083:8083 -p 8086:8086 influxdb +$ docker run -d --name influxdb -p 8086:8086 influxdb ``` Starting Telegraf using the default config, which connects to InfluxDB at `http://localhost:8086/`: @@ -224,19 +224,23 @@ Check that the measurement `foo` is added in the DB. - [Output Plugins](https://docs.influxdata.com/telegraf/latest/plugins/outputs/) -### Monitoring the host filesystem +### Monitoring the Docker Engine Host -One of the more common use cases for Telegraf is running it in a container to monitor the host filesystem using the inputs that take information from the `/proc` filesystem. This section only applies to monitoring a Linux host. +One common use case for Telegraf is to monitor the Docker Engine Host from within a container. The recommended technique is to mount the host filesystems into the container and use environment variables to instruct Telegraf where to locate the filesystems. -To do this, you can mount the host's `/proc` filesystem inside of the container and set the location of `/proc` to an alternate location by using the `HOST_PROC` environment variable to change the location of where `/proc` is located. As an example: +The precise files that need to be made available varies from plugin to plugin. Here is an example showing the full set of supported locations: ```console $ docker run -d --name=telegraf \ - --net=influxdb \ - -e HOST_PROC=/host/proc \ - -v /proc:/host/proc:ro \ - -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \ - telegraf + -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \ + -v /:/hostfs:ro \ + -e HOST_ETC=/hostfs/etc \ + -e HOST_PROC=/hostfs/proc \ + -e HOST_SYS=/hostfs/sys \ + -e HOST_VAR=/hostfs/var \ + -e HOST_RUN=/hostfs/run \ + -e HOST_MOUNT_PREFIX=/hostfs \ + telegraf ``` ### Monitoring docker containers @@ -312,9 +316,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `telegraf:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/telegraf/content.md b/telegraf/content.md index 43c344afd425..ee1a59af74f6 100644 --- a/telegraf/content.md +++ b/telegraf/content.md @@ -2,7 +2,7 @@ Telegraf is an open source agent written in Go for collecting metrics and data on the system it's running on or from other services. Telegraf writes data it collects to InfluxDB in the correct format. -[Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/introduction/getting_started/) +[Telegraf Official Docs](https://docs.influxdata.com/telegraf/latest/introduction/getting-started/) %%LOGO%% @@ -21,7 +21,7 @@ The default configuration requires a running InfluxDB instance as an output plug Minimal example to start an InfluxDB container: ```console -$ docker run -d --name influxdb -p 8083:8083 -p 8086:8086 influxdb +$ docker run -d --name influxdb -p 8086:8086 influxdb ``` Starting Telegraf using the default config, which connects to InfluxDB at `http://localhost:8086/`: @@ -172,19 +172,23 @@ Check that the measurement `foo` is added in the DB. - [Output Plugins](https://docs.influxdata.com/telegraf/latest/plugins/outputs/) -### Monitoring the host filesystem +### Monitoring the Docker Engine Host -One of the more common use cases for Telegraf is running it in a container to monitor the host filesystem using the inputs that take information from the `/proc` filesystem. This section only applies to monitoring a Linux host. +One common use case for Telegraf is to monitor the Docker Engine Host from within a container. The recommended technique is to mount the host filesystems into the container and use environment variables to instruct Telegraf where to locate the filesystems. -To do this, you can mount the host's `/proc` filesystem inside of the container and set the location of `/proc` to an alternate location by using the `HOST_PROC` environment variable to change the location of where `/proc` is located. As an example: +The precise files that need to be made available varies from plugin to plugin. Here is an example showing the full set of supported locations: ```console $ docker run -d --name=telegraf \ - --net=influxdb \ - -e HOST_PROC=/host/proc \ - -v /proc:/host/proc:ro \ - -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \ - %%IMAGE%% + -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \ + -v /:/hostfs:ro \ + -e HOST_ETC=/hostfs/etc \ + -e HOST_PROC=/hostfs/proc \ + -e HOST_SYS=/hostfs/sys \ + -e HOST_VAR=/hostfs/var \ + -e HOST_RUN=/hostfs/run \ + -e HOST_MOUNT_PREFIX=/hostfs \ + %%IMAGE%% ``` ### Monitoring docker containers diff --git a/thrift/README.md b/thrift/README.md index 0b5bcafa5805..9932604c5f58 100644 --- a/thrift/README.md +++ b/thrift/README.md @@ -14,13 +14,19 @@ WARNING: --> +# **DEPRECATION NOTICE** + +This image is deprecated due to inactivity (last updated Feb 2019; [docker-library/official-images#5411](https://github.com/docker-library/official-images/pull/5411)). + +There is a useful discussion in [ahawkins/docker-thrift#12](https://github.com/ahawkins/docker-thrift/issues/12) about the future of this image. + # Quick reference - **Maintained by**: [the Docker Community](https://github.com/ahawkins/docker-thrift) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links @@ -42,7 +48,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/thrift`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fthrift) + [official-images repo's `library/thrift` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fthrift) [official-images repo's `library/thrift` file](https://github.com/docker-library/official-images/blob/master/library/thrift) ([history](https://github.com/docker-library/official-images/commits/master/library/thrift)) - **Source of this description**: diff --git a/thrift/deprecated.md b/thrift/deprecated.md new file mode 100644 index 000000000000..f1b9486639af --- /dev/null +++ b/thrift/deprecated.md @@ -0,0 +1,3 @@ +This image is deprecated due to inactivity (last updated Feb 2019; [docker-library/official-images#5411](https://github.com/docker-library/official-images/pull/5411)). + +There is a useful discussion in [ahawkins/docker-thrift#12](https://github.com/ahawkins/docker-thrift/issues/12) about the future of this image. diff --git a/tomcat/README.md b/tomcat/README.md index 9e584c5fd803..2fa7d9e920b6 100644 --- a/tomcat/README.md +++ b/tomcat/README.md @@ -20,54 +20,54 @@ WARNING: [the Docker Community](https://github.com/docker-library/tomcat) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`10.0.0-M5-jdk14-openjdk-oracle`, `10.0.0-jdk14-openjdk-oracle`, `10.0-jdk14-openjdk-oracle`, `10-jdk14-openjdk-oracle`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk14/openjdk-oracle/Dockerfile) -- [`10.0.0-M5-jdk14-openjdk-buster`, `10.0.0-jdk14-openjdk-buster`, `10.0-jdk14-openjdk-buster`, `10-jdk14-openjdk-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk14/openjdk-buster/Dockerfile) -- [`10.0.0-M5-jdk14-openjdk-slim-buster`, `10.0.0-jdk14-openjdk-slim-buster`, `10.0-jdk14-openjdk-slim-buster`, `10-jdk14-openjdk-slim-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk14/openjdk-slim-buster/Dockerfile) -- [`10.0.0-M5-jdk11-openjdk`, `10.0.0-jdk11-openjdk`, `10.0-jdk11-openjdk`, `10-jdk11-openjdk`, `10.0.0-M5-jdk11`, `10.0.0-jdk11`, `10.0-jdk11`, `10-jdk11`, `10.0.0-M5`, `10.0.0`, `10.0`, `10`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk11/openjdk/Dockerfile) -- [`10.0.0-M5-jdk11-openjdk-slim`, `10.0.0-jdk11-openjdk-slim`, `10.0-jdk11-openjdk-slim`, `10-jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk11/openjdk-slim/Dockerfile) -- [`10.0.0-M5-jdk11-adoptopenjdk-hotspot`, `10.0.0-jdk11-adoptopenjdk-hotspot`, `10.0-jdk11-adoptopenjdk-hotspot`, `10-jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk11/adoptopenjdk-hotspot/Dockerfile) -- [`10.0.0-M5-jdk11-adoptopenjdk-openj9`, `10.0.0-jdk11-adoptopenjdk-openj9`, `10.0-jdk11-adoptopenjdk-openj9`, `10-jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk11/adoptopenjdk-openj9/Dockerfile) -- [`10.0.0-M5-jdk11-corretto`, `10.0.0-jdk11-corretto`, `10.0-jdk11-corretto`, `10-jdk11-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk11/corretto/Dockerfile) -- [`10.0.0-M5-jdk8-openjdk`, `10.0.0-jdk8-openjdk`, `10.0-jdk8-openjdk`, `10-jdk8-openjdk`, `10.0.0-M5-jdk8`, `10.0.0-jdk8`, `10.0-jdk8`, `10-jdk8`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk8/openjdk/Dockerfile) -- [`10.0.0-M5-jdk8-openjdk-slim`, `10.0.0-jdk8-openjdk-slim`, `10.0-jdk8-openjdk-slim`, `10-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk8/openjdk-slim/Dockerfile) -- [`10.0.0-M5-jdk8-adoptopenjdk-hotspot`, `10.0.0-jdk8-adoptopenjdk-hotspot`, `10.0-jdk8-adoptopenjdk-hotspot`, `10-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk8/adoptopenjdk-hotspot/Dockerfile) -- [`10.0.0-M5-jdk8-adoptopenjdk-openj9`, `10.0.0-jdk8-adoptopenjdk-openj9`, `10.0-jdk8-adoptopenjdk-openj9`, `10-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk8/adoptopenjdk-openj9/Dockerfile) -- [`10.0.0-M5-jdk8-corretto`, `10.0.0-jdk8-corretto`, `10.0-jdk8-corretto`, `10-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/10.0/jdk8/corretto/Dockerfile) -- [`9.0.35-jdk14-openjdk-oracle`, `9.0-jdk14-openjdk-oracle`, `9-jdk14-openjdk-oracle`, `jdk14-openjdk-oracle`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk14/openjdk-oracle/Dockerfile) -- [`9.0.35-jdk14-openjdk-buster`, `9.0-jdk14-openjdk-buster`, `9-jdk14-openjdk-buster`, `jdk14-openjdk-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk14/openjdk-buster/Dockerfile) -- [`9.0.35-jdk14-openjdk-slim-buster`, `9.0-jdk14-openjdk-slim-buster`, `9-jdk14-openjdk-slim-buster`, `jdk14-openjdk-slim-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk14/openjdk-slim-buster/Dockerfile) -- [`9.0.35-jdk11-openjdk`, `9.0-jdk11-openjdk`, `9-jdk11-openjdk`, `jdk11-openjdk`, `9.0.35-jdk11`, `9.0-jdk11`, `9-jdk11`, `jdk11`, `9.0.35`, `9.0`, `9`, `latest`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk11/openjdk/Dockerfile) -- [`9.0.35-jdk11-openjdk-slim`, `9.0-jdk11-openjdk-slim`, `9-jdk11-openjdk-slim`, `jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk11/openjdk-slim/Dockerfile) -- [`9.0.35-jdk11-adoptopenjdk-hotspot`, `9.0-jdk11-adoptopenjdk-hotspot`, `9-jdk11-adoptopenjdk-hotspot`, `jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk11/adoptopenjdk-hotspot/Dockerfile) -- [`9.0.35-jdk11-adoptopenjdk-openj9`, `9.0-jdk11-adoptopenjdk-openj9`, `9-jdk11-adoptopenjdk-openj9`, `jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk11/adoptopenjdk-openj9/Dockerfile) -- [`9.0.35-jdk11-corretto`, `9.0-jdk11-corretto`, `9-jdk11-corretto`, `jdk11-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk11/corretto/Dockerfile) -- [`9.0.35-jdk8-openjdk`, `9.0-jdk8-openjdk`, `9-jdk8-openjdk`, `jdk8-openjdk`, `9.0.35-jdk8`, `9.0-jdk8`, `9-jdk8`, `jdk8`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk8/openjdk/Dockerfile) -- [`9.0.35-jdk8-openjdk-slim`, `9.0-jdk8-openjdk-slim`, `9-jdk8-openjdk-slim`, `jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk8/openjdk-slim/Dockerfile) -- [`9.0.35-jdk8-adoptopenjdk-hotspot`, `9.0-jdk8-adoptopenjdk-hotspot`, `9-jdk8-adoptopenjdk-hotspot`, `jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk8/adoptopenjdk-hotspot/Dockerfile) -- [`9.0.35-jdk8-adoptopenjdk-openj9`, `9.0-jdk8-adoptopenjdk-openj9`, `9-jdk8-adoptopenjdk-openj9`, `jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk8/adoptopenjdk-openj9/Dockerfile) -- [`9.0.35-jdk8-corretto`, `9.0-jdk8-corretto`, `9-jdk8-corretto`, `jdk8-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/9.0/jdk8/corretto/Dockerfile) -- [`8.5.55-jdk14-openjdk-oracle`, `8.5-jdk14-openjdk-oracle`, `8-jdk14-openjdk-oracle`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk14/openjdk-oracle/Dockerfile) -- [`8.5.55-jdk14-openjdk-buster`, `8.5-jdk14-openjdk-buster`, `8-jdk14-openjdk-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk14/openjdk-buster/Dockerfile) -- [`8.5.55-jdk14-openjdk-slim-buster`, `8.5-jdk14-openjdk-slim-buster`, `8-jdk14-openjdk-slim-buster`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk14/openjdk-slim-buster/Dockerfile) -- [`8.5.55-jdk11-openjdk`, `8.5-jdk11-openjdk`, `8-jdk11-openjdk`, `8.5.55-jdk11`, `8.5-jdk11`, `8-jdk11`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk11/openjdk/Dockerfile) -- [`8.5.55-jdk11-openjdk-slim`, `8.5-jdk11-openjdk-slim`, `8-jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk11/openjdk-slim/Dockerfile) -- [`8.5.55-jdk11-adoptopenjdk-hotspot`, `8.5-jdk11-adoptopenjdk-hotspot`, `8-jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk11/adoptopenjdk-hotspot/Dockerfile) -- [`8.5.55-jdk11-adoptopenjdk-openj9`, `8.5-jdk11-adoptopenjdk-openj9`, `8-jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk11/adoptopenjdk-openj9/Dockerfile) -- [`8.5.55-jdk11-corretto`, `8.5-jdk11-corretto`, `8-jdk11-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk11/corretto/Dockerfile) -- [`8.5.55-jdk8-openjdk`, `8.5-jdk8-openjdk`, `8-jdk8-openjdk`, `8.5.55-jdk8`, `8.5-jdk8`, `8-jdk8`, `8.5.55`, `8.5`, `8`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/openjdk/Dockerfile) -- [`8.5.55-jdk8-openjdk-slim`, `8.5-jdk8-openjdk-slim`, `8-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/openjdk-slim/Dockerfile) -- [`8.5.55-jdk8-adoptopenjdk-hotspot`, `8.5-jdk8-adoptopenjdk-hotspot`, `8-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/adoptopenjdk-hotspot/Dockerfile) -- [`8.5.55-jdk8-adoptopenjdk-openj9`, `8.5-jdk8-adoptopenjdk-openj9`, `8-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/adoptopenjdk-openj9/Dockerfile) -- [`8.5.55-jdk8-corretto`, `8.5-jdk8-corretto`, `8-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/corretto/Dockerfile) -- [`7.0.104-jdk8-openjdk`, `7.0-jdk8-openjdk`, `7-jdk8-openjdk`, `7.0.104-jdk8`, `7.0-jdk8`, `7-jdk8`, `7.0.104`, `7.0`, `7`](https://github.com/docker-library/tomcat/blob/2dd8c13d1a3fdfe27e8fb246c667cad1c9bb1819/7/jdk8/openjdk/Dockerfile) -- [`7.0.104-jdk8-openjdk-slim`, `7.0-jdk8-openjdk-slim`, `7-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/2dd8c13d1a3fdfe27e8fb246c667cad1c9bb1819/7/jdk8/openjdk-slim/Dockerfile) -- [`7.0.104-jdk8-adoptopenjdk-hotspot`, `7.0-jdk8-adoptopenjdk-hotspot`, `7-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/2dd8c13d1a3fdfe27e8fb246c667cad1c9bb1819/7/jdk8/adoptopenjdk-hotspot/Dockerfile) -- [`7.0.104-jdk8-adoptopenjdk-openj9`, `7.0-jdk8-adoptopenjdk-openj9`, `7-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/2dd8c13d1a3fdfe27e8fb246c667cad1c9bb1819/7/jdk8/adoptopenjdk-openj9/Dockerfile) -- [`7.0.104-jdk8-corretto`, `7.0-jdk8-corretto`, `7-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/2dd8c13d1a3fdfe27e8fb246c667cad1c9bb1819/7/jdk8/corretto/Dockerfile) +- [`10.0.5-jdk16-openjdk-buster`, `10.0-jdk16-openjdk-buster`, `10-jdk16-openjdk-buster`, `10.0.5-jdk16-openjdk`, `10.0-jdk16-openjdk`, `10-jdk16-openjdk`, `10.0.5-jdk16`, `10.0-jdk16`, `10-jdk16`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk16/openjdk-buster/Dockerfile) +- [`10.0.5-jdk16-openjdk-slim-buster`, `10.0-jdk16-openjdk-slim-buster`, `10-jdk16-openjdk-slim-buster`, `10.0.5-jdk16-openjdk-slim`, `10.0-jdk16-openjdk-slim`, `10-jdk16-openjdk-slim`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk16/openjdk-slim-buster/Dockerfile) +- [`10.0.5-jdk16-corretto`, `10.0-jdk16-corretto`, `10-jdk16-corretto`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk16/corretto/Dockerfile) +- [`10.0.5-jdk11-openjdk-buster`, `10.0-jdk11-openjdk-buster`, `10-jdk11-openjdk-buster`, `10.0.5-jdk11-openjdk`, `10.0-jdk11-openjdk`, `10-jdk11-openjdk`, `10.0.5-jdk11`, `10.0-jdk11`, `10-jdk11`, `10.0.5`, `10.0`, `10`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk11/openjdk-buster/Dockerfile) +- [`10.0.5-jdk11-openjdk-slim-buster`, `10.0-jdk11-openjdk-slim-buster`, `10-jdk11-openjdk-slim-buster`, `10.0.5-jdk11-openjdk-slim`, `10.0-jdk11-openjdk-slim`, `10-jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk11/openjdk-slim-buster/Dockerfile) +- [`10.0.5-jdk11-adoptopenjdk-hotspot`, `10.0-jdk11-adoptopenjdk-hotspot`, `10-jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk11/adoptopenjdk-hotspot/Dockerfile) +- [`10.0.5-jdk11-adoptopenjdk-openj9`, `10.0-jdk11-adoptopenjdk-openj9`, `10-jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk11/adoptopenjdk-openj9/Dockerfile) +- [`10.0.5-jdk11-corretto`, `10.0-jdk11-corretto`, `10-jdk11-corretto`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk11/corretto/Dockerfile) +- [`10.0.5-jdk8-openjdk-buster`, `10.0-jdk8-openjdk-buster`, `10-jdk8-openjdk-buster`, `10.0.5-jdk8-openjdk`, `10.0-jdk8-openjdk`, `10-jdk8-openjdk`, `10.0.5-jdk8`, `10.0-jdk8`, `10-jdk8`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk8/openjdk-buster/Dockerfile) +- [`10.0.5-jdk8-openjdk-slim-buster`, `10.0-jdk8-openjdk-slim-buster`, `10-jdk8-openjdk-slim-buster`, `10.0.5-jdk8-openjdk-slim`, `10.0-jdk8-openjdk-slim`, `10-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk8/openjdk-slim-buster/Dockerfile) +- [`10.0.5-jdk8-adoptopenjdk-hotspot`, `10.0-jdk8-adoptopenjdk-hotspot`, `10-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk8/adoptopenjdk-hotspot/Dockerfile) +- [`10.0.5-jdk8-adoptopenjdk-openj9`, `10.0-jdk8-adoptopenjdk-openj9`, `10-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk8/adoptopenjdk-openj9/Dockerfile) +- [`10.0.5-jdk8-corretto`, `10.0-jdk8-corretto`, `10-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/dbe928e1d83e6ddef0d9a62a248acc3975fbda73/10.0/jdk8/corretto/Dockerfile) +- [`9.0.45-jdk16-openjdk-buster`, `9.0-jdk16-openjdk-buster`, `9-jdk16-openjdk-buster`, `jdk16-openjdk-buster`, `9.0.45-jdk16-openjdk`, `9.0-jdk16-openjdk`, `9-jdk16-openjdk`, `jdk16-openjdk`, `9.0.45-jdk16`, `9.0-jdk16`, `9-jdk16`, `jdk16`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk16/openjdk-buster/Dockerfile) +- [`9.0.45-jdk16-openjdk-slim-buster`, `9.0-jdk16-openjdk-slim-buster`, `9-jdk16-openjdk-slim-buster`, `jdk16-openjdk-slim-buster`, `9.0.45-jdk16-openjdk-slim`, `9.0-jdk16-openjdk-slim`, `9-jdk16-openjdk-slim`, `jdk16-openjdk-slim`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk16/openjdk-slim-buster/Dockerfile) +- [`9.0.45-jdk16-corretto`, `9.0-jdk16-corretto`, `9-jdk16-corretto`, `jdk16-corretto`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk16/corretto/Dockerfile) +- [`9.0.45-jdk11-openjdk-buster`, `9.0-jdk11-openjdk-buster`, `9-jdk11-openjdk-buster`, `jdk11-openjdk-buster`, `9.0.45-jdk11-openjdk`, `9.0-jdk11-openjdk`, `9-jdk11-openjdk`, `jdk11-openjdk`, `9.0.45-jdk11`, `9.0-jdk11`, `9-jdk11`, `jdk11`, `9.0.45`, `9.0`, `9`, `latest`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk11/openjdk-buster/Dockerfile) +- [`9.0.45-jdk11-openjdk-slim-buster`, `9.0-jdk11-openjdk-slim-buster`, `9-jdk11-openjdk-slim-buster`, `jdk11-openjdk-slim-buster`, `9.0.45-jdk11-openjdk-slim`, `9.0-jdk11-openjdk-slim`, `9-jdk11-openjdk-slim`, `jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk11/openjdk-slim-buster/Dockerfile) +- [`9.0.45-jdk11-adoptopenjdk-hotspot`, `9.0-jdk11-adoptopenjdk-hotspot`, `9-jdk11-adoptopenjdk-hotspot`, `jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk11/adoptopenjdk-hotspot/Dockerfile) +- [`9.0.45-jdk11-adoptopenjdk-openj9`, `9.0-jdk11-adoptopenjdk-openj9`, `9-jdk11-adoptopenjdk-openj9`, `jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk11/adoptopenjdk-openj9/Dockerfile) +- [`9.0.45-jdk11-corretto`, `9.0-jdk11-corretto`, `9-jdk11-corretto`, `jdk11-corretto`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk11/corretto/Dockerfile) +- [`9.0.45-jdk8-openjdk-buster`, `9.0-jdk8-openjdk-buster`, `9-jdk8-openjdk-buster`, `jdk8-openjdk-buster`, `9.0.45-jdk8-openjdk`, `9.0-jdk8-openjdk`, `9-jdk8-openjdk`, `jdk8-openjdk`, `9.0.45-jdk8`, `9.0-jdk8`, `9-jdk8`, `jdk8`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk8/openjdk-buster/Dockerfile) +- [`9.0.45-jdk8-openjdk-slim-buster`, `9.0-jdk8-openjdk-slim-buster`, `9-jdk8-openjdk-slim-buster`, `jdk8-openjdk-slim-buster`, `9.0.45-jdk8-openjdk-slim`, `9.0-jdk8-openjdk-slim`, `9-jdk8-openjdk-slim`, `jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk8/openjdk-slim-buster/Dockerfile) +- [`9.0.45-jdk8-adoptopenjdk-hotspot`, `9.0-jdk8-adoptopenjdk-hotspot`, `9-jdk8-adoptopenjdk-hotspot`, `jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk8/adoptopenjdk-hotspot/Dockerfile) +- [`9.0.45-jdk8-adoptopenjdk-openj9`, `9.0-jdk8-adoptopenjdk-openj9`, `9-jdk8-adoptopenjdk-openj9`, `jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk8/adoptopenjdk-openj9/Dockerfile) +- [`9.0.45-jdk8-corretto`, `9.0-jdk8-corretto`, `9-jdk8-corretto`, `jdk8-corretto`](https://github.com/docker-library/tomcat/blob/87385431141f861bab5404c51e2e03fd638ffc18/9.0/jdk8/corretto/Dockerfile) +- [`8.5.65-jdk16-openjdk-buster`, `8.5-jdk16-openjdk-buster`, `8-jdk16-openjdk-buster`, `8.5.65-jdk16-openjdk`, `8.5-jdk16-openjdk`, `8-jdk16-openjdk`, `8.5.65-jdk16`, `8.5-jdk16`, `8-jdk16`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk16/openjdk-buster/Dockerfile) +- [`8.5.65-jdk16-openjdk-slim-buster`, `8.5-jdk16-openjdk-slim-buster`, `8-jdk16-openjdk-slim-buster`, `8.5.65-jdk16-openjdk-slim`, `8.5-jdk16-openjdk-slim`, `8-jdk16-openjdk-slim`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk16/openjdk-slim-buster/Dockerfile) +- [`8.5.65-jdk16-corretto`, `8.5-jdk16-corretto`, `8-jdk16-corretto`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk16/corretto/Dockerfile) +- [`8.5.65-jdk11-openjdk-buster`, `8.5-jdk11-openjdk-buster`, `8-jdk11-openjdk-buster`, `8.5.65-jdk11-openjdk`, `8.5-jdk11-openjdk`, `8-jdk11-openjdk`, `8.5.65-jdk11`, `8.5-jdk11`, `8-jdk11`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk11/openjdk-buster/Dockerfile) +- [`8.5.65-jdk11-openjdk-slim-buster`, `8.5-jdk11-openjdk-slim-buster`, `8-jdk11-openjdk-slim-buster`, `8.5.65-jdk11-openjdk-slim`, `8.5-jdk11-openjdk-slim`, `8-jdk11-openjdk-slim`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk11/openjdk-slim-buster/Dockerfile) +- [`8.5.65-jdk11-adoptopenjdk-hotspot`, `8.5-jdk11-adoptopenjdk-hotspot`, `8-jdk11-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk11/adoptopenjdk-hotspot/Dockerfile) +- [`8.5.65-jdk11-adoptopenjdk-openj9`, `8.5-jdk11-adoptopenjdk-openj9`, `8-jdk11-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk11/adoptopenjdk-openj9/Dockerfile) +- [`8.5.65-jdk11-corretto`, `8.5-jdk11-corretto`, `8-jdk11-corretto`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk11/corretto/Dockerfile) +- [`8.5.65-jdk8-openjdk-buster`, `8.5-jdk8-openjdk-buster`, `8-jdk8-openjdk-buster`, `8.5.65-jdk8-openjdk`, `8.5-jdk8-openjdk`, `8-jdk8-openjdk`, `8.5.65-jdk8`, `8.5-jdk8`, `8-jdk8`, `8.5.65`, `8.5`, `8`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk8/openjdk-buster/Dockerfile) +- [`8.5.65-jdk8-openjdk-slim-buster`, `8.5-jdk8-openjdk-slim-buster`, `8-jdk8-openjdk-slim-buster`, `8.5.65-jdk8-openjdk-slim`, `8.5-jdk8-openjdk-slim`, `8-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk8/openjdk-slim-buster/Dockerfile) +- [`8.5.65-jdk8-adoptopenjdk-hotspot`, `8.5-jdk8-adoptopenjdk-hotspot`, `8-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk8/adoptopenjdk-hotspot/Dockerfile) +- [`8.5.65-jdk8-adoptopenjdk-openj9`, `8.5-jdk8-adoptopenjdk-openj9`, `8-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk8/adoptopenjdk-openj9/Dockerfile) +- [`8.5.65-jdk8-corretto`, `8.5-jdk8-corretto`, `8-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/4cbce3a165e997af7d1db3c68d705d1e9171fe00/8.5/jdk8/corretto/Dockerfile) +- [`7.0.109-jdk8-openjdk-buster`, `7.0-jdk8-openjdk-buster`, `7-jdk8-openjdk-buster`, `7.0.109-jdk8-openjdk`, `7.0-jdk8-openjdk`, `7-jdk8-openjdk`, `7.0.109-jdk8`, `7.0-jdk8`, `7-jdk8`, `7.0.109`, `7.0`, `7`](https://github.com/docker-library/tomcat/blob/17d96063cbe59d555cb383c87b20f8ba7084a0b5/7/jdk8/openjdk-buster/Dockerfile) +- [`7.0.109-jdk8-openjdk-slim-buster`, `7.0-jdk8-openjdk-slim-buster`, `7-jdk8-openjdk-slim-buster`, `7.0.109-jdk8-openjdk-slim`, `7.0-jdk8-openjdk-slim`, `7-jdk8-openjdk-slim`](https://github.com/docker-library/tomcat/blob/17d96063cbe59d555cb383c87b20f8ba7084a0b5/7/jdk8/openjdk-slim-buster/Dockerfile) +- [`7.0.109-jdk8-adoptopenjdk-hotspot`, `7.0-jdk8-adoptopenjdk-hotspot`, `7-jdk8-adoptopenjdk-hotspot`](https://github.com/docker-library/tomcat/blob/17d96063cbe59d555cb383c87b20f8ba7084a0b5/7/jdk8/adoptopenjdk-hotspot/Dockerfile) +- [`7.0.109-jdk8-adoptopenjdk-openj9`, `7.0-jdk8-adoptopenjdk-openj9`, `7-jdk8-adoptopenjdk-openj9`](https://github.com/docker-library/tomcat/blob/17d96063cbe59d555cb383c87b20f8ba7084a0b5/7/jdk8/adoptopenjdk-openj9/Dockerfile) +- [`7.0.109-jdk8-corretto`, `7.0-jdk8-corretto`, `7-jdk8-corretto`](https://github.com/docker-library/tomcat/blob/17d96063cbe59d555cb383c87b20f8ba7084a0b5/7/jdk8/corretto/Dockerfile) # Quick reference (cont.) @@ -82,7 +82,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/tomcat`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ftomcat) + [official-images repo's `library/tomcat` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ftomcat) [official-images repo's `library/tomcat` file](https://github.com/docker-library/official-images/blob/master/library/tomcat) ([history](https://github.com/docker-library/official-images/commits/master/library/tomcat)) - **Source of this description**: diff --git a/tomee/README.md b/tomee/README.md index 37092eef0d96..35a994647c6c 100644 --- a/tomee/README.md +++ b/tomee/README.md @@ -20,25 +20,25 @@ WARNING: [the Docker Community](https://github.com/tomitribe/docker-tomee) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`8-jre-7.0.7-plume`, `7.0.7-plume`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.0/jre8/plume/Dockerfile) -- [`8-jre-7.0.7-plus`, `7.0.7-plus`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.0/jre8/plus/Dockerfile) -- [`8-jre-7.0.7-webprofile`, `7.0`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.0/jre8/webprofile/Dockerfile) -- [`8-jre-7.1.2-plume`, `7.1.2-plume`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.1/jre8/plume/Dockerfile) -- [`8-jre-7.1.2-plus`, `7.1.2-plus`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.1/jre8/plus/Dockerfile) -- [`8-jre-7.1.2-microprofile`, `7.1.2-microprofile`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.1/jre8/microprofile/Dockerfile) -- [`8-jre-7.1.2-webprofile`, `7.1.2-webprofile`, `7`, `7.1`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-7.1/jre8/webprofile/Dockerfile) -- [`8-jre-8.0.1-plume`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre8/plume/Dockerfile) -- [`8-jre-8.0.1-plus`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre8/plus/Dockerfile) -- [`8-jre-8.0.1-microprofile`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre8/microprofile/Dockerfile) -- [`8-jre-8.0.1-webprofile`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre8/webprofile/Dockerfile) -- [`11-jre-8.0.1-plume`, `8.0.1-plume`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre11/plume/Dockerfile) -- [`11-jre-8.0.1-plus`, `8.0.1-plus`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre11/plus/Dockerfile) -- [`11-jre-8.0.1-microprofile`, `8.0.1-microprofile`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre11/microprofile/Dockerfile) -- [`11-jre-8.0.1-webprofile`, `8.0.1-webprofile`, `latest`, `8`](https://github.com/tomitribe/docker-tomee/blob/c7642e963c08920560906159e126ea22b9ada61d/TomEE-8.0/jre11/webprofile/Dockerfile) +- [`8-jre-7.0.9-plume`, `7.0.9-plume`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.0/jre8/plume/Dockerfile) +- [`8-jre-7.0.9-plus`, `7.0.9-plus`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.0/jre8/plus/Dockerfile) +- [`8-jre-7.0.9-webprofile`, `7.0`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.0/jre8/webprofile/Dockerfile) +- [`8-jre-7.1.4-plume`, `7.1.4-plume`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.1/jre8/plume/Dockerfile) +- [`8-jre-7.1.4-plus`, `7.1.4-plus`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.1/jre8/plus/Dockerfile) +- [`8-jre-7.1.4-microprofile`, `7.1.4-microprofile`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.1/jre8/microprofile/Dockerfile) +- [`8-jre-7.1.4-webprofile`, `7.1.4-webprofile`, `7`, `7.1`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-7.1/jre8/webprofile/Dockerfile) +- [`8-jre-8.0.6-plume`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre8/plume/Dockerfile) +- [`8-jre-8.0.6-plus`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre8/plus/Dockerfile) +- [`8-jre-8.0.6-microprofile`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre8/microprofile/Dockerfile) +- [`8-jre-8.0.6-webprofile`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre8/webprofile/Dockerfile) +- [`11-jre-8.0.6-plume`, `8.0.6-plume`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre11/plume/Dockerfile) +- [`11-jre-8.0.6-plus`, `8.0.6-plus`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre11/plus/Dockerfile) +- [`11-jre-8.0.6-microprofile`, `8.0.6-microprofile`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre11/microprofile/Dockerfile) +- [`11-jre-8.0.6-webprofile`, `8.0.6-webprofile`, `latest`, `8`](https://github.com/tomitribe/docker-tomee/blob/e14a033bd167917f5fe7cff8909022489996aed3/TomEE-8.0/jre11/webprofile/Dockerfile) # Quick reference (cont.) @@ -53,7 +53,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/tomee`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ftomee) + [official-images repo's `library/tomee` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ftomee) [official-images repo's `library/tomee` file](https://github.com/docker-library/official-images/blob/master/library/tomee) ([history](https://github.com/docker-library/official-images/commits/master/library/tomee)) - **Source of this description**: diff --git a/traefik/README.md b/traefik/README.md index c3cecc1001bf..d3043171c6a3 100644 --- a/traefik/README.md +++ b/traefik/README.md @@ -20,15 +20,15 @@ WARNING: [the Traefik Project](https://github.com/containous/traefik-library-image) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`v2.2.1-windowsservercore-1809`, `2.2.1-windowsservercore-1809`, `v2.2-windowsservercore-1809`, `2.2-windowsservercore-1809`, `chevrotin-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/containous/traefik-library-image/blob/4aa0b86550fec343ad25e330624c887ad48e5e08/windows/1809/Dockerfile) -- [`v2.2.1`, `2.2.1`, `v2.2`, `2.2`, `chevrotin`, `latest`](https://github.com/containous/traefik-library-image/blob/4aa0b86550fec343ad25e330624c887ad48e5e08/alpine/Dockerfile) -- [`v1.7.24-windowsservercore-1809`, `1.7.24-windowsservercore-1809`, `v1.7-windowsservercore-1809`, `1.7-windowsservercore-1809`, `maroilles-windowsservercore-1809`](https://github.com/containous/traefik-library-image/blob/7b90db1b9b495c897bb92a8d3de4f98957fd460d/windows/1809/Dockerfile) -- [`v1.7.24-alpine`, `1.7.24-alpine`, `v1.7-alpine`, `1.7-alpine`, `maroilles-alpine`](https://github.com/containous/traefik-library-image/blob/7b90db1b9b495c897bb92a8d3de4f98957fd460d/alpine/Dockerfile) -- [`v1.7.24`, `1.7.24`, `v1.7`, `1.7`, `maroilles`](https://github.com/containous/traefik-library-image/blob/7b90db1b9b495c897bb92a8d3de4f98957fd460d/scratch/Dockerfile) +- [`v2.4.8-windowsservercore-1809`, `2.4.8-windowsservercore-1809`, `v2.4-windowsservercore-1809`, `2.4-windowsservercore-1809`, `livarot-windowsservercore-1809`, `windowsservercore-1809`](https://github.com/traefik/traefik-library-image/blob/c704f6f1db80e36ed01040d5da27d753f2a03ad1/windows/1809/Dockerfile) +- [`v2.4.8`, `2.4.8`, `v2.4`, `2.4`, `livarot`, `latest`](https://github.com/traefik/traefik-library-image/blob/c704f6f1db80e36ed01040d5da27d753f2a03ad1/alpine/Dockerfile) +- [`v1.7.30-windowsservercore-1809`, `1.7.30-windowsservercore-1809`, `v1.7-windowsservercore-1809`, `1.7-windowsservercore-1809`, `maroilles-windowsservercore-1809`](https://github.com/traefik/traefik-library-image/blob/7d554807d47ad41f0cc622b107504cb338fed7c5/windows/1809/Dockerfile) +- [`v1.7.30-alpine`, `1.7.30-alpine`, `v1.7-alpine`, `1.7-alpine`, `maroilles-alpine`](https://github.com/traefik/traefik-library-image/blob/7d554807d47ad41f0cc622b107504cb338fed7c5/alpine/Dockerfile) +- [`v1.7.30`, `1.7.30`, `v1.7`, `1.7`, `maroilles`](https://github.com/traefik/traefik-library-image/blob/7d554807d47ad41f0cc622b107504cb338fed7c5/scratch/Dockerfile) # Quick reference (cont.) @@ -43,7 +43,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/traefik`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Ftraefik) + [official-images repo's `library/traefik` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ftraefik) [official-images repo's `library/traefik` file](https://github.com/docker-library/official-images/blob/master/library/traefik) ([history](https://github.com/docker-library/official-images/commits/master/library/traefik)) - **Source of this description**: diff --git a/ubuntu/README.md b/ubuntu/README.md index 93518a3726aa..ff09af52b626 100644 --- a/ubuntu/README.md +++ b/ubuntu/README.md @@ -20,16 +20,16 @@ WARNING: [Canonical](https://partner-images.canonical.com/core/) and [Tianon (Debian Developer)](https://github.com/tianon/docker-brew-ubuntu-core) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`18.04`, `bionic-20200403`, `bionic`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/bionic/Dockerfile) -- [`19.10`, `eoan-20200410`, `eoan`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/eoan/Dockerfile) -- [`20.04`, `focal-20200423`, `focal`, `latest`, `rolling`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/focal/Dockerfile) -- [`20.10`, `groovy-20200505`, `groovy`, `devel`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/groovy/Dockerfile) -- [`14.04`, `trusty-20191217`, `trusty`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/trusty/Dockerfile) -- [`16.04`, `xenial-20200326`, `xenial`](https://github.com/tianon/docker-brew-ubuntu-core/blob/451851eab04432157249eb444d5a42714e2a7112/xenial/Dockerfile) +- [`18.04`, `bionic-20210416`, `bionic`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/bionic/Dockerfile) +- [`20.04`, `focal-20210416`, `focal`, `latest`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/focal/Dockerfile) +- [`20.10`, `groovy-20210416`, `groovy`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/groovy/Dockerfile) +- [`21.04`, `hirsute-20210422`, `hirsute`, `rolling`, `devel`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/hirsute/Dockerfile) +- [`14.04`, `trusty-20191217`, `trusty`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/trusty/Dockerfile) +- [`16.04`, `xenial-20210416`, `xenial`](https://github.com/tianon/docker-brew-ubuntu-core/blob/4b7cb6f04bc4054f9ab1fa42b549caa1a41b7c92/xenial/Dockerfile) # Quick reference (cont.) @@ -44,7 +44,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/ubuntu`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fubuntu) + [official-images repo's `library/ubuntu` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fubuntu) [official-images repo's `library/ubuntu` file](https://github.com/docker-library/official-images/blob/master/library/ubuntu) ([history](https://github.com/docker-library/official-images/commits/master/library/ubuntu)) - **Source of this description**: diff --git a/varnish/README.md b/varnish/README.md index 07800daac494..9bae412ef6d6 100644 --- a/varnish/README.md +++ b/varnish/README.md @@ -20,12 +20,12 @@ WARNING: [the Varnish Docker Community](https://github.com/varnish/docker-varnish) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`6.0`, `6.0.6-1`, `6.0.6`, `stable`](https://github.com/varnish/docker-varnish/blob/d32d16eb38cd161f0e626880cbd334da7d301027/stable/debian/Dockerfile) -- [`6.4`, `6.4.0-1`, `6.4.0`, `6`, `latest`, `fresh`](https://github.com/varnish/docker-varnish/blob/d32d16eb38cd161f0e626880cbd334da7d301027/fresh/debian/Dockerfile) +- [`6.0`, `6.0.7-1`, `6.0.7`, `stable`](https://github.com/varnish/docker-varnish/blob/51a66e74c3a56e4def767d3ad3f6c8ad1a4addaa/stable/debian/Dockerfile) +- [`6.6`, `6.6.0-1`, `6.6.0`, `6`, `latest`, `fresh`](https://github.com/varnish/docker-varnish/blob/51a66e74c3a56e4def767d3ad3f6c8ad1a4addaa/fresh/debian/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/varnish`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fvarnish) + [official-images repo's `library/varnish` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fvarnish) [official-images repo's `library/varnish` file](https://github.com/docker-library/official-images/blob/master/library/varnish) ([history](https://github.com/docker-library/official-images/commits/master/library/varnish)) - **Source of this description**: @@ -71,13 +71,15 @@ backend default { Then run: ```console -$ docker run --name my-running-varnish -v /path/to/default.vcl:/etc/varnish/default.vcl:ro --tmpfs /var/lib/varnish:exec -d varnish +# we need both a configuration file at /etc/varnish/default.vcl +# and our workdir to be mounted as tmpfs to avoid disk I/O +$ docker run -v /path/to/default.vcl:/etc/varnish/default.vcl:ro --tmpfs /var/lib/varnish:exec varnish ``` Alternatively, a simple `Dockerfile` can be used to generate a new image that includes the necessary `default.vcl` (which is a much cleaner solution than the bind mount above): ```dockerfile -FROM varnish:6.2 +FROM varnish COPY default.vcl /etc/varnish/ ``` @@ -85,7 +87,35 @@ COPY default.vcl /etc/varnish/ Place this file in the same directory as your `default.vcl`, run `docker build -t my-varnish .`, then start your container: ```console -$ docker run --name my-running-varnish --tmpfs /var/lib/varnish:exec -d my-varnish +$ docker --tmpfs /var/lib/varnish:exec my-varnish +``` + +### Additional configuration + +By default, the containers will use a cache size of 100MB, which is usually a bit too small, but you can quickly set it through the `VARNISH_SIZE` environment variable: + +```console +$ docker run --tmpfs /var/lib/varnish:exec -e VARNISH_SIZE=2G varnish +``` + +Additionally, you can add arguments to `docker run` affter `varnish`, if the first one starts with a `-`, they will be appendend to the [default command](https://github.com/varnish/docker-varnish/blob/master/docker-varnish-entrypoint#L8): + +```console +# extend the default keep period +$ docker run --tmpfs /var/lib/varnish:exec -e VARNISH_SIZE=2G varnish -p default_keep=300 +``` + +If your first argument after `varnish` doesn't start with `-`, it will be interpreted as a command to override the default one: + +```console +# show the command-line options +$ docker run varnish varnishd -? + +# list parameters usable with -p +$ docker run varnish varnishd -x parameter + +# run the server with your own parameters (don't forget -F to not daemonize) +$ docker run varnish varnishd -a :8080 -b 127.0.0.1:8181 -t 600 -p feature=+http2 ``` ### Exposing the port diff --git a/varnish/content.md b/varnish/content.md index 2b389fce230a..7658114714a9 100644 --- a/varnish/content.md +++ b/varnish/content.md @@ -23,13 +23,15 @@ backend default { Then run: ```console -$ docker run --name my-running-varnish -v /path/to/default.vcl:/etc/varnish/default.vcl:ro --tmpfs /var/lib/varnish:exec -d %%IMAGE%% +# we need both a configuration file at /etc/varnish/default.vcl +# and our workdir to be mounted as tmpfs to avoid disk I/O +$ docker run -v /path/to/default.vcl:/etc/varnish/default.vcl:ro --tmpfs /var/lib/varnish:exec %%IMAGE%% ``` Alternatively, a simple `Dockerfile` can be used to generate a new image that includes the necessary `default.vcl` (which is a much cleaner solution than the bind mount above): ```dockerfile -FROM %%IMAGE%%:6.2 +FROM %%IMAGE%% COPY default.vcl /etc/varnish/ ``` @@ -37,7 +39,35 @@ COPY default.vcl /etc/varnish/ Place this file in the same directory as your `default.vcl`, run `docker build -t my-varnish .`, then start your container: ```console -$ docker run --name my-running-varnish --tmpfs /var/lib/varnish:exec -d my-varnish +$ docker --tmpfs /var/lib/varnish:exec my-varnish +``` + +### Additional configuration + +By default, the containers will use a cache size of 100MB, which is usually a bit too small, but you can quickly set it through the `VARNISH_SIZE` environment variable: + +```console +$ docker run --tmpfs /var/lib/varnish:exec -e VARNISH_SIZE=2G %%IMAGE%% +``` + +Additionally, you can add arguments to `docker run` affter `%%IMAGE%%`, if the first one starts with a `-`, they will be appendend to the [default command](https://github.com/varnish/docker-varnish/blob/master/docker-varnish-entrypoint#L8): + +```console +# extend the default keep period +$ docker run --tmpfs /var/lib/varnish:exec -e VARNISH_SIZE=2G %%IMAGE%% -p default_keep=300 +``` + +If your first argument after `%%IMAGE%%` doesn't start with `-`, it will be interpreted as a command to override the default one: + +```console +# show the command-line options +$ docker run %%IMAGE%% varnishd -? + +# list parameters usable with -p +$ docker run %%IMAGE%% varnishd -x parameter + +# run the server with your own parameters (don't forget -F to not daemonize) +$ docker run %%IMAGE%% varnishd -a :8080 -b 127.0.0.1:8181 -t 600 -p feature=+http2 ``` ### Exposing the port diff --git a/vault/README.md b/vault/README.md index a3e9dfaaeed7..6967a50a4ddc 100644 --- a/vault/README.md +++ b/vault/README.md @@ -20,12 +20,13 @@ WARNING: [HashiCorp](https://github.com/hashicorp/docker-vault) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.4.2`, `latest`](https://github.com/hashicorp/docker-vault/blob/f5a7567208f4e163185b60089bc9cfe0cf15956f/0.X/Dockerfile) -- [`1.3.6`](https://github.com/hashicorp/docker-vault/blob/45c8650877258b7038c17f3acc1b01462c732d43/0.X/Dockerfile) +- [`1.7.1`, `latest`](https://github.com/hashicorp/docker-vault/blob/14d893cb83118fd3642e9e516f682c5e0e0a2c30/0.X/Dockerfile) +- [`1.6.4`](https://github.com/hashicorp/docker-vault/blob/88aeb655ea14e74bb9d9ae7e583f86c3e0d9a29f/0.X/Dockerfile) +- [`1.5.8`](https://github.com/hashicorp/docker-vault/blob/1c4258acc24265a26b0581929954ec112230fb8d/0.X/Dockerfile) # Quick reference (cont.) @@ -40,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/vault`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fvault) + [official-images repo's `library/vault` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fvault) [official-images repo's `library/vault` file](https://github.com/docker-library/official-images/blob/master/library/vault) ([history](https://github.com/docker-library/official-images/commits/master/library/vault)) - **Source of this description**: diff --git a/websphere-liberty/README-short.txt b/websphere-liberty/README-short.txt index 95d740bbea44..e5e2c189ce77 100644 --- a/websphere-liberty/README-short.txt +++ b/websphere-liberty/README-short.txt @@ -1 +1 @@ -Official IBM WebSphere Application Server for Developers Liberty image. +WebSphere Liberty multi-architecture images based on Ubuntu 18.04 diff --git a/websphere-liberty/README.md b/websphere-liberty/README.md index 71fbc94bd367..414066e5441f 100644 --- a/websphere-liberty/README.md +++ b/websphere-liberty/README.md @@ -24,15 +24,22 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`beta`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/beta/Dockerfile) -- [`kernel`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8) -- [`full`, `latest`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/latest/full/Dockerfile.ubuntu.ibmjava8) -- [`20.0.0.5-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/20.0.0.5/kernel/Dockerfile.ubuntu.ibmjava8) -- [`20.0.0.5-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/20.0.0.5/full/Dockerfile.ubuntu.ibmjava8) -- [`20.0.0.3-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/20.0.0.3/kernel/Dockerfile.ubuntu.ibmjava8) -- [`20.0.0.3-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/20.0.0.3/full/Dockerfile.ubuntu.ibmjava8) -- [`19.0.0.12-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/19.0.0.12/kernel/Dockerfile.ubuntu.ibmjava8) -- [`19.0.0.12-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/c89d127a536ed68bbf8d3d5ad92da443fb1a87d0/ga/19.0.0.12/full/Dockerfile.ubuntu.ibmjava8) +- [`kernel`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/latest/kernel/Dockerfile.ubuntu.ibmjava8) +- [`kernel-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/latest/kernel/Dockerfile.ubuntu.adoptopenjdk11) +- [`full`, `latest`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/latest/full/Dockerfile.ubuntu.ibmjava8) +- [`full-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/latest/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.4-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.4/kernel/Dockerfile.ubuntu.ibmjava8) +- [`21.0.0.4-kernel-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.4/kernel/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.4-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.4/full/Dockerfile.ubuntu.ibmjava8) +- [`21.0.0.4-full-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.4/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.3-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.3/kernel/Dockerfile.ubuntu.ibmjava8) +- [`21.0.0.3-kernel-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.3/kernel/Dockerfile.ubuntu.adoptopenjdk11) +- [`21.0.0.3-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.3/full/Dockerfile.ubuntu.ibmjava8) +- [`21.0.0.3-full-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/21.0.0.3/full/Dockerfile.ubuntu.adoptopenjdk11) +- [`20.0.0.12-kernel-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/20.0.0.12/kernel/Dockerfile.ubuntu.ibmjava8) +- [`20.0.0.12-kernel-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/20.0.0.12/kernel/Dockerfile.ubuntu.adoptopenjdk11) +- [`20.0.0.12-full-java8-ibmjava`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/20.0.0.12/full/Dockerfile.ubuntu.ibmjava8) +- [`20.0.0.12-full-java11-openj9`](https://github.com/WASdev/ci.docker/blob/498fd2562d74c98227db511bd7920c2406b4d921/ga/20.0.0.12/full/Dockerfile.ubuntu.adoptopenjdk11) # Quick reference (cont.) @@ -47,7 +54,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/websphere-liberty`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fwebsphere-liberty) + [official-images repo's `library/websphere-liberty` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fwebsphere-liberty) [official-images repo's `library/websphere-liberty` file](https://github.com/docker-library/official-images/blob/master/library/websphere-liberty) ([history](https://github.com/docker-library/official-images/commits/master/library/websphere-liberty)) - **Source of this description**: @@ -55,9 +62,9 @@ WARNING: # Overview -The images in this repository contain WebSphere Liberty application server and the IBM Java Runtime Environment. For more information please see our [official repository](https://github.com/WASdev/ci.docker). +All of the images in this repository use Ubuntu as the Operating System. For variants that use the Universal Base Image, please see [this repository](https://hub.docker.com/r/ibmcom/websphere-liberty/). -This repository contains WebSphere Liberty based on top of IBM Java 8 with Ubuntu images only. See [here](https://hub.docker.com/r/ibmcom/websphere-liberty/) for WebSphere Liberty based on Red Hat's Universal Base Image, which includes additional java options. +For more information on these images please see our [GitHub repository](https://github.com/WASdev/ci.docker#container-images). # Image User @@ -187,13 +194,15 @@ To elaborate these capabilities this section assumes the standalone Spring Boot FROM websphere-liberty:kernel as staging COPY --chown=1001:0 hellospringboot.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ - RUN configure.sh && springBootUtility thin \ + RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM websphere-liberty:kernel + COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar + RUN configure.sh ``` For Spring Boot applications packaged with library dependencies that rarely change across continuous application updates, you can use the capabilities mentioned above to to share library caches across containers and to create even more efficient docker layers that leverage the docker build cache. diff --git a/websphere-liberty/content.md b/websphere-liberty/content.md index 53e445b93479..594967161d40 100644 --- a/websphere-liberty/content.md +++ b/websphere-liberty/content.md @@ -1,8 +1,8 @@ # Overview -The images in this repository contain WebSphere Liberty application server and the IBM Java Runtime Environment. For more information please see our [official repository](https://github.com/WASdev/ci.docker). +All of the images in this repository use Ubuntu as the Operating System. For variants that use the Universal Base Image, please see [this repository](https://hub.docker.com/r/ibmcom/websphere-liberty/). -This repository contains WebSphere Liberty based on top of IBM Java 8 with Ubuntu images only. See [here](https://hub.docker.com/r/ibmcom/websphere-liberty/) for WebSphere Liberty based on Red Hat's Universal Base Image, which includes additional java options. +For more information on these images please see our [GitHub repository](https://github.com/WASdev/ci.docker#container-images). # Image User @@ -132,13 +132,15 @@ To elaborate these capabilities this section assumes the standalone Spring Boot FROM %%IMAGE%%:kernel as staging COPY --chown=1001:0 hellospringboot.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ - RUN configure.sh && springBootUtility thin \ + RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM %%IMAGE%%:kernel + COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar + RUN configure.sh ``` For Spring Boot applications packaged with library dependencies that rarely change across continuous application updates, you can use the capabilities mentioned above to to share library caches across containers and to create even more efficient docker layers that leverage the docker build cache. diff --git a/wordpress/README.md b/wordpress/README.md index b05f57e76af1..7ca0f6460f99 100644 --- a/wordpress/README.md +++ b/wordpress/README.md @@ -20,22 +20,22 @@ WARNING: [the Docker Community](https://github.com/docker-library/wordpress) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`5.4.1-php7.2-apache`, `5.4-php7.2-apache`, `5-php7.2-apache`, `php7.2-apache`, `5.4.1-php7.2`, `5.4-php7.2`, `5-php7.2`, `php7.2`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.2/apache/Dockerfile) -- [`5.4.1-php7.2-fpm`, `5.4-php7.2-fpm`, `5-php7.2-fpm`, `php7.2-fpm`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.2/fpm/Dockerfile) -- [`5.4.1-php7.2-fpm-alpine`, `5.4-php7.2-fpm-alpine`, `5-php7.2-fpm-alpine`, `php7.2-fpm-alpine`](https://github.com/docker-library/wordpress/blob/835fae921ebfbdf5b50949c8efe971bc94a05fa0/php7.2/fpm-alpine/Dockerfile) -- [`5.4.1-apache`, `5.4-apache`, `5-apache`, `apache`, `5.4.1`, `5.4`, `5`, `latest`, `5.4.1-php7.3-apache`, `5.4-php7.3-apache`, `5-php7.3-apache`, `php7.3-apache`, `5.4.1-php7.3`, `5.4-php7.3`, `5-php7.3`, `php7.3`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.3/apache/Dockerfile) -- [`5.4.1-fpm`, `5.4-fpm`, `5-fpm`, `fpm`, `5.4.1-php7.3-fpm`, `5.4-php7.3-fpm`, `5-php7.3-fpm`, `php7.3-fpm`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.3/fpm/Dockerfile) -- [`5.4.1-fpm-alpine`, `5.4-fpm-alpine`, `5-fpm-alpine`, `fpm-alpine`, `5.4.1-php7.3-fpm-alpine`, `5.4-php7.3-fpm-alpine`, `5-php7.3-fpm-alpine`, `php7.3-fpm-alpine`](https://github.com/docker-library/wordpress/blob/835fae921ebfbdf5b50949c8efe971bc94a05fa0/php7.3/fpm-alpine/Dockerfile) -- [`5.4.1-php7.4-apache`, `5.4-php7.4-apache`, `5-php7.4-apache`, `php7.4-apache`, `5.4.1-php7.4`, `5.4-php7.4`, `5-php7.4`, `php7.4`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.4/apache/Dockerfile) -- [`5.4.1-php7.4-fpm`, `5.4-php7.4-fpm`, `5-php7.4-fpm`, `php7.4-fpm`](https://github.com/docker-library/wordpress/blob/8215003254de4bf0a8ddd717c3c393e778b872ce/php7.4/fpm/Dockerfile) -- [`5.4.1-php7.4-fpm-alpine`, `5.4-php7.4-fpm-alpine`, `5-php7.4-fpm-alpine`, `php7.4-fpm-alpine`](https://github.com/docker-library/wordpress/blob/835fae921ebfbdf5b50949c8efe971bc94a05fa0/php7.4/fpm-alpine/Dockerfile) -- [`cli-2.4.0-php7.2`, `cli-2.4-php7.2`, `cli-2-php7.2`, `cli-php7.2`](https://github.com/docker-library/wordpress/blob/c63f536e5d24b474c93e6c4b8deeacf95a89eb64/php7.2/cli/Dockerfile) -- [`cli-2.4.0`, `cli-2.4`, `cli-2`, `cli`, `cli-2.4.0-php7.3`, `cli-2.4-php7.3`, `cli-2-php7.3`, `cli-php7.3`](https://github.com/docker-library/wordpress/blob/c63f536e5d24b474c93e6c4b8deeacf95a89eb64/php7.3/cli/Dockerfile) -- [`cli-2.4.0-php7.4`, `cli-2.4-php7.4`, `cli-2-php7.4`, `cli-php7.4`](https://github.com/docker-library/wordpress/blob/c63f536e5d24b474c93e6c4b8deeacf95a89eb64/php7.4/cli/Dockerfile) +- [`5.7.1-apache`, `5.7-apache`, `5-apache`, `apache`, `5.7.1`, `5.7`, `5`, `latest`, `5.7.1-php7.4-apache`, `5.7-php7.4-apache`, `5-php7.4-apache`, `php7.4-apache`, `5.7.1-php7.4`, `5.7-php7.4`, `5-php7.4`, `php7.4`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.4/apache/Dockerfile) +- [`5.7.1-fpm`, `5.7-fpm`, `5-fpm`, `fpm`, `5.7.1-php7.4-fpm`, `5.7-php7.4-fpm`, `5-php7.4-fpm`, `php7.4-fpm`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.4/fpm/Dockerfile) +- [`5.7.1-fpm-alpine`, `5.7-fpm-alpine`, `5-fpm-alpine`, `fpm-alpine`, `5.7.1-php7.4-fpm-alpine`, `5.7-php7.4-fpm-alpine`, `5-php7.4-fpm-alpine`, `php7.4-fpm-alpine`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.4/fpm-alpine/Dockerfile) +- [`5.7.1-php7.3-apache`, `5.7-php7.3-apache`, `5-php7.3-apache`, `php7.3-apache`, `5.7.1-php7.3`, `5.7-php7.3`, `5-php7.3`, `php7.3`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.3/apache/Dockerfile) +- [`5.7.1-php7.3-fpm`, `5.7-php7.3-fpm`, `5-php7.3-fpm`, `php7.3-fpm`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.3/fpm/Dockerfile) +- [`5.7.1-php7.3-fpm-alpine`, `5.7-php7.3-fpm-alpine`, `5-php7.3-fpm-alpine`, `php7.3-fpm-alpine`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php7.3/fpm-alpine/Dockerfile) +- [`5.7.1-php8.0-apache`, `5.7-php8.0-apache`, `5-php8.0-apache`, `php8.0-apache`, `5.7.1-php8.0`, `5.7-php8.0`, `5-php8.0`, `php8.0`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php8.0/apache/Dockerfile) +- [`5.7.1-php8.0-fpm`, `5.7-php8.0-fpm`, `5-php8.0-fpm`, `php8.0-fpm`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php8.0/fpm/Dockerfile) +- [`5.7.1-php8.0-fpm-alpine`, `5.7-php8.0-fpm-alpine`, `5-php8.0-fpm-alpine`, `php8.0-fpm-alpine`](https://github.com/docker-library/wordpress/blob/394c79eafd5b345514f87cec590577e641c030ef/latest/php8.0/fpm-alpine/Dockerfile) +- [`cli-2.4.0`, `cli-2.4`, `cli-2`, `cli`, `cli-2.4.0-php7.4`, `cli-2.4-php7.4`, `cli-2-php7.4`, `cli-php7.4`](https://github.com/docker-library/wordpress/blob/6e068a27fd0f3885c04af0f0c40347bc34bbf569/cli/php7.4/alpine/Dockerfile) +- [`cli-2.4.0-php7.3`, `cli-2.4-php7.3`, `cli-2-php7.3`, `cli-php7.3`](https://github.com/docker-library/wordpress/blob/6e068a27fd0f3885c04af0f0c40347bc34bbf569/cli/php7.3/alpine/Dockerfile) +- [`cli-2.4.0-php8.0`, `cli-2.4-php8.0`, `cli-2-php8.0`, `cli-php8.0`](https://github.com/docker-library/wordpress/blob/ee3c59f90e29e2cf0087053a1d016c8186cab6ab/cli/php8.0/alpine/Dockerfile) # Quick reference (cont.) @@ -50,7 +50,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/wordpress`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fwordpress) + [official-images repo's `library/wordpress` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fwordpress) [official-images repo's `library/wordpress` file](https://github.com/docker-library/official-images/blob/master/library/wordpress) ([history](https://github.com/docker-library/official-images/commits/master/library/wordpress)) - **Source of this description**: @@ -81,7 +81,7 @@ The following environment variables are also honored for configuring your WordPr - `-e WORDPRESS_DEBUG=1` (defaults to disabled, non-empty value will enable `WP_DEBUG` in `wp-config.php`) - `-e WORDPRESS_CONFIG_EXTRA=...` (defaults to nothing, non-empty value will be embedded verbatim inside `wp-config.php` -- especially useful for applying extra configuration values this image does not provide by default such as `WP_ALLOW_MULTISITE`; see [docker-library/wordpress#142](https://github.com/docker-library/wordpress/pull/142) for more details) -If the `WORDPRESS_DB_NAME` specified does not already exist on the given MySQL server, it will be created automatically upon startup of the `wordpress` container, provided that the `WORDPRESS_DB_USER` specified has the necessary permissions to create it. +The `WORDPRESS_DB_NAME` needs to already exist on the given MySQL server; it will not be created by the `wordpress` container. If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used: @@ -177,6 +177,12 @@ See [the "Running as an arbitrary user" section of the `php` image documentation When running WP-CLI via the `cli` variants of this image, it is important to note that they're based on Alpine, and have a default `USER` of Alpine's `www-data`, whose UID is `82` (compared to the Debian-based WordPress variants whose default effective UID is `33`), so when running `wordpress:cli` against an existing Debian-based WordPress install, something like `--user 33:33` is likely going to be necessary (possibly also something like `-e HOME=/tmp` depending on the `wp` command invoked and whether it tries to use `~/.wp-cli`). See [docker-library/wordpress#256](https://github.com/docker-library/wordpress/issues/256) for more discussion around this. +## Configuring PHP directives + +See [the "Configuration" section of the `php` image documentation](https://hub.docker.com/_/php/). + +For example, to adjust common `php.ini` flags like `upload_max_filesize`, you could create a `custom.ini` with the desired parameters and place it in the `$PHP_INI_DIR/conf.d/` directory. + # Image Variants The `wordpress` images come in many flavors, each designed for a specific use case. @@ -185,13 +191,19 @@ The `wordpress` images come in many flavors, each designed for a specific use ca This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. -## `wordpress:-alpine` +## `wordpress:-fpm` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This variant contains PHP-FPM, which is a FastCGI implementation for PHP. See [the PHP-FPM website](https://php-fpm.org/) for more information about PHP-FPM. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +In order to use this image variant, some kind of reverse proxy (such as NGINX, Apache, or other tool which speaks the FastCGI protocol) will be required. -To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). +Some potentially helpful resources: + +- [PHP-FPM.org](https://php-fpm.org/) +- [simplified example by @md5](https://gist.github.com/md5/d9206eacb5a0ff5d6be0) +- [very detailed article by Pascal Landau](https://www.pascallandau.com/blog/php-php-fpm-and-nginx-on-docker-in-windows-10/) +- [Stack Overflow discussion](https://stackoverflow.com/q/29905953/433558) +- [Apache httpd Wiki example](https://wiki.apache.org/httpd/PHPFPMWordpress) ## `wordpress:cli` @@ -203,11 +215,16 @@ The simplest way to use it with an existing WordPress container would be somethi $ docker run -it --rm \ --volumes-from some-wordpress \ --network container:some-wordpress \ + -e WORDPRESS_DB_USER=... \ + -e WORDPRESS_DB_PASSWORD=... \ + # [and other used environment variables] wordpress:cli user list ``` Generally speaking, for WP-CLI to interact with a WordPress install, it needs access to the on-disk files of the WordPress install, and access to the database (and the easiest way to accomplish that such that `wp-config.php` does not require changes is to simply join the networking context of the existing and presumably working WordPress container, but there are many other ways to accomplish that which will be left as an exercise for the reader). +**NOTE:** Since March 2021, WordPress images use a customized `wp-config.php` that pulls the values directly from the environment variables defined above (see `wp-config-docker.php` in [docker-library/wordpress#572](https://github.com/docker-library/wordpress/pull/572) and [docker-library/wordpress#577](https://github.com/docker-library/wordpress/pull/577)). As a result of reading environment variables directly, the cli container also needs the same set of environment variables to properly evaluate `wp-config.php`. + # License View [license information](https://wordpress.org/about/license/) for the software contained in this image. diff --git a/wordpress/content.md b/wordpress/content.md index b8f05a8ee0e8..0e1a511a2d19 100644 --- a/wordpress/content.md +++ b/wordpress/content.md @@ -23,7 +23,7 @@ The following environment variables are also honored for configuring your WordPr - `-e WORDPRESS_DEBUG=1` (defaults to disabled, non-empty value will enable `WP_DEBUG` in `wp-config.php`) - `-e WORDPRESS_CONFIG_EXTRA=...` (defaults to nothing, non-empty value will be embedded verbatim inside `wp-config.php` -- especially useful for applying extra configuration values this image does not provide by default such as `WP_ALLOW_MULTISITE`; see [docker-library/wordpress#142](https://github.com/docker-library/wordpress/pull/142) for more details) -If the `WORDPRESS_DB_NAME` specified does not already exist on the given MySQL server, it will be created automatically upon startup of the `%%REPO%%` container, provided that the `WORDPRESS_DB_USER` specified has the necessary permissions to create it. +The `WORDPRESS_DB_NAME` needs to already exist on the given MySQL server; it will not be created by the `%%REPO%%` container. If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used: @@ -80,3 +80,9 @@ Mount the volume containing your themes or plugins to the proper directory; and See [the "Running as an arbitrary user" section of the `php` image documentation](https://hub.docker.com/_/php/). When running WP-CLI via the `cli` variants of this image, it is important to note that they're based on Alpine, and have a default `USER` of Alpine's `www-data`, whose UID is `82` (compared to the Debian-based WordPress variants whose default effective UID is `33`), so when running `%%IMAGE%%:cli` against an existing Debian-based WordPress install, something like `--user 33:33` is likely going to be necessary (possibly also something like `-e HOME=/tmp` depending on the `wp` command invoked and whether it tries to use `~/.wp-cli`). See [docker-library/wordpress#256](https://github.com/docker-library/wordpress/issues/256) for more discussion around this. + +## Configuring PHP directives + +See [the "Configuration" section of the `php` image documentation](https://hub.docker.com/_/php/). + +For example, to adjust common `php.ini` flags like `upload_max_filesize`, you could create a `custom.ini` with the desired parameters and place it in the `$PHP_INI_DIR/conf.d/` directory. diff --git a/wordpress/variant-cli.md b/wordpress/variant-cli.md index 6e4d2933b2ba..b27341d01b49 100644 --- a/wordpress/variant-cli.md +++ b/wordpress/variant-cli.md @@ -8,7 +8,12 @@ The simplest way to use it with an existing WordPress container would be somethi $ docker run -it --rm \ --volumes-from some-wordpress \ --network container:some-wordpress \ - wordpress:cli user list + -e WORDPRESS_DB_USER=... \ + -e WORDPRESS_DB_PASSWORD=... \ + # [and other used environment variables] + %%IMAGE%%:cli user list ``` Generally speaking, for WP-CLI to interact with a WordPress install, it needs access to the on-disk files of the WordPress install, and access to the database (and the easiest way to accomplish that such that `wp-config.php` does not require changes is to simply join the networking context of the existing and presumably working WordPress container, but there are many other ways to accomplish that which will be left as an exercise for the reader). + +**NOTE:** Since March 2021, WordPress images use a customized `wp-config.php` that pulls the values directly from the environment variables defined above (see `wp-config-docker.php` in [docker-library/wordpress#572](https://github.com/docker-library/wordpress/pull/572) and [docker-library/wordpress#577](https://github.com/docker-library/wordpress/pull/577)). As a result of reading environment variables directly, the cli container also needs the same set of environment variables to properly evaluate `wp-config.php`. diff --git a/wordpress/variant-fpm.md b/wordpress/variant-fpm.md new file mode 120000 index 000000000000..5ed64ee63493 --- /dev/null +++ b/wordpress/variant-fpm.md @@ -0,0 +1 @@ +../php/variant-fpm.md \ No newline at end of file diff --git a/xwiki/README.md b/xwiki/README.md index f2631942788e..e22f97c8751d 100644 --- a/xwiki/README.md +++ b/xwiki/README.md @@ -24,10 +24,10 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`11`, `11.10`, `11.10.5`, `11-mysql-tomcat`, `11.10-mysql-tomcat`, `11.10.5-mysql-tomcat`, `lts-mysql-tomcat`, `lts-mysql`, `lts`](https://github.com/xwiki-contrib/docker-xwiki/blob/f6c69a5d6c525829713209cb2a0d8ce14b8a5038/11/mysql-tomcat/Dockerfile) -- [`11-postgres-tomcat`, `11.10-postgres-tomcat`, `11.10.5-postgres-tomcat`, `lts-postgres-tomcat`, `lts-postgres`](https://github.com/xwiki-contrib/docker-xwiki/blob/f6c69a5d6c525829713209cb2a0d8ce14b8a5038/11/postgres-tomcat/Dockerfile) -- [`12`, `12.4`, `12-mysql-tomcat`, `12.4-mysql-tomcat`, `mysql-tomcat`, `stable-mysql-tomcat`, `stable-mysql`, `stable`, `latest`](https://github.com/xwiki-contrib/docker-xwiki/blob/fba6a253e6190be6d01723c44fdb827d7b74dc8b/12/mysql-tomcat/Dockerfile) -- [`12-postgres-tomcat`, `12.4-postgres-tomcat`, `postgres-tomcat`, `stable-postgres-tomcat`, `stable-postgres`](https://github.com/xwiki-contrib/docker-xwiki/blob/fba6a253e6190be6d01723c44fdb827d7b74dc8b/12/postgres-tomcat/Dockerfile) +- [`13`, `13.3`, `13.3.0`, `13-mysql-tomcat`, `13.3-mysql-tomcat`, `13.3.0-mysql-tomcat`, `mysql-tomcat`, `stable-mysql-tomcat`, `stable-mysql`, `stable`, `latest`](https://github.com/xwiki-contrib/docker-xwiki/blob/2cb4312482f06cacf7b638bb3777e0ecad4d003a/13/mysql-tomcat/Dockerfile) +- [`13-postgres-tomcat`, `13.3-postgres-tomcat`, `13.3.0-postgres-tomcat`, `postgres-tomcat`, `stable-postgres-tomcat`, `stable-postgres`](https://github.com/xwiki-contrib/docker-xwiki/blob/2cb4312482f06cacf7b638bb3777e0ecad4d003a/13/postgres-tomcat/Dockerfile) +- [`12`, `12.10`, `12.10.6`, `12-mysql-tomcat`, `12.10-mysql-tomcat`, `12.10.6-mysql-tomcat`, `lts-mysql-tomcat`, `lts-mysql`, `lts`](https://github.com/xwiki-contrib/docker-xwiki/blob/246a8efc36a5838f17930b773314b12c90181740/12/mysql-tomcat/Dockerfile) +- [`12-postgres-tomcat`, `12.10-postgres-tomcat`, `12.10.6-postgres-tomcat`, `lts-postgres-tomcat`, `lts-postgres`](https://github.com/xwiki-contrib/docker-xwiki/blob/246a8efc36a5838f17930b773314b12c90181740/12/postgres-tomcat/Dockerfile) # Quick reference (cont.) @@ -42,7 +42,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/xwiki`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fxwiki) + [official-images repo's `library/xwiki` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fxwiki) [official-images repo's `library/xwiki` file](https://github.com/docker-library/official-images/blob/master/library/xwiki) ([history](https://github.com/docker-library/official-images/commits/master/library/xwiki)) - **Source of this description**: diff --git a/yourls/README.md b/yourls/README.md index bc825d7c1b4d..7153bd083e6a 100644 --- a/yourls/README.md +++ b/yourls/README.md @@ -20,13 +20,13 @@ WARNING: [YOURLS](https://github.com/YOURLS/docker-yourls) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.7.9-apache`, `1.7-apache`, `1-apache`, `apache`, `1.7.9`, `1.7`, `1`, `latest`](https://github.com/YOURLS/docker-yourls/blob/fe07662938efe12d7c8c82bea32d1d34874d0665/apache/Dockerfile) -- [`1.7.9-fpm`, `1.7-fpm`, `1-fpm`, `fpm`](https://github.com/YOURLS/docker-yourls/blob/fe07662938efe12d7c8c82bea32d1d34874d0665/fpm/Dockerfile) -- [`1.7.9-fpm-alpine`, `1.7-fpm-alpine`, `1-fpm-alpine`, `fpm-alpine`](https://github.com/YOURLS/docker-yourls/blob/fe07662938efe12d7c8c82bea32d1d34874d0665/fpm-alpine/Dockerfile) +- [`1.8.1-apache`, `1.8-apache`, `1-apache`, `apache`, `1.8.1`, `1.8`, `1`, `latest`](https://github.com/YOURLS/docker-yourls/blob/f1756127e0b8eebad4f301d4fe6790f6d9794ce2/apache/Dockerfile) +- [`1.8.1-fpm`, `1.8-fpm`, `1-fpm`, `fpm`](https://github.com/YOURLS/docker-yourls/blob/f1756127e0b8eebad4f301d4fe6790f6d9794ce2/fpm/Dockerfile) +- [`1.8.1-fpm-alpine`, `1.8-fpm-alpine`, `1-fpm-alpine`, `fpm-alpine`](https://github.com/YOURLS/docker-yourls/blob/f1756127e0b8eebad4f301d4fe6790f6d9794ce2/fpm-alpine/Dockerfile) # Quick reference (cont.) @@ -41,7 +41,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/yourls`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fyourls) + [official-images repo's `library/yourls` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fyourls) [official-images repo's `library/yourls` file](https://github.com/docker-library/official-images/blob/master/library/yourls) ([history](https://github.com/docker-library/official-images/commits/master/library/yourls)) - **Source of this description**: @@ -146,9 +146,9 @@ This is the defacto image. If you are unsure about what your needs are, you prob ## `yourls:-alpine` -This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. +This image is based on the popular [Alpine Linux project](https://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general. -This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. +This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use [musl libc](https://musl.libc.org) instead of [glibc and friends](https://www.etalabs.net/compare_libcs.html), so software will often run into issues depending on the depth of their libc requirements/assumptions. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images. To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar). diff --git a/znc/README.md b/znc/README.md index 7326656ea848..2a6affd03b60 100644 --- a/znc/README.md +++ b/znc/README.md @@ -20,12 +20,12 @@ WARNING: [the ZNC Community](https://github.com/znc/znc-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`1.8.0`, `1.8`, `latest`](https://github.com/znc/znc-docker/blob/91f58af10b62197187af1f0a9695488e88279e98/full/Dockerfile) -- [`1.8.0-slim`, `1.8-slim`, `slim`](https://github.com/znc/znc-docker/blob/91f58af10b62197187af1f0a9695488e88279e98/slim/Dockerfile) +- [`1.8.2`, `1.8`, `latest`](https://github.com/znc/znc-docker/blob/443da08b1500a0815bc392da027cf2291017a223/full/Dockerfile) +- [`1.8.2-slim`, `1.8-slim`, `slim`](https://github.com/znc/znc-docker/blob/443da08b1500a0815bc392da027cf2291017a223/slim/Dockerfile) # Quick reference (cont.) @@ -40,7 +40,7 @@ WARNING: (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/znc`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fznc) + [official-images repo's `library/znc` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fznc) [official-images repo's `library/znc` file](https://github.com/docker-library/official-images/blob/master/library/znc) ([history](https://github.com/docker-library/official-images/commits/master/library/znc)) - **Source of this description**: @@ -65,10 +65,10 @@ $ docker run -it -v znc-cfg:/znc-data znc --makeconf To run ZNC: ```console -$ docker run -p 6697:6697 -v znc-cfg:/znc-data znc +$ docker run -p 12345:12345 -v znc-cfg:/znc-data znc ``` -The port should match the port you used during `--makeconf`. Note that 6667 is often blocked by web browsers, and therefore is not recommended. +The port (12345 in the example above) should match the port you used during `--makeconf`. Note that 6667 and 6697 are often blocked by web browsers, and therefore are not recommended for ZNC. If you use any external module, put the .cpp, .py or .pm file to `/znc-data/modules` (you may need to create that directory). diff --git a/znc/content.md b/znc/content.md index 3018cc833cee..bb7e79cca9ff 100644 --- a/znc/content.md +++ b/znc/content.md @@ -17,10 +17,10 @@ $ docker run -it -v znc-cfg:/znc-data %%IMAGE%% --makeconf To run ZNC: ```console -$ docker run -p 6697:6697 -v znc-cfg:/znc-data %%IMAGE%% +$ docker run -p 12345:12345 -v znc-cfg:/znc-data %%IMAGE%% ``` -The port should match the port you used during `--makeconf`. Note that 6667 is often blocked by web browsers, and therefore is not recommended. +The port (12345 in the example above) should match the port you used during `--makeconf`. Note that 6667 and 6697 are often blocked by web browsers, and therefore are not recommended for ZNC. If you use any external module, put the .cpp, .py or .pm file to `/znc-data/modules` (you may need to create that directory). diff --git a/zookeeper/README.md b/zookeeper/README.md index 01b2ff8b5f93..cd2b9bfc2f60 100644 --- a/zookeeper/README.md +++ b/zookeeper/README.md @@ -20,13 +20,14 @@ WARNING: [the Docker Community](https://github.com/31z4/zookeeper-docker) - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](http://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) # Supported tags and respective `Dockerfile` links -- [`3.4.14`, `3.4`](https://github.com/31z4/zookeeper-docker/blob/1ed5af662e6749021687fbf2a9b445b1adf2fb46/3.4.14/Dockerfile) -- [`3.5.7`, `3.5`](https://github.com/31z4/zookeeper-docker/blob/415ec2ced7dea27398befc9cb9ff5de299323be8/3.5.7/Dockerfile) -- [`3.6.1`, `3.6`, `latest`](https://github.com/31z4/zookeeper-docker/blob/c0039669a527a56b19ceb30a6523ed206fbf245d/3.6.1/Dockerfile) +- [`3.4.14`, `3.4`](https://github.com/31z4/zookeeper-docker/blob/95e63be6a0767ed462db2e5aa779047672cc3b35/3.4.14/Dockerfile) +- [`3.5.9`, `3.5`](https://github.com/31z4/zookeeper-docker/blob/9709912dffaab63865d05a76aaa6539aeb795ad4/3.5.9/Dockerfile) +- [`3.6.2`, `3.6`](https://github.com/31z4/zookeeper-docker/blob/2373492c6f8e74d3c1167726b19babe8ac7055dd/3.6.2/Dockerfile) +- [`3.7.0`, `3.7`, `latest`](https://github.com/31z4/zookeeper-docker/blob/088d6cc2d70c0d6898c4d0afd953d85052dd2aa2/3.7.0/Dockerfile) # Quick reference (cont.) @@ -34,14 +35,14 @@ WARNING: [https://github.com/31z4/zookeeper-docker/issues](https://github.com/31z4/zookeeper-docker/issues) - **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64)) - [`amd64`](https://hub.docker.com/r/amd64/zookeeper/) + [`amd64`](https://hub.docker.com/r/amd64/zookeeper/), [`arm64v8`](https://hub.docker.com/r/arm64v8/zookeeper/) - **Published image artifact details**: [repo-info repo's `repos/zookeeper/` directory](https://github.com/docker-library/repo-info/blob/master/repos/zookeeper) ([history](https://github.com/docker-library/repo-info/commits/master/repos/zookeeper)) (image metadata, transfer size, etc) - **Image updates**: - [official-images PRs with label `library/zookeeper`](https://github.com/docker-library/official-images/pulls?q=label%3Alibrary%2Fzookeeper) + [official-images repo's `library/zookeeper` label](https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fzookeeper) [official-images repo's `library/zookeeper` file](https://github.com/docker-library/official-images/blob/master/library/zookeeper) ([history](https://github.com/docker-library/official-images/commits/master/library/zookeeper)) - **Source of this description**: @@ -196,7 +197,17 @@ Defaults to `srvr`. Zookeeper's [`4lw.commands.whitelist`](https://zookeeper.apa ## Advanced configuration -Not every Zookeeper configuration setting is exposed via the environment variables listed above. These variables are only meant to cover minimum configuration keywords and some often changing options. If [mounting your custom config file](#configuration) as a volume doesn't work for you, consider using `JVMFLAGS` environment variable. Many of the Zookeeper advanced configuration options can be set there using Java system properties in the form of `-Dproperty=value`. For example, you can use Netty instead of NIO (default option) as a server communication framework: +### `ZOO_CFG_EXTRA` + +Not every Zookeeper configuration setting is exposed via the environment variables listed above. These variables are only meant to cover minimum configuration keywords and some often changing options. If [mounting your custom config file](#configuration) as a volume doesn't work for you, consider using `ZOO_CFG_EXTRA` environment variable. You can add arbitrary configuration parameters to Zookeeper configuration file using this variable. The following example shows how to enable Prometheus metrics exporter on port `7070`: + +```console +$ docker run --name some-zookeeper --restart always -e ZOO_CFG_EXTRA="metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7070" zookeeper +``` + +### `JVMFLAGS` + +Many of the Zookeeper advanced configuration options can be set there using Java system properties in the form of `-Dproperty=value`. For example, you can use Netty instead of NIO (default option) as a server communication framework: ```console $ docker run --name some-zookeeper --restart always -e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory" zookeeper diff --git a/zookeeper/content.md b/zookeeper/content.md index 67c86a889af9..f02856ac386e 100644 --- a/zookeeper/content.md +++ b/zookeeper/content.md @@ -108,7 +108,17 @@ Defaults to `srvr`. Zookeeper's [`4lw.commands.whitelist`](https://zookeeper.apa ## Advanced configuration -Not every Zookeeper configuration setting is exposed via the environment variables listed above. These variables are only meant to cover minimum configuration keywords and some often changing options. If [mounting your custom config file](#configuration) as a volume doesn't work for you, consider using `JVMFLAGS` environment variable. Many of the Zookeeper advanced configuration options can be set there using Java system properties in the form of `-Dproperty=value`. For example, you can use Netty instead of NIO (default option) as a server communication framework: +### `ZOO_CFG_EXTRA` + +Not every Zookeeper configuration setting is exposed via the environment variables listed above. These variables are only meant to cover minimum configuration keywords and some often changing options. If [mounting your custom config file](#configuration) as a volume doesn't work for you, consider using `ZOO_CFG_EXTRA` environment variable. You can add arbitrary configuration parameters to Zookeeper configuration file using this variable. The following example shows how to enable Prometheus metrics exporter on port `7070`: + +```console +$ docker run --name some-zookeeper --restart always -e ZOO_CFG_EXTRA="metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7070" %%IMAGE%% +``` + +### `JVMFLAGS` + +Many of the Zookeeper advanced configuration options can be set there using Java system properties in the form of `-Dproperty=value`. For example, you can use Netty instead of NIO (default option) as a server communication framework: ```console $ docker run --name some-zookeeper --restart always -e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory" %%IMAGE%%