Add Related topics... buttons

This commit is contained in:
John Mulhausen 2017-02-21 18:45:07 -08:00
parent eda0c811a4
commit 81c71d67a1
No known key found for this signature in database
GPG Key ID: 0FC599ECCDBFDE02
3 changed files with 285 additions and 271 deletions

View File

@ -1,35 +1,27 @@
glossary:
- term: aufs
def: |
aufs: |
aufs (advanced multi layered unification filesystem) is a Linux [filesystem](#filesystem) that
Docker supports as a storage backend. It implements the
[union mount](http://en.wikipedia.org/wiki/Union_mount) for Linux file systems.
- term: base image
def: |
base image: |
An image that has no parent is a **base image**.
- term: boot2docker
def: |
boot2docker: |
[boot2docker](http://boot2docker.io/) is a lightweight Linux distribution made
specifically to run Docker containers. The boot2docker management tool for Mac and Windows was deprecated and replaced by [`docker-machine`](#machine) which you can install with the Docker Toolbox.
- term: btrfs
def: |
btrfs: |
btrfs (B-tree file system) is a Linux [filesystem](#filesystem) that Docker
supports as a storage backend. It is a [copy-on-write](http://en.wikipedia.org/wiki/Copy-on-write)
filesystem.
- term: build
def: |
build: |
build is the process of building Docker images using a [Dockerfile](#dockerfile).
The build uses a Dockerfile and a "context". The context is the set of files in the
directory in which the image is built.
- term: cgroups
def: |
cgroups: |
cgroups is a Linux kernel feature that limits, accounts for, and isolates
the resource usage (CPU, memory, disk I/O, network, etc.) of a collection
of processes. Docker relies on cgroups to control and isolate resource limits.
*Also known as : control groups*
- term: Compose
def: |
Compose: |
[Compose](https://github.com/docker/compose) is a tool for defining and
running complex applications with Docker. With compose, you define a
multi-container application in a single file, then spin your
@ -37,8 +29,7 @@ glossary:
be done to get it running.
*Also known as : docker-compose, fig*
- term: copy-on-write
def: |
copy-on-write: |
Docker uses a
[copy-on-write](/engine/userguide/storagedriver/imagesandcontainers/#/the-copy-on-write-strategy)
technique and a [union file system](#union-file-system) for both images and
@ -58,42 +49,37 @@ glossary:
For more about copy-on-write in the context of Docker, see [Understand images,
containers, and storage
drivers](/engine/userguide/storagedriver/imagesandcontainers/).
- term: container
def: |
container: |
A container is a runtime instance of a [docker image](#image).
A Docker container consists of
- A Docker image
- Execution environment
- A standard set of instructions
A Docker image
Execution environment
A standard set of instructions
The concept is borrowed from Shipping Containers, which define a standard to ship
goods globally. Docker defines a standard to ship software.
- term: data volume
def: |
data volume: |
A data volume is a specially-designated directory within one or more containers
that bypasses the Union File System. Data volumes are designed to persist data,
independent of the container's life cycle. Docker therefore never automatically
delete volumes when you remove a container, nor will it "garbage collect"
volumes that are no longer referenced by a container.
- term: Docker
def: |
Docker: |
The term Docker can refer to
- The Docker project as a whole, which is a platform for developers and sysadmins to
The Docker project as a whole, which is a platform for developers and sysadmins to
develop, ship, and run applications
- The docker daemon process running on the host which manages images and containers
- term: Docker for Mac
def: |
The docker daemon process running on the host which manages images and containers
Docker for Mac: |
[Docker for Mac](/docker-for-mac/) is an easy-to-install,
lightweight Docker development environment designed specifically for the Mac. A
native Mac application, Docker for Mac uses the macOS Hypervisor framework,
networking, and filesystem. It's the best solution if you want to build, debug,
test, package, and ship Dockerized applications on a Mac. Docker for Mac
supersedes [Docker Toolbox](#toolbox) as state-of-the-art Docker on macOS.
- term: Docker for Windows
def: |
Docker for Windows: |
[Docker for Windows](/docker-for-windows/) is an
easy-to-install, lightweight Docker development environment designed
specifically for Windows 10 systems that support Microsoft Hyper-V
@ -104,63 +90,54 @@ glossary:
for Windows is the best solution if you want to build, debug, test, package, and
ship Dockerized applications from Windows machines. Docker for Windows
supersedes [Docker Toolbox](#toolbox) as state-of-the-art Docker on Windows.
- term: Docker Hub
def: |
Docker Hub: |
The [Docker Hub](https://hub.docker.com/) is a centralized resource for working with
Docker and its components. It provides the following services:
- Docker image hosting
- User authentication
- Automated image builds and work-flow tools such as build triggers and web hooks
- Integration with GitHub and Bitbucket
- term: Dockerfile
def: |
Docker image hosting
User authentication
Automated image builds and work-flow tools such as build triggers and web hooks
Integration with GitHub and Bitbucket
Dockerfile: |
A Dockerfile is a text document that contains all the commands you would
normally execute manually in order to build a Docker image. Docker can
build images automatically by reading the instructions from a Dockerfile.
- term: filesystem
def: |
filesystem: |
A file system is the method an operating system uses to name files
and assign them locations for efficient storage and retrieval.
Examples :
- Linux : ext4, aufs, btrfs, zfs
- Windows : NTFS
- macOS : HFS+
- term: image
def: |
Linux : ext4, aufs, btrfs, zfs
Windows : NTFS
macOS : HFS+
image: |
Docker images are the basis of [containers](#container). An Image is an
ordered collection of root filesystem changes and the corresponding
execution parameters for use within a container runtime. An image typically
contains a union of layered filesystems stacked on top of each other. An image
does not have state and it never changes.
- term: libcontainer
def: |
libcontainer: |
libcontainer provides a native Go implementation for creating containers with
namespaces, cgroups, capabilities, and filesystem access controls. It allows
you to manage the lifecycle of the container performing additional operations
after the container is created.
- term: libnetwork
def: |
libnetwork: |
libnetwork provides a native Go implementation for creating and managing container
network namespaces and other network resources. It manage the networking lifecycle
of the container performing additional operations after the container is created.
- term: link
def: |
link: |
links provide a legacy interface to connect Docker containers running on the
same host to each other without exposing the hosts' network ports. Use the
Docker networks feature instead.
- term: Machine
def: |
Machine: |
[Machine](https://github.com/docker/machine) is a Docker tool which
makes it really easy to create Docker hosts on your computer, on
cloud providers and inside your own data center. It creates servers,
installs Docker on them, then configures the Docker client to talk to them.
*Also known as : docker-machine*
- term: node
def: |
node: |
A [node](/engine/swarm/how-swarm-mode-works/nodes/) is a physical or virtual
machine running an instance of the Docker Engine in swarm mode.
@ -168,32 +145,27 @@ glossary:
manager nodes are also worker nodes.
**Worker nodes** execute tasks.
- term: overlay network driver
def: |
overlay network driver: |
Overlay network driver provides out of the box multi-host network connectivity
for docker containers in a cluster.
- term: overlay storage driver
def: |
overlay storage driver: |
OverlayFS is a [filesystem](#filesystem) service for Linux which implements a
[union mount](http://en.wikipedia.org/wiki/Union_mount) for other file systems.
It is supported by the Docker daemon as a storage driver.
- term: registry
def: |
registry: |
A Registry is a hosted service containing [repositories](#repository) of [images](#image)
which responds to the Registry API.
The default registry can be accessed using a browser at [Docker Hub](#docker-hub)
or using the `docker search` command.
- term: repository
def: |
repository: |
A repository is a set of Docker images. A repository can be shared by pushing it
to a [registry](#registry) server. The different images in the repository can be
labeled using [tags](#tag).
Here is an example of the shared [nginx repository](https://hub.docker.com/_/nginx/)
and its [tags](https://hub.docker.com/r/library/nginx/tags/)
- term: service
def: |
service: |
A [service](/engine/swarm/how-swarm-mode-works/services/) is the definition of how
you want to run your application containers in a swarm. At the most basic level
a service defines which container image to run in the swarm and which commands
@ -205,8 +177,7 @@ glossary:
application. Examples of services might include an HTTP server, a database, or
any other type of executable program that you wish to run in a distributed
environment.
- term: service discovery
def: |
service discovery: |
Swarm mode [service discovery](/engine/swarm/networking/#use-swarm-mode-service-discovery) is a DNS component
internal to the swarm that automatically assigns each service on an overlay
network in the swarm a VIP and DNS entry. Containers on the network share DNS
@ -216,11 +187,9 @@ glossary:
You dont need to expose service-specific ports to make the service available to
other services on the same overlay network. The swarms internal load balancer
automatically distributes requests to the service VIP among the active tasks.
- term: swarm
def: |
swarm: |
A [swarm](/engine/swarm/) is a cluster of one or more Docker Engines running in [swarm mode](#swarm-mode).
- term: Docker Swarm
def: |
Docker Swarm: |
Do not confuse [Docker Swarm](https://github.com/docker/swarm) with the [swarm mode](#swarm-mode) features in Docker Engine.
Docker Swarm is the name of a standalone native clustering tool for Docker.
@ -229,19 +198,16 @@ glossary:
works with Docker can now transparently scale up to multiple hosts.
*Also known as : docker-swarm*
- term: swarm mode
def: |
swarm mode: |
[Swarm mode](/engine/swarm/) refers to cluster management and orchestration
features embedded in Docker Engine. When you initialize a new swarm (cluster) or
join nodes to a swarm, the Docker Engine runs in swarm mode.
- term: tag
def: |
tag: |
A tag is a label applied to a Docker image in a [repository](#repository).
tags are how various images in a repository are distinguished from each other.
*Note : This label is not related to the key=value labels set for docker daemon*
- term: task
def: |
task: |
A [task](/engine/swarm/how-swarm-mode-works/services/#/tasks-and-scheduling) is the
atomic unit of scheduling within a swarm. A task carries a Docker container and
the commands to run inside the container. Manager nodes assign tasks to worker
@ -251,8 +217,7 @@ glossary:
containers.
![services diagram](/engine/swarm/images/services-diagram.png)
- term: Toolbox
def: |
Toolbox: |
[Docker Toolbox](/toolbox/overview/) is a legacy
installer for Mac and Windows users. It uses Oracle VirtualBox for
virtualization.
@ -263,8 +228,7 @@ glossary:
For Windows 10 systems that support Microsoft Hyper-V (Professional, Enterprise
and Education), [Docker for
Windows](/docker-for-windows/) is the better solution.
- term: Union file system
def: |
Union file system: |
Union file systems implement a [union
mount](https://en.wikipedia.org/wiki/Union_mount) and operate by creating
layers. Docker uses union file systems in conjunction with
@ -282,8 +246,7 @@ glossary:
[UnionFS](https://en.wikipedia.org/wiki/UnionFS),
[AUFS](https://en.wikipedia.org/wiki/Aufs), and
[Btrfs](https://btrfs.wiki.kernel.org/index.php/Main_Page).
- term: virtual machine
def: |
virtual machine: |
A virtual machine is a program that emulates a complete computer and imitates dedicated hardware.
It shares physical hardware resources with other users but isolates the operating system. The
end user has the same experience on a Virtual Machine as they would have on dedicated hardware.

View File

@ -2,12 +2,23 @@
title: "Docker Glossary"
description: "Glossary of terms used around Docker"
keywords: "glossary, docker, terms, definitions"
skip-right-nav: true
notoc: true
---
{% for entry in site.data.glossary.glossary %}
## {{ entry.term }}
<!--
To edit/add/remove glossary entries, visit the YAML file at:
https://github.com/docker/docker.github.io/blob/master/_data/glossary.yaml
{{ entry.def }}
To get a specific entry while writing a page in the docs, enter Liquid text
like so:
{{ site.data.glossary["aufs"] }}
-->
{% for entry in site.data.glossary %}{% assign newEntry="true" %}
## {{ entry[0] }}
{{ entry[1] }}
<span class="relatedGlossaryText" style="display:none">{{ entry[0] }}</span>
<span id="related-{{ forloop.index }}" style="display:none" class="relatedGlossary">{{ entry.term }}</span>
{% endfor %}

View File

@ -12,12 +12,52 @@ var scoreForURLMatch = 5;
var scoreForKeywordMatch = 3;
var scoreForDescriptionMatch = 1
function makeSafeForCSS(name) {
return name.replace(/[^a-z0-9]/g, function(s) {
var c = s.charCodeAt(0);
if (c == 32) return '-';
if (c >= 65 && c <= 90) return '_' + s.toLowerCase();
return '__' + ('000' + c.toString(16)).slice(-4);
});
}
function showRelated(term)
{
$("#button-"+term).css("display","none");
$("#topics-"+term).css("display","block");
}
function drawRelated(liArray,term)
{
var output = new Array();
output.push('<a href="javascript:showRelated(\'' + makeSafeForCSS(term) + '\')" id="button-'+ makeSafeForCSS(term) +'" class="button darkblue-btn">Related topics...</a>');
output.push('<ul id="topics-' + makeSafeForCSS(term) + '" style="display:none">');
for(i=0;i<liArray.length;i++) output.push(liArray[i]);
output.push('</ul>')
return output.join('\n');
}
function glossaryCheck() {
if (window.location.href.indexOf("/glossary/") > -1)
{
console.log(metadata);
// you're viewing the glossary; load related topics for each entry
$(".relatedGlossary").each(function(){
console.log(this);
$(".relatedGlossaryText").each(function(){
var output = new Array();
var thisTerm = this.innerText.toLowerCase();
for(i=0;i<metadata.pages.length;i++)
{
if(metadata.pages[i].keywords) {
if(metadata.pages[i].keywords.toLowerCase().indexOf(thisTerm) > -1)
{
output.push('<li><a href="' + metadata.pages[i].url + '">' + metadata.pages[i].title + '</a></li>');
}
}
}
if(output.length > 0)
{
$(this).after(drawRelated(output,this.innerText));
}
});
}
}