Documentation for Docker Official Images in docker-library
Shell Perl Dockerfile
Clone or download
Latest commit 8fe92b9 Jul 20, 2018
Permalink
Failed to load latest commit information.
.common-templates Refactor the way information (especially links) are presented Apr 22, 2017
.template-helpers Add "git-prefetch" script to avoid errors like "fatal: Couldn't find … Apr 11, 2018
.travis Add "license.md" to the list of files Travis verifies Dec 13, 2017
adminer Run update.sh Jun 29, 2018
aerospike Run update.sh Jun 27, 2018
alpine Run update.sh Jul 6, 2018
amazonlinux Run update.sh Jun 26, 2018
arangodb Run update.sh Jul 20, 2018
backdrop Run update.sh May 30, 2018
bash Run update.sh Jul 11, 2018
bonita Run update.sh Jul 12, 2018
buildpack-deps Run update.sh Jul 11, 2018
busybox Run update.sh Jul 16, 2018
cassandra Run update.sh Apr 26, 2018
centos Run update.sh Jun 4, 2018
chronograf Run update.sh Jul 20, 2018
cirros Run update.sh Dec 12, 2017
clearlinux Run update.sh Jul 2, 2018
clefos Run update.sh Jan 23, 2018
clojure Run update.sh Jun 1, 2018
composer Run update.sh Jul 11, 2018
consul Run update.sh Jul 12, 2018
convertigo Run update.sh May 18, 2018
couchbase Run update.sh Jun 14, 2018
couchdb Run update.sh Jul 11, 2018
crate Run update.sh Jul 3, 2018
crux Run update.sh Nov 2, 2017
debian Run update.sh Jul 16, 2018
docker Run update.sh Jul 16, 2018
drupal Run update.sh Jul 7, 2018
eclipse-mosquitto Run update.sh Nov 2, 2017
eggdrop Run update.sh Jul 17, 2018
elasticsearch Run update.sh Jun 18, 2018
elixir Run update.sh Jul 20, 2018
erlang Run update.sh Jul 18, 2018
euleros Run update.sh Nov 15, 2017
fedora Run update.sh May 11, 2018
flink Run update.sh Jul 20, 2018
fsharp Run update.sh Jul 17, 2018
gazebo Run update.sh Jul 17, 2018
gcc Run update.sh May 4, 2018
geonetwork Run update.sh May 9, 2018
ghost Run update.sh Jul 11, 2018
golang Run update.sh Jul 12, 2018
gradle Run update.sh Jul 17, 2018
groovy Run update.sh Jul 16, 2018
haproxy Run update.sh Jun 27, 2018
haskell Run update.sh Jun 5, 2018
haxe Run update.sh Jul 16, 2018
hello-seattle Run update.sh Jul 11, 2018
hello-world Run update.sh Jul 11, 2018
hola-mundo Run update.sh Jul 11, 2018
httpd Run update.sh Jul 16, 2018
hylang Run update.sh Jan 2, 2018
ibmjava Run update.sh Jul 2, 2018
influxdb Run update.sh Jul 6, 2018
irssi Run update.sh Jun 27, 2018
jenkins Run update.sh Nov 2, 2017
jetty Run update.sh Jun 26, 2018
joomla Run update.sh Jul 11, 2018
jruby Run update.sh Jul 2, 2018
julia Run update.sh Jun 6, 2018
kaazing-gateway Run update.sh Jul 12, 2018
kapacitor Run update.sh May 22, 2018
kibana Run update.sh Jun 18, 2018
known Run update.sh Nov 2, 2017
kong Run update.sh Jul 7, 2018
lightstreamer Run update.sh Jul 12, 2018
logstash Run update.sh Jun 18, 2018
mageia Run update.sh May 30, 2018
mariadb Run update.sh Jul 16, 2018
matomo Run update.sh Jun 6, 2018
maven Run update.sh Jun 22, 2018
mediawiki Run update.sh Jul 18, 2018
memcached Run update.sh Jul 10, 2018
mongo-express Run update.sh Mar 7, 2018
mongo Run update.sh Jul 11, 2018
mono Run update.sh May 15, 2018
mysql Run update.sh Jul 17, 2018
nats-streaming Run update.sh Jul 4, 2018
nats Run update.sh Jul 6, 2018
neo4j Run update.sh Jul 16, 2018
neurodebian Run update.sh May 25, 2018
nextcloud Run update.sh Jul 16, 2018
nginx Run update.sh Jul 3, 2018
node Run update.sh Jul 20, 2018
notary Run update.sh Nov 2, 2017
nuxeo Run update.sh Jun 19, 2018
odoo Run update.sh Jul 10, 2018
open-liberty Run update.sh Jul 6, 2018
openjdk Run update.sh Jul 16, 2018
opensuse Run update.sh May 15, 2018
oraclelinux Run update.sh Jul 6, 2018
orientdb Run update.sh Jul 13, 2018
owncloud Run update.sh Jun 11, 2018
percona Run update.sh Jun 6, 2018
perl Run update.sh Jun 25, 2018
photon Run update.sh Jul 16, 2018
php-zendserver Run update.sh Jul 9, 2018
php Run update.sh Jun 27, 2018
piwik Run update.sh Jun 6, 2018
plone Run update.sh Jun 25, 2018
postgres Run update.sh Jul 16, 2018
pypy Run update.sh May 4, 2018
python Run update.sh Jul 16, 2018
r-base Run update.sh Jul 9, 2018
rabbitmq Run update.sh Jul 11, 2018
rakudo-star Run update.sh May 14, 2018
rapidoid Run update.sh Nov 2, 2017
redis Run update.sh Jul 16, 2018
redmine Run update.sh Jun 27, 2018
registry Run update.sh Dec 12, 2017
rethinkdb Run update.sh Nov 2, 2017
rocket.chat Run update.sh Jul 11, 2018
ros Run update.sh Jun 12, 2018
ruby Run update.sh Jun 6, 2018
rust Run update.sh Jul 20, 2018
scratch Add a quote blurb from the upstream docs to the scratch description Jul 3, 2017
sentry Run update.sh Jun 25, 2018
silverpeas Run update.sh Feb 6, 2018
sl Run update.sh Jul 2, 2018
solr Run update.sh Jul 2, 2018
sonarqube Run update.sh May 31, 2018
sourcemage Run update.sh Nov 2, 2017
spiped Run update.sh Jul 6, 2018
storm Run update.sh Jun 11, 2018
swarm Run update.sh Jun 1, 2018
swift Run update.sh Apr 6, 2018
swipl Run update.sh Jul 12, 2018
teamspeak Run update.sh May 14, 2018
telegraf Run update.sh Jul 19, 2018
thrift Run update.sh Feb 20, 2018
tomcat Run update.sh Jul 7, 2018
tomee Run update.sh Dec 13, 2017
traefik Run update.sh Jul 17, 2018
ubuntu Run update.sh Jul 16, 2018
vault Run update.sh Jun 21, 2018
websphere-liberty Run update.sh Jul 18, 2018
wordpress Fix another REPO vs IMAGE mistake Jul 18, 2018
xwiki Run update.sh Jul 20, 2018
yourls Run update.sh Jul 19, 2018
znc Run update.sh Jul 20, 2018
zookeeper Run update.sh May 21, 2018
.dockerignore Add simple .dockerignore Aug 7, 2015
.travis.yml Add "ymlfmt" for enforcing consistent YAML whitespace Nov 28, 2017
Dockerfile Reorganize "push.pl" to put the "vimdiff" logic in one place for cool… Apr 20, 2015
LICENSE 2015 Feb 23, 2015
README.md Add autogenerated Table of Contents Feb 27, 2018
generate-repo-stub-readme.sh Add per-arch build-status badges Apr 13, 2018
markdownfmt.sh Add "ymlfmt" for enforcing consistent YAML whitespace Nov 28, 2017
push.pl Add "--namespace" to push.pl Nov 17, 2017
push.sh Support non-tty mode in push.sh Jun 2, 2015
update.sh Try generating tag list before generating file (so that we don't crea… Jul 19, 2018
ymlfmt.sh Add "ymlfmt" for enforcing consistent YAML whitespace Nov 28, 2017

README.md

What is this?

This repository contains the docs for each of the Docker official images. See docker-library/official-images for the configuration how the images are built. To see all of the official images go to the hub.

All Markdown files here are run through tianon's fork of markdownfmt (only forked to add some smaller-diff preference and minor DockerHub-compatibility changes), and verified as formatted correctly via Travis-CI.

Table of Contents

  1. What is this?
    1. Table of Contents
  2. How do I add a new image's docs
  3. How do I update an image's docs
  4. What are all these files?
    1. update.sh
    2. generate-repo-stub-readme.sh
    3. push.pl
    4. .template-helpers/generate-dockerfile-links-partial.sh
    5. .template-helpers/template.md and .template-helpers/user-feedback.md
    6. folder <image name>
    7. <image name>/README.md
    8. <image name>/content.md
    9. <image name>/README-short.txt
    10. <image name>/logo.png
    11. <image name>/license.md
    12. <image name>/maintainer.md
    13. <image name>/github-repo
    14. <image name>/user-feedback.md
  5. Issues and Contributing

How do I add a new image's docs

  • create a folder for my image: mkdir myimage
  • create a README-short.txt (required, 100 char max)
  • create a content.md (required)
  • create a license.md (required)
  • create a maintainer.md (required)
  • create a github-repo (required)
  • add a logo.png (recommended)

Optionally:

  • run ./markdownfmt.sh -l myimage to verify whether format of your markdown files is compliant to tianon/markdownfmt. In case you see any file names, markdownfmt detected some issues, which might result in a failed build during continuous integration. run ./markdownfmt.sh -d myimage to see a diff of changes required to pass.
  • 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.

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 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.

.template-helpers/template.md and .template-helpers/user-feedback.md

These files are the templates used in building the <image name>/README.md file, in combination with the individual image's files.

folder <image name>

This is where all the partial and generated files for a given image reside, (ex: golang/).

<image name>/README.md

This file is generated using update.sh.

<image name>/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 for more information on long description. The issues and contribution section is generated by the script but can be overridden. The following is a basic layout:

# What is XYZ?

// about what the contained software is

%%LOGO%%

# How to use this image

// descriptions and examples of common use cases for the image
// make use of subsections as necessary

<image name>/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.

<image name>/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.

<image name>/license.md

This file should contain a link to the license for the main software in the image. Here is an example for golang:

View [license information](http://golang.org/LICENSE) for the software contained in this image.

<image name>/maintainer.md

This file should contain a link to the maintainers of the Dockerfile.

<image name>/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:

https://github.com/docker-library/golang

<image name>/user-feedback.md

This file is an optional override of the default user-feedback.md for those repositories with different issue and contributing policies.

Issues and Contributing

If you would like to make a new Official Image, be sure to follow the guidelines.

Feel free to make a pull request for fixes and improvements to current documentation. For questions or problems on this repo come talk to us via the #docker-library IRC channel on Freenode or open up an issue.