NextCloud官方文档

yosifkit a69b707dd2 Merge pull request #2378 from keeganwitt/gradle %!s(int64=2) %!d(string=hai) anos
.ci 896a221436 Fix dead link in CI %!s(int64=4) %!d(string=hai) anos
.common-templates 3052101e8f Fixed maintainer.md %!s(int64=7) %!d(string=hai) anos
.github 3ed73ef425 Upgrade actions/checkout to v3 %!s(int64=3) %!d(string=hai) anos
.template-helpers 6457555968 Adjust GitHub issues URL to include PRs + closed %!s(int64=2) %!d(string=hai) anos
adminer b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
aerospike 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
almalinux e637a6bf1c Run update.sh %!s(int64=2) %!d(string=hai) anos
alpine 2c21d2df50 Run update.sh %!s(int64=2) %!d(string=hai) anos
alt 017dd75623 Run update.sh %!s(int64=2) %!d(string=hai) anos
amazoncorretto 385ceef230 Run update.sh %!s(int64=2) %!d(string=hai) anos
amazonlinux dd7640b676 Run update.sh %!s(int64=2) %!d(string=hai) anos
api-firewall 48858769ed Run update.sh %!s(int64=2) %!d(string=hai) anos
arangodb 65a900790c Run update.sh %!s(int64=2) %!d(string=hai) anos
archlinux 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
backdrop eb4c5b58b5 Run update.sh %!s(int64=2) %!d(string=hai) anos
bash 1ef03ad7a2 Run update.sh %!s(int64=2) %!d(string=hai) anos
bonita 4228500147 Run update.sh %!s(int64=2) %!d(string=hai) anos
buildpack-deps b7aca33b84 Run update.sh %!s(int64=2) %!d(string=hai) anos
busybox 292171788f Run update.sh %!s(int64=2) %!d(string=hai) anos
caddy 2d8b2753e9 Run update.sh %!s(int64=2) %!d(string=hai) anos
cassandra bd4f5d4dc4 Run update.sh %!s(int64=2) %!d(string=hai) anos
centos 1b9284ece5 Run update.sh %!s(int64=3) %!d(string=hai) anos
chronograf 6614bce4c1 Run update.sh %!s(int64=2) %!d(string=hai) anos
cirros 0b2371a9e9 Run update.sh %!s(int64=2) %!d(string=hai) anos
clearlinux 754d75cc1e Run update.sh %!s(int64=2) %!d(string=hai) anos
clefos 1b9284ece5 Run update.sh %!s(int64=3) %!d(string=hai) anos
clojure 8eb0d3d300 Run update.sh %!s(int64=2) %!d(string=hai) anos
composer 0accd5c4f2 Run update.sh %!s(int64=2) %!d(string=hai) anos
consul 790893ae1b Run update.sh %!s(int64=2) %!d(string=hai) anos
convertigo c5829200eb Run update.sh %!s(int64=2) %!d(string=hai) anos
couchbase c9c8fba3a5 Run update.sh %!s(int64=2) %!d(string=hai) anos
couchdb bc2082567c Run update.sh %!s(int64=2) %!d(string=hai) anos
crate 3e16cb28c2 Run update.sh %!s(int64=2) %!d(string=hai) anos
dart 797af14bfc Run update.sh %!s(int64=2) %!d(string=hai) anos
debian 4201e3a9cb Run update.sh %!s(int64=2) %!d(string=hai) anos
docker 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
drupal bd4f5d4dc4 Run update.sh %!s(int64=2) %!d(string=hai) anos
eclipse-mosquitto c001af6062 Run update.sh %!s(int64=2) %!d(string=hai) anos
eclipse-temurin 4201e3a9cb Run update.sh %!s(int64=2) %!d(string=hai) anos
eggdrop b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
elasticsearch 385ceef230 Run update.sh %!s(int64=2) %!d(string=hai) anos
elixir ce61106de2 Run update.sh %!s(int64=2) %!d(string=hai) anos
emqx 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
erlang 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
express-gateway b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
fedora 0accd5c4f2 Run update.sh %!s(int64=2) %!d(string=hai) anos
flink 55ee44f26a Run update.sh %!s(int64=2) %!d(string=hai) anos
fluentd 2e0a4dfb04 Run update.sh %!s(int64=2) %!d(string=hai) anos
friendica 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
gazebo 65a900790c Run update.sh %!s(int64=2) %!d(string=hai) anos
gcc ba4494adac Run update.sh %!s(int64=2) %!d(string=hai) anos
geonetwork 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
ghost b930dbf93b Run update.sh %!s(int64=2) %!d(string=hai) anos
golang f82b947508 Run update.sh %!s(int64=2) %!d(string=hai) anos
gradle 1f3281b02d Document Java 21 limitations %!s(int64=2) %!d(string=hai) anos
groovy 2d8b2753e9 Run update.sh %!s(int64=2) %!d(string=hai) anos
haproxy 1ef03ad7a2 Run update.sh %!s(int64=2) %!d(string=hai) anos
haskell 77952e26fd Run update.sh %!s(int64=2) %!d(string=hai) anos
haxe 4d78620021 Run update.sh %!s(int64=2) %!d(string=hai) anos
hello-world b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
hitch d70274a1cf Run update.sh %!s(int64=2) %!d(string=hai) anos
httpd d8085ca662 Run update.sh %!s(int64=2) %!d(string=hai) anos
hylang bd4f5d4dc4 Run update.sh %!s(int64=2) %!d(string=hai) anos
ibm-semeru-runtimes 3e817190c8 Run update.sh %!s(int64=2) %!d(string=hai) anos
ibmjava d38ec073c0 Run update.sh %!s(int64=2) %!d(string=hai) anos
influxdb 4201e3a9cb Run update.sh %!s(int64=2) %!d(string=hai) anos
irssi bd4f5d4dc4 Run update.sh %!s(int64=2) %!d(string=hai) anos
jetty 797af14bfc Run update.sh %!s(int64=2) %!d(string=hai) anos
jobber b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
joomla ce61106de2 Run update.sh %!s(int64=2) %!d(string=hai) anos
jruby 4e2d80ed37 Run update.sh %!s(int64=2) %!d(string=hai) anos
julia bd4f5d4dc4 Run update.sh %!s(int64=2) %!d(string=hai) anos
kapacitor 385ceef230 Run update.sh %!s(int64=2) %!d(string=hai) anos
kibana 385ceef230 Run update.sh %!s(int64=2) %!d(string=hai) anos
kong dd7640b676 Run update.sh %!s(int64=2) %!d(string=hai) anos
lightstreamer 783757f0d3 Run update.sh %!s(int64=2) %!d(string=hai) anos
logstash 385ceef230 Run update.sh %!s(int64=2) %!d(string=hai) anos
mageia b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
mariadb f5d425cadf Run update.sh %!s(int64=2) %!d(string=hai) anos
matomo dc7e903b35 Run update.sh %!s(int64=2) %!d(string=hai) anos
maven 51ec94d193 Run update.sh %!s(int64=2) %!d(string=hai) anos
mediawiki 2e0a4dfb04 Run update.sh %!s(int64=2) %!d(string=hai) anos
memcached b0b604ea35 Run update.sh %!s(int64=2) %!d(string=hai) anos
mongo b930dbf93b Run update.sh %!s(int64=2) %!d(string=hai) anos
mongo-express d38ec073c0 Run update.sh %!s(int64=2) %!d(string=hai) anos
monica b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
mono b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
mysql dc7e903b35 Run update.sh %!s(int64=2) %!d(string=hai) anos
nats ede4d2ac95 Run update.sh %!s(int64=2) %!d(string=hai) anos
nats-streaming b0b604ea35 Run update.sh %!s(int64=2) %!d(string=hai) anos
neo4j 7594b1ed27 Run update.sh %!s(int64=2) %!d(string=hai) anos
neurodebian b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
nextcloud 797af14bfc Run update.sh %!s(int64=2) %!d(string=hai) anos
nginx ba8df07721 Run update.sh %!s(int64=2) %!d(string=hai) anos
node d5362c2d7d Run update.sh %!s(int64=2) %!d(string=hai) anos
notary b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
odoo c9c8fba3a5 Run update.sh %!s(int64=2) %!d(string=hai) anos
open-liberty 49e4287dfc Run update.sh %!s(int64=2) %!d(string=hai) anos
openjdk b930dbf93b Run update.sh %!s(int64=2) %!d(string=hai) anos
oraclelinux d5362c2d7d Run update.sh %!s(int64=2) %!d(string=hai) anos
orientdb 31f7cddad0 Run update.sh %!s(int64=2) %!d(string=hai) anos
percona 9a12b1e4bf Run update.sh %!s(int64=2) %!d(string=hai) anos
perl f5469c7c35 Run update.sh %!s(int64=2) %!d(string=hai) anos
photon 754d75cc1e Run update.sh %!s(int64=2) %!d(string=hai) anos
php b930dbf93b Run update.sh %!s(int64=2) %!d(string=hai) anos
php-zendserver 6614bce4c1 Run update.sh %!s(int64=2) %!d(string=hai) anos
phpmyadmin 3540b79cd7 Run update.sh %!s(int64=2) %!d(string=hai) anos
plone f8eae4226c Run update.sh %!s(int64=2) %!d(string=hai) anos
postfixadmin e1d8b03453 Run update.sh %!s(int64=2) %!d(string=hai) anos
postgres e6bbe741f0 Run update.sh %!s(int64=2) %!d(string=hai) anos
pypy 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
python 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
r-base 4b53ad8cd1 Run update.sh %!s(int64=2) %!d(string=hai) anos
rabbitmq b930dbf93b Run update.sh %!s(int64=2) %!d(string=hai) anos
rakudo-star 37d700b4ac Run update.sh %!s(int64=2) %!d(string=hai) anos
redis d8957bf13e Run update.sh %!s(int64=2) %!d(string=hai) anos
redmine 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
registry a932d5964e Change registry image short description %!s(int64=2) %!d(string=hai) anos
rethinkdb b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
rocket.chat c01e1d2b5d Run update.sh %!s(int64=2) %!d(string=hai) anos
rockylinux f8cafc9ada Run update.sh %!s(int64=2) %!d(string=hai) anos
ros 3540b79cd7 Run update.sh %!s(int64=2) %!d(string=hai) anos
ruby b5738c5e54 Run update.sh %!s(int64=2) %!d(string=hai) anos
rust 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
sapmachine be198afe74 Run update.sh %!s(int64=2) %!d(string=hai) anos
satosa b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
scratch d19b60ba76 Add a quote blurb from the upstream docs to the scratch description %!s(int64=8) %!d(string=hai) anos
silverpeas 4825252c19 Run update.sh %!s(int64=2) %!d(string=hai) anos
sl 920bd3680b Run update.sh %!s(int64=2) %!d(string=hai) anos
solr a103ff824a Run update.sh %!s(int64=2) %!d(string=hai) anos
sonarqube 226c81f4aa Run update.sh %!s(int64=2) %!d(string=hai) anos
spark a5004f1fd5 Run update.sh %!s(int64=2) %!d(string=hai) anos
spiped b016d0b7e7 Run update.sh %!s(int64=2) %!d(string=hai) anos
storm 58fdc35ec0 Run update.sh %!s(int64=2) %!d(string=hai) anos
swift 52f170fd67 Run update.sh %!s(int64=2) %!d(string=hai) anos
swipl 58fdc35ec0 Run update.sh %!s(int64=2) %!d(string=hai) anos
teamspeak e8206c5f86 Run update.sh %!s(int64=2) %!d(string=hai) anos
telegraf 70d2178ead Run update.sh %!s(int64=2) %!d(string=hai) anos
tomcat 8eb0d3d300 Run update.sh %!s(int64=2) %!d(string=hai) anos
tomee ef95a48249 Run update.sh %!s(int64=2) %!d(string=hai) anos
traefik dd7640b676 Run update.sh %!s(int64=2) %!d(string=hai) anos
ubuntu 8eb0d3d300 Run update.sh %!s(int64=2) %!d(string=hai) anos
unit 06d7a568a8 Run update.sh %!s(int64=2) %!d(string=hai) anos
varnish 7594b1ed27 Run update.sh %!s(int64=2) %!d(string=hai) anos
vault 4b778f39ef Run update.sh %!s(int64=2) %!d(string=hai) anos
websphere-liberty 49e4287dfc Run update.sh %!s(int64=2) %!d(string=hai) anos
wordpress 1ef03ad7a2 Run update.sh %!s(int64=2) %!d(string=hai) anos
xwiki 754d75cc1e Run update.sh %!s(int64=2) %!d(string=hai) anos
yourls b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
znc b8ffb81d69 Run update.sh %!s(int64=2) %!d(string=hai) anos
zookeeper 58fdc35ec0 Run update.sh %!s(int64=2) %!d(string=hai) anos
.dockerignore 3eea3576df Add simple .dockerignore %!s(int64=10) %!d(string=hai) anos
Dockerfile 50326f312f Update to Mojolicious 8.35 %!s(int64=5) %!d(string=hai) anos
LICENSE ddc7ed7aea Remove ending year from LICENSE %!s(int64=7) %!d(string=hai) anos
README.md 1ab7d93116 Fix badges urls %!s(int64=2) %!d(string=hai) anos
generate-repo-stub-readme.sh 761ef6ac4d Fix hylang repo stub readme %!s(int64=2) %!d(string=hai) anos
markdownfmt.sh 9efeec18b6 Add "ymlfmt" for enforcing consistent YAML whitespace %!s(int64=8) %!d(string=hai) anos
parallel-update.sh b3a7329ba4 Add "parallel update" script to generate multiple markdown files simultaneously %!s(int64=5) %!d(string=hai) anos
push.pl b6ba610419 Only upload logos to library/ %!s(int64=2) %!d(string=hai) anos
push.sh da98c367a9 Add logo pushing ability for library/ images! %!s(int64=5) %!d(string=hai) anos
update.sh 45bde4a931 Add more description around OpenJDK to make status more clear %!s(int64=3) %!d(string=hai) anos
ymlfmt.sh 9efeec18b6 Add "ymlfmt" for enforcing consistent YAML whitespace %!s(int64=8) %!d(string=hai) anos

