Source repo for Docker's Documentation
Go to file
gtardif 050e6f00fb Also update min windows version for D4W in toolbox doc (#5123)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2017-10-26 14:44:03 -07:00
.github Rename .github/CONTRIBUTING.md to CONTRIBUTING.md (#1416) 2017-02-18 13:02:14 -08:00
_data New topic on pulling IBM z images for UCP (#5085) 2017-10-23 18:32:14 -07:00
_includes Revert "Document new features in Compose 1.17 (#5019) (#5021)" (#5038) 2017-10-18 16:07:20 -07:00
_layouts Template for EE Tasks alpha (#5066) 2017-10-23 18:09:12 -07:00
_samples Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
_scripts Add API 1.33, API matrix 2017-10-17 21:34:07 -07:00
_scss Test image background (#5082) 2017-10-24 15:10:00 -07:00
apidocs Document need for --recursive when cloning docs (#3925) 2017-07-24 18:38:49 -07:00
compose Revert "Document order option in update_config (#5089)" (#5105) 2017-10-25 10:04:24 -07:00
cs-engine Release CSE 1.13.1-cs7 (#4925) 2017-10-16 16:14:24 -07:00
css Test image background (#5082) 2017-10-24 15:10:00 -07:00
datacenter Add tcp port (#5124) 2017-10-26 09:10:25 -07:00
deploy Template for EE Tasks alpha (#5066) 2017-10-23 18:09:12 -07:00
develop Add API 1.33, API matrix 2017-10-17 21:34:07 -07:00
docker-cloud Update stack-yaml-reference.md (#4978) 2017-10-20 10:43:32 -07:00
docker-for-aws Update some missing release notes (#4943) 2017-10-14 10:11:13 -07:00
docker-for-azure Update some missing release notes (#4943) 2017-10-14 10:11:13 -07:00
docker-for-mac Docker for mac edge relnotes 17.10.0-ce-mac36 (#5093) 2017-10-24 08:17:22 -07:00
docker-for-windows Update windows minimum build. 10586 support was deprecated in 17.06 dropped in 17.09 (#5122) 2017-10-26 08:09:00 -07:00
docker-hub Update builds.md (#5078) 2017-10-23 10:17:50 -07:00
docker-id Update index.md 2017-10-18 19:14:06 -07:00
docker-store Update trustchain.md 2017-10-20 15:58:19 -07:00
edge Add info about warnings in docker info (#5048) 2017-10-20 09:48:10 -07:00
engine Correct version typo in live-restore doc. (#5121) 2017-10-26 13:58:25 -07:00
enterprise Update e2e backup (#5087) 2017-10-25 10:50:22 -07:00
favicons Use new favicon 2017-03-02 14:10:28 -08:00
fonts Convert TOML to YAML, tweaks to work with Jekyll 2016-09-29 17:16:03 -07:00
get-started Fixes #5090 2017-10-25 15:36:47 -07:00
hackathon Update index.md 2017-05-02 17:44:33 -07:00
images Update AWS and linux install instructions (#3179) 2017-05-05 17:17:38 -07:00
js Enable hide/show of elements that don't apply to archives (#4798) 2017-10-04 14:59:29 -07:00
kitematic Available on Windows now (#4630) 2017-09-14 11:53:29 -07:00
machine Test image background (#5082) 2017-10-24 15:10:00 -07:00
notary Add alias for Notary cert directory (#3889) 2017-07-13 12:35:16 -07:00
opensource Update software-req-win to current instructions (#4808) 2017-10-16 16:11:43 -07:00
registry Update deploying.md 2017-10-20 15:58:19 -07:00
release-notes Fix broken link in changelog (#5051) 2017-10-20 10:59:27 -07:00
samples Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
swarm Repair paths to voting examples (#4450) 2017-08-30 14:44:00 -07:00
tests Replace deprecated MAINTAINER with LABEL (#1445) 2017-03-01 19:54:22 -08:00
toolbox Also update min windows version for D4W in toolbox doc (#5123) 2017-10-26 14:44:03 -07:00
.NOT_EDITED_HERE.yaml Pull distribution reference docs from upstream 2016-11-28 13:51:52 -08:00
.dockerignore Update .dockerignore 2017-04-20 05:22:00 -07:00
.eslintignore Initial commit -f https://github.com/docker/mercury-ui 2016-09-28 14:39:20 -07:00
.gitignore Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
.gitmodules Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
.ruby-version Create .ruby-version 2016-11-05 13:30:21 -07:00
404.md Make CSV redirects work again 2017-10-13 14:24:51 -07:00
CONTRIBUTING.md Various link/fwding fixes 2017-04-20 21:08:50 -07:00
Dockerfile Add API 1.33, API matrix 2017-10-17 21:34:07 -07:00
Gemfile GH Pages 137 2017-05-25 14:39:43 -07:00
Jenkinsfile Try adding a timeout to the Jenkinsfile (#2378) 2017-03-17 12:55:41 -07:00
LICENSE Content rendering fixes 2016-09-30 01:51:56 -07:00
README.md Add info on running a docs instance locally (#4207) 2017-08-17 14:43:41 -07:00
_config.yml Template for EE Tasks alpha (#5066) 2017-10-23 18:09:12 -07:00
components.md Spelling mistakes (#2970) 2017-04-20 17:26:18 -05:00
docker-compose.yml Add Compose file for development 2016-10-05 19:34:31 +01:00
docsarchive.md Archives improvements: 2017-03-08 14:32:52 -08:00
favicon.ico Use new favicon 2017-03-02 14:10:28 -08:00
glossary.md Update glossary.md (#4707) 2017-09-26 15:56:20 -07:00
glossary.txt Merge conflict (#2662) 2017-04-07 13:10:04 -07:00
googlecbe7fee896be512c.html Website verification 2016-10-10 15:55:09 -07:00
index.md Add Docker EE Trial Button (#4806) 2017-10-05 14:01:58 -07:00
manuals.md Update manuals.md (#4719) 2017-09-27 10:30:40 -07:00
metadata.txt Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
reference.md Add reference for UCP public API (#75) 2017-08-15 23:31:15 -07:00
robots.txt Update for v17.06 archive (#4735) 2017-09-27 18:06:20 -07:00
search.md Update search.md 2017-08-10 23:33:11 -07:00
sitemap.xml Convert Library references from submodule to upstream (#4102) 2017-08-08 16:04:00 -07:00
test.md Test image background (#5082) 2017-10-24 15:10:00 -07:00
thank-you-subscribing-docker-weekly.md Various Jekyll optimizations (#1487) 2017-02-02 22:56:02 -08:00

README.md

Docs @ Docker

Welcome to the repo for our documentation. This is the source for https://docs.docker.com/.

Feel free to send us pull requests and file issues. Our docs are completely open source and we deeply appreciate contributions from our community!

Providing feedback

We really want your feedback, and we've made it easy. You can edit, rate, or file an issue at the bottom of every page on https://docs.docker.com/.

Please only file issues about the documentation in this repository. One way to think about this is that you should file a bug here if your issue is that you don't see something that should be in the docs, or you see something incorrect or confusing in the docs.

  • If your problem is a general question about how to configure or use Docker, ask in https://forums.docker.com instead.

  • If you have an idea for a new feature or behavior change in a specific aspect of Docker, or have found a bug in part of Docker, please file that issue in the project's code repository.

Contributing

We value your documentation contributions, and we want to make it as easy as possible to work in this repository. One of the first things to decide is which branch to base your work on. If you get confused, just ask and we will help. If a reviewer realizes you have based your work on the wrong branch, we'll let you know so that you can rebase it.

Note: To contribute code to Docker projects, see the Contribution guidelines.

Files not edited here

Files and directories listed in the path: keys in .NOT_EDITED_HERE.yaml are maintained in other repositories and should not be edited in this one. Pull requests against these files will be rejected. Make your edits to the files in the repository and path in the source: key in the YAML file.

Overall doc improvements

Most commits will be made against the master branch. This include:

  • Conceptual and task-based information not specific to new features
  • Restructuring / rewriting
  • Doc bug fixing
  • Typos and grammar errors

One quirk of this project is that the master branch is where the live docs are published from, so upcoming features can't be documented there. See Specific new features for a project for how to document upcoming features. These feature branches will be periodically merged with master, so don't worry about fixing typos and documentation bugs there.

Do you enjoy creating graphics? Good graphics are key to great documentation, and we especially value contributions in this area.

Specific new features for a project

Our docs cover many projects which release at different times. If, and only if, your pull request relates to a currently unreleased feature of a project, base your work on that project's vnext branch. These branches were created by cloning master and then importing a project's master branch's docs into it (at the time of the migration), in a way that preserved the commit history. When a project has a release, its vnext branch will be merged into master and your work will be visible on https://docs.docker.com/.

The following vnext branches currently exist:

Per-PR staging on GitHub

For every PR against master and all the long-lived branches, a staged version of the site is built using Netlify. If the site builds, you will see deploy/netlify — Deploy preview ready. Otherwise, you will see an error. Click Details to review the staged site or the errors that prevented it from building. Review the staged site and amend your commit if necessary. Reviewers will also check the staged site before merging the PR, to protect the integrity of https://docs.docker.com/.

Staging the docs

You have three options:

  1. On your local machine, clone this repo and run our staging container:

    git clone --recursive https://github.com/docker/docker.github.io.git
    cd docker.github.io
    docker-compose up
    

    If you haven't got Docker Compose installed, follow these installation instructions.

    The container runs in the background and incrementally rebuilds the site each time a file changes. You can keep your browser open to http://localhost:4000/ and refresh to see your changes. The container runs in the foreground, but you can use CTRL+C to get the command prompt back. To stop the container, issue the following command:

    docker-compose down
    
  2. Install Jekyll and GitHub Pages on your local machine.

    a. Clone this repo by running:

    git clone --recursive https://github.com/docker/docker.github.io.git
    

    b. Install Ruby 2.3 or later as described in Installing Ruby.

    c. Install Bundler:

    gem install bundler
    

    d. If you use Ubuntu, install packages required for the Nokogiri HTML parser:

    sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
    

    e. Install Jekyll and other required dependencies:

    bundle install
    

    Note: You may have to install some packages manually.

    f. Change the directory to docker.github.io.

    g. Use the jekyll serve command to continuously build the HTML output.

    The jekyll serve process runs in the foreground, and starts a web server running on http://localhost:4000/ by default. To stop it, use CTRL+C. You can continue working in a second terminal and Jekyll will rebuild the website incrementally. Refresh the browser to preview your changes.

Read these docs offline

To read the docs offline, you can use either a standalone container or a swarm service. To see all available tags, go to Docker Cloud. The following examples use the latest tag:

  • Run a single container:

    docker run  -it -p 4000:4000 docs/docker.github.io:latest
    
  • Run a swarm service:

    docker service create -p 4000:4000 --name localdocs --replicas 1 docs/docker.github.io:latest
    

    This example uses only a single replica, but you could run as many replicas as you'd like.

Either way, you can now access the docs at port 4000 on your Docker host.

Important files

  • /_data/toc.yaml defines the left-hand navigation for the docs
  • /js/menu.js defines most of the docs-specific JS such as TOC generation and menu syncing
  • /css/documentation.css defines the docs-specific style rules
  • /_layouts/docs.html is the HTML template file, which defines the header and footer, and includes all the JS/CSS that serves the docs content

Relative linking for GitHub viewing

Feel free to link to ../foo.md so that the docs are readable in GitHub, but keep in mind that Jekyll templating notation {% such as this %} will render in raw text and not be processed. In general it's best to assume the docs are being read directly on https://docs.docker.com/.

Style guide

If you have questions about how to write for Docker's documentation, please see the style guide. The style guide provides guidance about grammar, syntax, formatting, styling, language, or tone. If something isn't clear in the guide, please submit an issue to let us know or submit a pull request to help us improve it.

Testing changes and practical guidance

If you want to test a style change, or if you want to see how to achieve a particular outcome with Markdown, Bootstrap, JQuery, or something else, have a look at test.md (which renders in the site at /test/).

Per-page front-matter

The front-matter of a given page is in a section at the top of the Markdown file that starts and ends with three hyphens. It includes YAML content. The following keys are supported. The title, description, and keywords are required.

Key Required Description
title yes The page title. This is added to the HTML output as a <h1> level header.
description yes A sentence that describes the page contents. This is added to the HTML metadata.
keywords yes A comma-separated list of keywords. These are added to the HTML metadata.
redirect_from no A YAML list of pages which should redirect to THIS page. At build time, each page listed here is created as a HTML stub containing a 302 redirect to this page.
notoc no Either true or false. If true, no in-page TOC is generated for the HTML output of this page. Defaults to false. Appropriate for some landing pages that have no in-page headings.
toc_min no Ignored if notoc is set to true. The minimum heading level included in the in-page TOC. Defaults to 2, to show <h2> headings as the minimum.
toc_max no Ignored if notoc is set to false. The maximum heading level included in the in-page TOC. Defaults to 3, to show <h3> headings. Set to the same as toc_min to only show toc_min level of headings.
tree no Either true or false. Set to false to disable the left-hand site-wide navigation for this page. Appropriate for some pages like the search page or the 404 page.
no_ratings no Either true or false. Set to true to disable the page-ratings applet for this page. Defaults to false.

The following is an example of valid (but contrived) page metadata. The order of the metadata elements in the front-matter is not important.

---
description: Instructions for installing Docker on Ubuntu
keywords: requirements, apt, installation, ubuntu, install, uninstall, upgrade, update
redirect_from:
- /engine/installation/ubuntulinux/
- /installation/ubuntulinux/
- /engine/installation/linux/ubuntulinux/
title: Get Docker for Ubuntu
toc_min: 1
toc_max: 6
tree: false
no_ratings: true
---

Creating tabs

The use of tabs, as on pages like https://docs.docker.com/engine/api/, requires the use of HTML. The tabs use Bootstrap CSS/JS, so refer to those docs for more advanced usage. For a basic horizontal tab set, copy/paste starting from this code and implement from there. Keep an eye on those href="#id" and id="id" references as you rename, add, and remove tabs.

<ul class="nav nav-tabs">
  <li class="active"><a data-toggle="tab" data-target="#tab1">TAB 1 HEADER</a></li>
  <li><a data-toggle="tab" data-target="#tab2">TAB 2 HEADER</a></li>
</ul>
<div class="tab-content">
  <div id="tab1" class="tab-pane fade in active">TAB 1 CONTENT</div>
  <div id="tab2" class="tab-pane fade">TAB 2 CONTENT</div>
</div>

For more info and a few more permutations, see test.md.

Running in-page Javascript

If you need to run custom Javascript within a page, and it depends upon JQuery or Bootstrap, make sure the <script> tags are at the very end of the page, after all the content. Otherwise the script may try to run before JQuery and Bootstrap JS are loaded.

Note: In general, this is a bad idea.

Code and documentation copyright 2017 Docker, inc, released under the Apache 2.0 license.