Documentation for Docker Official Images in docker-library
Clone or download
Latest commit 1bb26dc Jan 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.common-templates Fixed maintainer.md Nov 18, 2018
.template-helpers Add "ArchFile" for differing "File:" values Oct 25, 2018
.travis Add "license.md" to the list of files Travis verifies Dec 13, 2017
adminer Run update.sh Nov 27, 2018
aerospike Run update.sh Jan 7, 2019
alpine Run update.sh Dec 21, 2018
alt Run update.sh Sep 26, 2018
amazoncorretto Run update.sh Jan 9, 2019
amazonlinux Run update.sh Nov 27, 2018
arangodb Run update.sh Jan 10, 2019
backdrop Run update.sh Dec 13, 2018
bash Run update.sh Jan 8, 2019
bonita Run update.sh Dec 7, 2018
buildpack-deps Run update.sh Jan 8, 2019
busybox Run update.sh Jan 1, 2019
cassandra Run update.sh Nov 19, 2018
centos Run update.sh Dec 6, 2018
chronograf Run update.sh Jan 17, 2019
cirros Run update.sh Nov 19, 2018
clearlinux Run update.sh Dec 18, 2018
clefos Run update.sh Sep 18, 2018
clojure Run update.sh Jan 7, 2019
composer Run update.sh Dec 4, 2018
consul Run update.sh Dec 19, 2018
convertigo Run update.sh Dec 24, 2018
couchbase Run update.sh Oct 30, 2018
couchdb Run update.sh Dec 31, 2018
crate Run update.sh Dec 24, 2018
crux Run update.sh Nov 21, 2018
debian Run update.sh Dec 28, 2018
docker Run update.sh Jan 15, 2019
drupal Run update.sh Jan 17, 2019
eclipse-mosquitto Run update.sh Dec 11, 2018
eggdrop Run update.sh Jan 16, 2019
elasticsearch Run update.sh Dec 20, 2018
elixir Run update.sh Jan 16, 2019
erlang Run update.sh Jan 18, 2019
euleros Run update.sh Nov 15, 2017
express-gateway Run update.sh Jan 16, 2019
fedora Run update.sh Jan 16, 2019
flink Run update.sh Jan 16, 2019
fsharp Run update.sh Jan 2, 2019
gazebo Run update.sh Dec 24, 2018
gcc Run update.sh Dec 10, 2018
geonetwork Run update.sh Nov 19, 2018
ghost Run update.sh Jan 17, 2019
golang Run update.sh Jan 11, 2019
gradle Run update.sh Jan 14, 2019
groovy Run update.sh Dec 31, 2018
haproxy Run update.sh Jan 17, 2019
haskell Run update.sh Jan 7, 2019
haxe Run update.sh Oct 18, 2018
hello-seattle Run update.sh Jan 1, 2019
hello-world Run update.sh Jan 1, 2019
hola-mundo Run update.sh Jan 1, 2019
httpd Run update.sh Nov 19, 2018
hylang Run update.sh Jan 2, 2018
ibmjava Run update.sh Jan 14, 2019
influxdb Run update.sh Jan 14, 2019
irssi Run update.sh Jan 9, 2019
jetty Run update.sh Nov 19, 2018
joomla Run update.sh Jan 17, 2019
jruby Run update.sh Dec 18, 2018
julia Run update.sh Dec 20, 2018
kaazing-gateway Run update.sh Jul 12, 2018
kapacitor Run update.sh Jan 10, 2019
kibana Run update.sh Dec 20, 2018
known Run update.sh Aug 6, 2018
kong Run update.sh Jan 17, 2019
lightstreamer Run update.sh Jan 7, 2019
logstash Run update.sh Dec 20, 2018
mageia Run update.sh May 30, 2018
mariadb Run update.sh Jan 8, 2019
matomo Run update.sh Dec 12, 2018
maven Run update.sh Jan 9, 2019
mediawiki Run update.sh Jan 14, 2019
memcached Run update.sh Nov 19, 2018
mongo-express Run update.sh Aug 24, 2018
mongo Run update.sh Dec 27, 2018
mono Run update.sh Dec 31, 2018
mysql Run update.sh Nov 15, 2018
nats-streaming Run update.sh Oct 18, 2018
nats Run update.sh Jan 16, 2019
neo4j Run update.sh Jan 7, 2019
neurodebian Run update.sh Nov 14, 2018
nextcloud Run update.sh Jan 17, 2019
nginx Run update.sh Dec 26, 2018
node Run update.sh Jan 18, 2019
notary Run update.sh Dec 20, 2018
nuxeo Run update.sh Dec 18, 2018
odoo Run update.sh Nov 27, 2018
open-liberty Merge pull request #1384 from arthurdm/openLibertyLogo Dec 20, 2018
openjdk Run update.sh Jan 17, 2019
opensuse Run update.sh May 15, 2018
oraclelinux Run update.sh Jan 16, 2019
orientdb Run update.sh Jan 3, 2019
percona Run update.sh Jan 17, 2019
perl Run update.sh Oct 12, 2018
photon Run update.sh Dec 20, 2018
php-zendserver Run update.sh Jul 9, 2018
php Run update.sh Jan 14, 2019
plone Run update.sh Oct 31, 2018
postgres Run update.sh Jan 11, 2019
pypy Run update.sh Jan 17, 2019
python Run update.sh Dec 26, 2018
r-base Run update.sh Dec 24, 2018
rabbitmq Run update.sh Jan 16, 2019
rakudo-star Run update.sh Nov 13, 2018
rapidoid Run update.sh Aug 6, 2018
redis Run update.sh Dec 13, 2018
redmine Run update.sh Jan 8, 2019
registry Run update.sh Jan 18, 2019
rethinkdb Run update.sh Nov 2, 2017
rocket.chat Run update.sh Nov 3, 2018
ros Run update.sh Jan 11, 2019
ruby Run update.sh Jan 11, 2019
rust Run update.sh Jan 17, 2019
scratch Add a quote blurb from the upstream docs to the scratch description Jul 3, 2017
sentry Run update.sh Oct 1, 2018
silverpeas Run update.sh Sep 19, 2018
sl Run update.sh Jan 18, 2019
solr Run update.sh Jan 12, 2019
sonarqube Run update.sh Jan 8, 2019
sourcemage Run update.sh Nov 2, 2017
spiped Run update.sh Sep 18, 2018
storm Run update.sh Nov 19, 2018
swarm Run update.sh Jun 1, 2018
swift Run update.sh Dec 20, 2018
swipl Run update.sh Jan 19, 2019
teamspeak Run update.sh Dec 20, 2018
telegraf Run update.sh Jan 10, 2019
thrift Run update.sh Nov 19, 2018
tomcat Run update.sh Dec 20, 2018
tomee Run update.sh Nov 30, 2018
traefik Run update.sh Jan 8, 2019
ubuntu Run update.sh Jan 7, 2019
vault Run update.sh Jan 16, 2019
websphere-liberty Run update.sh Jan 9, 2019
wordpress Run update.sh Jan 10, 2019
xwiki Run update.sh Jan 16, 2019
yourls Run update.sh Jan 16, 2019
znc Run update.sh Oct 25, 2018
zookeeper Run update.sh Nov 19, 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 Remove ending year from LICENSE Jul 30, 2018
README.md Update Table of Contents Nov 22, 2018
generate-repo-stub-readme.sh Fix "generate-repo-stub-readme.sh" for elastic/* repos Oct 17, 2018
markdownfmt.sh Add "ymlfmt" for enforcing consistent YAML whitespace Nov 28, 2017
push.pl Add "X-CSRFToken" header for new Docker Hub API changes Dec 24, 2018
push.sh Support non-tty mode in push.sh Jun 2, 2015
update.sh Remove use of RawGit CDN (https://twitter.com/rawgit/status/104936016… Oct 9, 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.