Experimental CLI features are enabled by default since docker 20.10, so the
instructions for enabling the features were no longer needed. Also tweaked the
description a bit to align how we describe experimental features elsewhere.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The reference pages show badges for commands and options (flags) that require
a minimum API version. While this information can be useful if an option was
added in a recent version of the Docker Engine (and API), these badges are no
longer relevant to most users if the minimum required version is quite "old".
We assume users reading these pages to be on the current version, or at most
on the version before that (which is already "unsupported"). Users running
older versions have bigger problems on their hand, so we're not accounting for
those.
So, to reduce unnecessary clutter on the page, we only show the minimum required
API version if it requires a relatively recent version of the Engine.
A new "min_api_threshold" option was added in the `_config.yml`, which specifies
the minimum required API version for which we show a badge (currently: API v1.40,
or "Docker 19.03").
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The "parent command" can be useful if the page describes a subcommand,
but generally having a link to `docker` may not provide much value.
This patch omits the "parent command" section if the parent command
is the `docker` command itself.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The "description" header included the short description of each command. In most
cases, this description was very short ("run a container"), and adding the extra
header before it only was adding extra noise.
This patch:
- removes the top "description" header
- renames the existing "extended description" header to "description" (a hidden
"extended-description" anchor is added for backward compatibility)
As the extended description can be long (hopefully!), there may be a long distance
between the `Usage` section and the `Options` section. To help users navigate
to the list of available options, an extra line is printed if an extended
description is available for the command, including a link to the corresponding
section:
> Refer to the options section for an overview of available OPTIONS for this command.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This metadata condition was used for features that were only available
on Docker Enterprise Edition ("Docker EE"), and is no longer used.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* updated registry.json
* updated install info
* fix some formatting issues for registry.json instructions
- use `console` blocks for command-line examples
- use different prompts for "powershell" and "non-powershell" examples
- fix path of registry.json on macOS
- wrap some of the lines to ~80 chars
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Co-authored-by: Sebastiaan van Stijn <github@gone.nl>
This code-block uses the "console" highlighting, which considers lines that do
not start with a prompt to be "output" of the command, and non-selectable.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Adjust text, add modal pop-up for browsers with JavaScript enabled, and show
EULA inline for browsers without JavaScript.
Added configuration options in the _config.json to set the correct URLs
once known.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This fixes various inconsistencies between the landing page and the
other pages by sharing more styles between both:
- fix homepage using a different color for the active tab
- fix homepage not having "hover" styles for the top navigation
I addition, this:
- fixes unwanted whitespace in the hamburger-menu on mobile
- fixes "active" menu item not being highlighted on mobile
- fixes left-side aligning of left-hand menu on desktop
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
- Add missing code-hints (console, yaml)
- Consistently add an empty line after code-blocks
- Combine some examples where the output and the command were
put in separate blocks. With the "console" code-hint, this
is no longer nescessary.
- fix indentation in cloud/ecs-integration.md, which caused the
numbered-list to be interrupted.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Added .md files for SLES and RHEL engine installation. Added indexing to _data/toc.yaml and engine/install/index.md. Modified engine/install/index.md, includes/install-script.md, engine/security/rootless.md, storage/storagedriver/device-mapper-driver.md, and storage/storagedriver/select-storage-driver.md to add info for added RHEL and SLES support. Modified engine/install/ubuntu.md to add s390x repos and other info. Added tab target for RHEL and SLES to engine/security/rootless.md along with other info.
Signed-off-by: Nirman Narang <narang@us.ibm.com>
Markdown links don't work well in include files, so use a plain "HTML" link
instead.
Also removing the mention of Docker 18.09. Docker 18.09 has been released
3 years ago, so users not yet on that release (or up) did not update their
docker install for 3 years, which should be "rare" (hopefully)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Some works still to be done:
- styling may need some tweaking
- if we don't have breadcrumbs for a page, positioning of other elements should
be adjusted
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Rephrasing some of this section, and try to make it look less "cluttered".
It's not perfect yet (some other changes may be needed), but can be
addressed in a follow-up.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The YAML files now support a new "details_url" property for flags, which
can be set if there's an anchor on the same page, or an URL where to
find a detailed description of the flag (Currently only anchors are used).
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This tones down the prompt and command output, so that the commands
to run stand out more clearly.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
= _includes/install-script.md, engine/install/linux-postinstall.md =
- Remove "Rootless mode is currently available as an experimental feature."
Close issue 12050
= engine/security/rootless.md =
== "Prerequiresites" section ==
- Remove information about old distros (Debian 9, CentOS 7.5-7.6)
== "Distribution-specific hint" section ==
- Tabified (`<div class="tab-content" />`)
== "Known limitations" section ==
- Kernel 5.11 supports rootless overlayfs, without the Ubuntu/Debian patch.
== "Install" section ==
- Promote RPM/DEB installation over TGZ installation.
See docker/roadmap issue 188
== "Uninstall" section ==
- Add "Uninstall" section.
Close issue 12053
== "Usage" section ==
- Added more information about systemd
- Move `nsenter` tips to "Tips for debugging" subsection under "Troubleshooting" section
== "Best practice" section ==
- Remove guide for `lxc-user-nic` network driver due to immaturity.
Will be brought back in future.
See rootless-containers/rootlesskit issue 138 .
== "Troubleshooting" section ==
- Add a guide for "can't open lock file /run/xtables.lock: Permission denied" (SELinux).
See moby/moby issue 41230
- Add a guide for "failed to register layer: ApplyLayer exit status 1 ..." (NFS).
Close docker/for-linux issue 1172
- Improve guides for slirp4netns.
- Remove v19.03 information (e.g., "cgroup v2 is unsupported, use cgroup v1")
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Some flag descriptions contain point-brackets to indicate required
options, e.g.:
--ssh stringArray SSH agent socket or keys to expose to the build (format: default|<id>[=<socket>|<key>[,<key>]])
When rendering those options as HTML, those options were not visible as
they were rendered as a HTML element.
Given that flag-descriptions are not expected to have MarkDown or HTML
formatting, we can HTML-escape them to prevent this.
This patch escapes the flag-descriptions using liquid's `esacape` command.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
As we don't generate a metadata.json, auto-complete is non-functional,
so disabling the script for previews.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This reduces the time to build, as Jekyll doesn't have to
render the body, then copy it into the layout:
Production before: 62 seconds
Production after: 46 seconds
Development before: 35 seconds
Development after: 33 seconds
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
I don't think the read-time is adding much value on short pages. The
reader is likely able to make a better estimation how long it would
take to read.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This patch updates the default configuration to match a "development"
situation, and introduces build-options to produce a "production"
build.
By default (dev environment):
- Google Analytics / GTM and PollDaddy are disabled
- SASS builds non-minified stylesheets (for easier readabililty)
- Excludes "enterprise" stubs
Building a "production" build locally is still possible by overriding
the `JEKYLL_ENV` build-arg;
JEKYLL_ENV=production docker-compose up --build
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
These were not used in the generated redirect pages,
so we can remove them.
Also setting the "sitemap" metadata through the _config.yml
so that we don't have to set it in each of the stubs.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
The `hide_from_sitemap` metadata variable was a custom thing we implemented
to add a "noindex" meta-header to pages and to exclude a page from the
search auto-complete.
However, pages with that option set would still be included in sitemap.xml,
resulting in search engines to visit those pages (only to discover they
should not index them).
This patch replaces the custom `hide_from_sitemap` value for `sitemap: false`,
which is a metadata variable that's defined by the "jekyll-sitemap" plugin
we use to generate the sitemap.xml;
https://github.com/jekyll/jekyll-sitemap/blob/v1.4.0/README.md#exclusions
Setting this variable will now:
- add a "noindex" metadata header to the page
- exclude the page from the sitemap.xml.
- exclude the page from /js/metadata.json (used for search autocomplete)
Also fixed an issue in the metadata.json where the `notoc` metadata was
used to exclude pages, however that variable is meant to disable the
in-page TOC (right-hand side navigation with anchor links).
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This topic was removed in 9bebb666d9
We may want to add back the part describing sharing sshagent somewhere,
which is not really a feature related to osxfs. Also, some generic
description about file sharing (permissions, syncing) should probably
be added back.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This moves our scripts in the head section, but use "defer" loading to allow the
browser to start loading them as soon as possible. Actual execution of deferred
scripts happens once the HTML is fully parsed.
see https://flaviocopes.com/javascript-async-defer/#with-defer-in-the-head
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Looks like lighthouse doesn't like prefetch for fonts, so switching
to preload. Also adds a missing variant of Geomanist to the list.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
rewrite the script to not depend on jQuery, so that it can be run as
soon as possible.
Also switch to use localstorage instead of cookies, which is a more
suitable mechanism for this, and use the same HTML include as was
used on the landing-page for the whole site.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
- use a config-variable for the ID
- exclude the script if no ID is set
- set default font and font-color
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
From the script's repository: https://github.com/wilddeer/stickyfill
> Stickyfill did a good job while the browsers were implementing position: sticky
> support. You can now safely use stickies without a polyfill, all modern browsers
> support them natively:
>
> https://caniuse.com/?search=position%3Asticky
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Canonical links are expected to be full URLs, not relative.
For this to work, the Dockerfile had to be updated, because we're stripping
the domain-name from links ("<a href..."), but the script currently also included
"<link rel='canonical' .." tags.
With the change, canonical links are left alone;
These hrefs will be replaced
echo '<a class=foo href="https://docs.docker.com/foo">hello</a>' | sed -e 's#\(<a[^>]* href="\)https://docs.docker.com/#\1/#g'
# <a class=foo href="/foo">hello</a>
echo '<a href="https://docs.docker.com/foo">hello</a>' | sed -e 's#\(<a[^>]* href="\)https://docs.docker.com/#\1/#g'
# <a href="/foo">hello</a>
But, for example, this one is left alone
echo '<link rel="canonical" href="https://docs.docker.com/foo/bar" />' | sed -e 's#\(<a[^>]* href="?\)https://docs.docker.com/#\1/#g'
# <link rel="canonical" href="https://docs.docker.com/foo/bar" />
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
See https://web.dev/external-anchors-use-rel-noopener/
Using noopener, as that addresses the security issue. "noreferer" blocks
the REFERER header, which may still be useful for some target URLs.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Commits 7e5352f1ae and e72030d2c6
added automatic generation of page titles and descriptions from the page's content
if no front-matter metadata was present.
Some pages may include characters that should be escaped before using as a HTML
attribute or JSON field.
This patch adds escaping to those texts to prevent the HTML or JSON from being
invalid.
Before this:
HTML meta:
<meta name="description" content="docker build: The `docker build` command builds Docker images from a Dockerfile and a " context".="" a="" build's="" context="" is="" the="" set="" of="" files="" located="" in="" specified="" `path`="" or="" `url`...."="" />
JSON meta:
<script type="application/ld+json">{"@context":"http://schema.org","@type":"WebPage","headline":"docker build","description":"docker build: The `docker build` command builds Docker images from a Dockerfile and a "context". A build's context is the set of files located in the specified `PATH` or `URL`....","url":"https://docs.docker.com/engine/reference/commandline/build/"}</script>
After this:
HTML meta:
<meta name="description" content="docker build: The `docker build` command builds Docker images from a Dockerfile and a "context". A build's context is the set of files located in the specified `PATH` or `URL`...." />
JSON meta:
<script type="application/ld+json">{"@context":"http://schema.org","@type":"WebPage","headline":"docker build","description":"docker build: The `docker build` command builds Docker images from a Dockerfile and a \"context\". A build's context is the set of files located in the specified `PATH` or `URL`....","url":"https://docs.docker.com/engine/reference/commandline/build/"}</script>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>