README.md

What is this?

This repository contains the image documentation for each of the Docker Official Images. See docker-library/official-images for more information about the program in general.

All Markdown files here are run through tianon's fork of markdownfmt, and verified as formatted correctly via GitHub Actions.

  • GitHub CI status badge
  • library update.sh status badge
    • amd64 update.sh status badge
    • arm32v5 update.sh status badge
    • arm32v6 update.sh status badge
    • arm32v7 update.sh status badge
    • arm64v8 update.sh status badge
    • i386 update.sh status badge
    • ppc64le update.sh status badge
    • s390x update.sh status badge
    • windows-amd64 update.sh status badge

Table of Contents

  1. What is this?
    1. Table of Contents
  2. How do I update an image's docs
  3. How do I add a new image's docs
  4. Files related to an image's docs
    1. folder <image name>
    2. README.md
    3. content.md
    4. get-help.md
    5. github-repo
    6. license.md
    7. logo.png
    8. maintainer.md
    9. README-short.txt
    10. stack.yml
  5. Files for main Docs repo
    1. update.sh
    2. markdownfmt.sh and ymlfmt.sh
    3. .template-helpers/generate-dockerfile-links-partial.sh
    4. .template-helpers/
  6. Scripts unrelated to templates
    1. generate-repo-stub-readme.sh
    2. push.pl and push.sh
  7. 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.

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
  • 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 list any files that are non-compliant to tianon/markdownfmt.
    Any files in the list will 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.

