From bf6acb510af0beda3918d37b8d021041afdf9e75 Mon Sep 17 00:00:00 2001 From: Docker Library Bot Date: Fri, 30 Nov 2018 00:10:35 +0000 Subject: [PATCH] Run update.sh --- clojure/README.md | 25 ++++------ crate/README.md | 4 +- sonarqube/README.md | 109 +++++++++++++++++++++++++++----------------- tomee/README.md | 4 +- 4 files changed, 83 insertions(+), 59 deletions(-) diff --git a/clojure/README.md b/clojure/README.md index bd2eb7a85..00c7de81d 100644 --- a/clojure/README.md +++ b/clojure/README.md @@ -16,14 +16,15 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`lein-2.8.1`, `lein`, `latest` (*debian/lein/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/debian/lein/Dockerfile) -- [`lein-2.8.1-onbuild`, `lein-onbuild`, `onbuild` (*debian/lein/onbuild/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/debian/lein/onbuild/Dockerfile) -- [`lein-2.8.1-alpine`, `lein-alpine`, `alpine` (*alpine/lein/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/alpine/lein/Dockerfile) -- [`lein-2.8.1-alpine-onbuild`, `lein-alpine-onbuild`, `alpine-onbuild` (*alpine/lein/onbuild/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/alpine/lein/onbuild/Dockerfile) -- [`boot-2.8.1`, `boot` (*debian/boot/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/debian/boot/Dockerfile) -- [`boot-2.8.1-alpine`, `boot-alpine` (*alpine/boot/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/alpine/boot/Dockerfile) -- [`tools-deps-1.9.0.397`, `tools-deps` (*debian/tools-deps/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/debian/tools-deps/Dockerfile) -- [`tools-deps-1.9.0.397-alpine`, `tools-deps-alpine` (*alpine/tools-deps/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/50e4f6aa534a88effa18239180ac390c91587289/alpine/tools-deps/Dockerfile) +- [`openjdk-8-lein`, `openjdk-8-lein-2.8.1`, `lein-2.8.1`, `lein`, `latest` (*target/openjdk-8/debian/lein/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/debian/lein/Dockerfile) +- [`openjdk-8-lein-alpine`, `openjdk-8-lein-2.8.1-alpine`, `lein-2.8.1-alpine`, `lein-alpine`, `alpine` (*target/openjdk-8/alpine/lein/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/alpine/lein/Dockerfile) +- [`openjdk-8-boot`, `openjdk-8-boot-2.8.1`, `boot-2.8.1`, `boot` (*target/openjdk-8/debian/boot/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/debian/boot/Dockerfile) +- [`openjdk-8-boot-alpine`, `openjdk-8-boot-2.8.1-alpine`, `boot-2.8.1-alpine`, `boot-alpine` (*target/openjdk-8/alpine/boot/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/alpine/boot/Dockerfile) +- [`openjdk-8-tools-deps`, `openjdk-8-tools-deps-1.9.0.397`, `tools-deps-1.9.0.397`, `tools-deps` (*target/openjdk-8/debian/tools-deps/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/debian/tools-deps/Dockerfile) +- [`openjdk-8-tools-deps-alpine`, `openjdk-8-tools-deps-1.9.0.397-alpine`, `tools-deps-1.9.0.397-alpine`, `tools-deps-alpine` (*target/openjdk-8/alpine/tools-deps/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-8/alpine/tools-deps/Dockerfile) +- [`openjdk-11-lein`, `openjdk-11-lein-2.8.1` (*target/openjdk-11/debian/lein/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-11/debian/lein/Dockerfile) +- [`openjdk-11-boot`, `openjdk-11-boot-2.8.1` (*target/openjdk-11/debian/boot/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-11/debian/boot/Dockerfile) +- [`openjdk-11-tools-deps`, `openjdk-11-tools-deps-1.9.0.397` (*target/openjdk-11/debian/tools-deps/Dockerfile*)](https://github.com/Quantisan/docker-clojure/blob/e39cb83388009326bd098ad4503c3139df567c07/target/openjdk-11/debian/tools-deps/Dockerfile) # Quick reference @@ -139,14 +140,6 @@ 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. -## `clojure:-onbuild` - -The `ONBUILD` image variants are deprecated, and their usage is discouraged. For more details, see [docker-library/official-images#2076](https://github.com/docker-library/official-images/issues/2076). - -While the `onbuild` variant is really useful for "getting off the ground running" (zero to Dockerized in a short period of time), it's not recommended for long-term usage within a project due to the lack of control over *when* the `ONBUILD` triggers fire (see also [`docker/docker#5714`](https://github.com/docker/docker/issues/5714), [`docker/docker#8240`](https://github.com/docker/docker/issues/8240), [`docker/docker#11917`](https://github.com/docker/docker/issues/11917)). - -Once you've got a handle on how your project functions within Docker, you'll probably want to adjust your `Dockerfile` to inherit from a non-`onbuild` variant and copy the commands from the `onbuild` variant `Dockerfile` (moving the `ONBUILD` lines to the end and removing the `ONBUILD` keywords) into your own file so that you have tighter control over them and more transparency for yourself and others looking at your `Dockerfile` as to what it does. This also makes it easier to add additional requirements as time goes on (such as installing more packages before performing the previously-`ONBUILD` steps). - ## `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. diff --git a/crate/README.md b/crate/README.md index 4e8ea7800..d0ffac488 100644 --- a/crate/README.md +++ b/crate/README.md @@ -72,7 +72,9 @@ The smallest CrateDB clusters can easily ingest tens of thousands of records per Spin up this Docker image like so: - $ docker run -p 4200:4200 crate +```console +$ docker run -p 4200:4200 crate +``` Once you're up and running, head on over to [the introductory docs](https://crate.io/docs/stable/hello.html). diff --git a/sonarqube/README.md b/sonarqube/README.md index e4f3a24c9..4c4a59e0b 100644 --- a/sonarqube/README.md +++ b/sonarqube/README.md @@ -16,15 +16,13 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`6.7.5`, `lts` (*6.7.5/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/5d738964cc4b857ca5b399d6f0bb626b6710bac6/6.7.5/Dockerfile) -- [`6.7.5-alpine`, `lts-alpine` (*6.7.5-alpine/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/5d738964cc4b857ca5b399d6f0bb626b6710bac6/6.7.5-alpine/Dockerfile) -- [`7.1`, `latest` (*7.1/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/5d738964cc4b857ca5b399d6f0bb626b6710bac6/7.1/Dockerfile) -- [`7.1-alpine`, `alpine` (*7.1-alpine/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/5d738964cc4b857ca5b399d6f0bb626b6710bac6/7.1-alpine/Dockerfile) +- [`6.7.6-community`, `6.7-community`, `lts` (*6.7.6-community/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/b3cb018a78ad7879bf1e07e2516f1497eb15a0c2/6.7.6-community/Dockerfile) +- [`7.4-community`, `latest` (*7.4-community/Dockerfile*)](https://github.com/SonarSource/docker-sonarqube/blob/b3cb018a78ad7879bf1e07e2516f1497eb15a0c2/7.4-community/Dockerfile) # Quick reference - **Where to get help**: - [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) + [the SonarSource Community forum](https://community.sonarsource.com/tags/c/help/sq/docker), [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker) - **Where to file issues**: [https://github.com/SonarSource/docker-sonarqube/issues](https://github.com/SonarSource/docker-sonarqube/issues) @@ -51,70 +49,99 @@ WARNING: # What is SonarQube? -SonarQube is an open source platform for continuous inspection of code quality. - -> [wikipedia.org/wiki/SonarQube](http://en.wikipedia.org/wiki/SonarQube) +[SonarQube](https://www.sonarqube.org/) is an open source product for continuous inspection of code quality. ![logo](https://raw.githubusercontent.com/docker-library/docs/84479f149eb7d748d5dc057665eb96f923e60dc1/sonarqube/logo.png) # How to use this image +This Docker image contains the Community Edition of SonarQube. + ## Run SonarQube The server is started this way: ```console -$ docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube +$ docker run -d --name sonarqube -p 9000:9000 sonarqube ``` -By default you can login as `admin` with password `admin`, see [authentication](https://docs.sonarqube.org/display/SONAR/Authentication). +By default you can login as `admin` with password `admin`, see [authentication documentation](https://docs.sonarqube.org/latest/instance-administration/security/). -To analyse a project: +To analyze a Maven project: -```console -$ On Linux: -mvn sonar:sonar + # On Linux: + mvn sonar:sonar + + # With boot2docker: + mvn sonar:sonar -Dsonar.host.url=http://$(boot2docker ip):9000 -$ With boot2docker: -mvn sonar:sonar -Dsonar.host.url=http://$(boot2docker ip):9000 -Dsonar.jdbc.url="jdbc:h2:tcp://$(boot2docker ip)/sonar" -``` +To analyze other kinds of projects and for more details see [Analyzing Source Code documentation](https://redirect.sonarsource.com/doc/analyzing-source-code.html). -## Database configuration +## Advanced configuration + +### Option 1: Database configuration By default, the image will use an embedded H2 database that is not suited for production. -The production database is configured with these variables: `SONARQUBE_JDBC_USERNAME`, `SONARQUBE_JDBC_PASSWORD` and `SONARQUBE_JDBC_URL`. +The production database is configured with the following SonarQube properties used as environment variables: `sonar.jdbc.username`, `sonar.jdbc.password` and `sonar.jdbc.url`. ```console $ docker run -d --name sonarqube \ - -p 9000:9000 -p 9092:9092 \ - -e SONARQUBE_JDBC_USERNAME=sonar \ - -e SONARQUBE_JDBC_PASSWORD=sonar \ - -e SONARQUBE_JDBC_URL=jdbc:postgresql://localhost/sonar \ - sonarqube + -p 9000:9000 \ + -e sonar.jdbc.username=sonar \ + -e sonar.jdbc.password=sonar \ + -e sonar.jdbc.url=jdbc:postgresql://localhost/sonar \ + sonarqube ``` +Use of the environment variables `SONARQUBE_JDBC_USERNAME`, `SONARQUBE_JDBC_PASSWORD` and `SONARQUBE_JDBC_URL` is deprecated, and will stop working in future releases. + More recipes can be found [here](https://github.com/SonarSource/docker-sonarqube/blob/master/recipes.md). +### Option 2: Use parameters via Docker environment variables + +You can pass `sonar.` configuration properties as Docker environment variables, as demonstrated in the example above for database configuration. + +### Option 3: Use bind-mounted persistent volumes + +The images contain the SonarQube installation at `/opt/sonarqube`. You can use bind-mounted persistent volumes to override selected files or directories, for example: + +- `sonarqube_conf:/opt/sonarqube/conf`: configuration files, such as `sonar.properties` +- `sonarqube_data:/opt/sonarqube/data`: data files, such as the embedded H2 database and Elasticsearch indexes +- `sonarqube_logs:/opt/sonarqube/logs` +- `sonarqube_extensions:/opt/sonarqube/extensions`: plugins, such as language analyzers + +You could also use bind-mounted configurations specified on the command line, for example: + +```console +$ docker run -d --name sonarqube \ + -p 9000:9000 \ + -v /path/to/conf:/opt/sonarqube/conf \ + -v /path/to/data:/opt/sonarqube/data \ + -v /path/to/logs:/opt/sonarqube/logs \ + -v /path/to/extensions:/opt/sonarqube/extensions \ + sonarqube +``` + +### Option 4: Customized image + +In some environments, it may make more sense to prepare a custom image containing your configuration. A `Dockerfile` to achieve this may be as simple as: + +```dockerfile +FROM sonarqube:7.4-community +COPY sonar.properties /opt/sonarqube/conf/ +``` + +You could then build and try the image with something like: + +```console +$ docker build --tag=sonarqube-custom . +$ docker run -ti sonarqube-custom +``` + ## Administration -The administration guide can be found [here](http://docs.sonarqube.org/display/SONAR/Administration+Guide). - -# Image Variants - -The `sonarqube` images come in many flavors, each designed for a specific use case. - -## `sonarqube:` - -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. - -## `sonarqube:-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 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. - -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). +The administration guide can be found [here](https://redirect.sonarsource.com/doc/administration-guide.html). # License diff --git a/tomee/README.md b/tomee/README.md index 38981b983..2e15862bc 100644 --- a/tomee/README.md +++ b/tomee/README.md @@ -123,7 +123,9 @@ The configuration files are available in `/usr/local/tomee/conf/`. By default, n You can also use this image as base image for deploying your war application. To do it you need to create a Dockerfile based on Tomee Docker image and add the war file in `webapps` directory: - COPY / /usr/local/tomee/webapps/ +```dockerfile +COPY / /usr/local/tomee/webapps/ +``` # License