Files related to an image's docs

folder <image name>

This is where all the partial (e.g. content.md) and generated files (e.g. README.md) for a given image reside, (e.g. golang/). It must match the name of the image used in docker-library/official-images.

README.md

This file is generated using update.sh. Do not commit or edit this file; it is regenerated periodically by a bot.

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

get-help.md

This file is an optional override of the default get-help.md. This is the content of the "Where to get help" part of the "Quick reference" at the top of the generated README. We recommend linking to the best places for community support like forums, chat rooms, or mailing lists.

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

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.

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. Alternatively, a logo.svg can be used instead, but only one logo file will apply. To use it within content.md, put %%LOGO%% as shown above in the basic content.md layout.

The image is automatically scaled to a 120 pixel square for the top of the Docker Hub page and Hub search results.

maintainer.md

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

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.

stack.yml

This optional file contains a small, working Compose file for Docker Swarm showing off how to use the image. To use the stack.yml, add %%STACK%% to the content.md and this will embed the YAML along with a link to directly try it in Play with Docker.

The file must work via docker stack deploy since that is how Play with Docker will launch it, but it is helpful for users to try locally if it works for docker-compose as well. Other official images may be referenced within the YAML to demonstrate the functionality of the image, but no images external to the Docker Official Images program may be referenced.

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

markdownfmt.sh and ymlfmt.sh

These two scripts are for verifying the formatting of Markdown (.md) and YAML (.yml) files, respectively. markdownfmt.sh uses the tianon/markdownfmt image and ymlfmt.sh uses the tianon/ymlfmt image.

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

The scripts and Markdown files in here are used in building an image's README.md file in combination with its individual files.

Scripts unrelated to templates

generate-repo-stub-readme.sh

This is used to generate a simple README.md to put in the image's repo. We use this in Git repositories within https://github.com/docker-library to simplify our maintenance, but it is not required for anyone else. The only argument is the name of the image (or repo), like golang and it then outputs the readme to standard out.

push.pl and push.sh

These are 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. The Dockerfile is used to create a suitable environment for push.pl.

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 Libera.Chat or open up an issue.