1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #9682 from SvenDowideit/scottstamp-stale-links-pr-carry

Scottstamp stale links pr carry
This commit is contained in:
Fred Lifton 2014-12-17 16:03:55 -08:00
commit 5df189a1b0
40 changed files with 153 additions and 60 deletions

View file

@ -55,6 +55,9 @@ docs-shell: docs-build
docs-release: docs-build docs-release: docs-build
$(DOCKER_RUN_DOCS) -e OPTIONS -e BUILD_ROOT "$(DOCKER_DOCS_IMAGE)" ./release.sh $(DOCKER_RUN_DOCS) -e OPTIONS -e BUILD_ROOT "$(DOCKER_DOCS_IMAGE)" ./release.sh
docs-test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" ./test.sh
test: build test: build
$(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration test-integration-cli $(DOCKER_RUN_DOCKER) hack/make.sh binary cross test-unit test-integration test-integration-cli

View file

@ -33,6 +33,11 @@ In the root of the `docker` source directory:
If you have any issues you need to debug, you can use `make docs-shell` and then If you have any issues you need to debug, you can use `make docs-shell` and then
run `mkdocs serve` run `mkdocs serve`
## Testing the links
You can use `make docs-test` to generate a report of missing links that are referenced in
the documentation - there should be none.
## Adding a new document ## Adding a new document
New document (`.md`) files are added to the documentation builds by adding them New document (`.md`) files are added to the documentation builds by adding them

79
docs/docvalidate.py Executable file
View file

@ -0,0 +1,79 @@
#!/usr/bin/env python
""" I honestly don't even know how the hell this works, just use it. """
__author__ = "Scott Stamp <scott@hypermine.com>"
from HTMLParser import HTMLParser
from urlparse import urljoin
from sys import setrecursionlimit
import re
import requests
setrecursionlimit(10000)
root = 'http://localhost:8000'
class DataHolder:
def __init__(self, value=None, attr_name='value'):
self._attr_name = attr_name
self.set(value)
def __call__(self, value):
return self.set(value)
def set(self, value):
setattr(self, self._attr_name, value)
return value
def get(self):
return getattr(self, self._attr_name)
class Parser(HTMLParser):
global root
ids = set()
crawled = set()
anchors = {}
pages = set()
save_match = DataHolder(attr_name='match')
def __init__(self, origin):
self.origin = origin
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
attrs = dict(attrs)
if 'href' in attrs:
href = attrs['href']
if re.match('^{0}|\/|\#[\S]{{1,}}'.format(root), href):
if self.save_match(re.search('.*\#(.*?)$', href)):
if self.origin not in self.anchors:
self.anchors[self.origin] = set()
self.anchors[self.origin].add(
self.save_match.match.groups(1)[0])
url = urljoin(root, href)
if url not in self.crawled and not re.match('^\#', href):
self.crawled.add(url)
Parser(url).feed(requests.get(url).content)
if 'id' in attrs:
self.ids.add(attrs['id'])
# explicit <a name=""></a> references
if 'name' in attrs:
self.ids.add(attrs['name'])
r = requests.get(root)
parser = Parser(root)
parser.feed(r.content)
for anchor in sorted(parser.anchors):
if not re.match('.*/\#.*', anchor):
for anchor_name in parser.anchors[anchor]:
if anchor_name not in parser.ids:
print 'Missing - ({0}): #{1}'.format(
anchor.replace(root, ''), anchor_name)

View file

@ -5,7 +5,7 @@ page_keywords: Examples, Usage, base image, docker, documentation, examples
# Create a Base Image # Create a Base Image
So you want to create your own [*Base Image*]( So you want to create your own [*Base Image*](
/terms/image/#base-image-def)? Great! /terms/image/#base-image)? Great!
The specific process will depend heavily on the Linux distribution you The specific process will depend heavily on the Linux distribution you
want to package. We have some examples below, and you are encouraged to want to package. We have some examples below, and you are encouraged to

View file

@ -17,7 +17,7 @@ If you get `docker: command not found` or something like
incomplete Docker installation or insufficient privileges to access incomplete Docker installation or insufficient privileges to access
Docker on your machine. Docker on your machine.
Please refer to [*Installation*](/installation/#installation-list) Please refer to [*Installation*](/installation)
for installation instructions. for installation instructions.
## Download a pre-built image ## Download a pre-built image
@ -26,7 +26,7 @@ for installation instructions.
$ sudo docker pull ubuntu $ sudo docker pull ubuntu
This will find the `ubuntu` image by name on This will find the `ubuntu` image by name on
[*Docker Hub*](/userguide/dockerrepos/#find-public-images-on-docker-hub) [*Docker Hub*](/userguide/dockerrepos/#searching-for-images)
and download it from [Docker Hub](https://hub.docker.com) to a local and download it from [Docker Hub](https://hub.docker.com) to a local
image cache. image cache.
@ -174,6 +174,6 @@ will be stored (as a diff). See which images you already have using the
You now have an image state from which you can create new instances. You now have an image state from which you can create new instances.
Read more about [*Share Images via Read more about [*Share Images via
Repositories*](/userguide/dockerrepos/#working-with-the-repository) or Repositories*](/userguide/dockerrepos) or
continue to the complete [*Command continue to the complete [*Command
Line*](/reference/commandline/cli/#cli) Line*](/reference/commandline/cli)

View file

@ -7,7 +7,7 @@ page_keywords: chef, installation, usage, docker, documentation
> **Note**: > **Note**:
> Please note this is a community contributed installation path. The only > Please note this is a community contributed installation path. The only
> `official` installation is using the > `official` installation is using the
> [*Ubuntu*](/installation/ubuntulinux/#ubuntu-linux) installation > [*Ubuntu*](/installation/ubuntulinux) installation
> path. This version may sometimes be out of date. > path. This version may sometimes be out of date.
## Requirements ## Requirements

View file

@ -6,7 +6,7 @@ page_keywords: puppet, installation, usage, docker, documentation
> *Note:* Please note this is a community contributed installation path. The > *Note:* Please note this is a community contributed installation path. The
> only `official` installation is using the > only `official` installation is using the
> [*Ubuntu*](/installation/ubuntulinux/#ubuntu-linux) installation > [*Ubuntu*](/installation/ubuntulinux) installation
> path. This version may sometimes be out of date. > path. This version may sometimes be out of date.
## Requirements ## Requirements

View file

@ -33,7 +33,7 @@ of another container. Of course, if the host system is setup
accordingly, containers can interact with each other through their accordingly, containers can interact with each other through their
respective network interfaces — just like they can interact with respective network interfaces — just like they can interact with
external hosts. When you specify public ports for your containers or use external hosts. When you specify public ports for your containers or use
[*links*](/userguide/dockerlinks/#working-with-links-names) [*links*](/userguide/dockerlinks)
then IP traffic is allowed between containers. They can ping each other, then IP traffic is allowed between containers. They can ping each other,
send/receive UDP packets, and establish TCP connections, but that can be send/receive UDP packets, and establish TCP connections, but that can be
restricted if necessary. From a network architecture point of view, all restricted if necessary. From a network architecture point of view, all

View file

@ -6,7 +6,7 @@ page_keywords: docker, supervisor, process management
> **Note**: > **Note**:
> - **If you don't like sudo** then see [*Giving non-root > - **If you don't like sudo** then see [*Giving non-root
> access*](/installation/binaries/#dockergroup) > access*](/installation/binaries/#giving-non-root-access)
Traditionally a Docker container runs a single process when it is Traditionally a Docker container runs a single process when it is
launched, for example an Apache daemon or a SSH server daemon. Often launched, for example an Apache daemon or a SSH server daemon. Often

View file

@ -6,7 +6,7 @@ page_keywords: docker, example, package installation, networking, debian, ubuntu
> **Note**: > **Note**:
> - **If you don't like sudo** then see [*Giving non-root > - **If you don't like sudo** then see [*Giving non-root
> access*](/installation/binaries/#dockergroup). > access*](/installation/binaries/#giving-non-root-access).
> - **If you're using OS X or docker via TCP** then you shouldn't use > - **If you're using OS X or docker via TCP** then you shouldn't use
> sudo. > sudo.

View file

@ -6,7 +6,7 @@ page_keywords: docker, example, package installation, networking, couchdb, data
> **Note**: > **Note**:
> - **If you don't like sudo** then see [*Giving non-root > - **If you don't like sudo** then see [*Giving non-root
> access*](/installation/binaries/#dockergroup) > access*](/installation/binaries/#giving-non-root-access)
Here's an example of using data volumes to share the same data between Here's an example of using data volumes to share the same data between
two CouchDB containers. This could be used for hot upgrades, testing two CouchDB containers. This could be used for hot upgrades, testing

View file

@ -6,7 +6,7 @@ page_keywords: docker, example, package installation, node, centos
> **Note**: > **Note**:
> - **If you don't like sudo** then see [*Giving non-root > - **If you don't like sudo** then see [*Giving non-root
> access*](/installation/binaries/#dockergroup) > access*](/installation/binaries/#giving-non-root-access)
The goal of this example is to show you how you can build your own The goal of this example is to show you how you can build your own
Docker images from a parent image using a `Dockerfile` Docker images from a parent image using a `Dockerfile`

View file

@ -6,7 +6,7 @@ page_keywords: docker, example, package installation, postgresql
> **Note**: > **Note**:
> - **If you don't like sudo** then see [*Giving non-root > - **If you don't like sudo** then see [*Giving non-root
> access*](/installation/binaries/#dockergroup) > access*](/installation/binaries/#giving-non-root-access)
## Installing PostgreSQL on Docker ## Installing PostgreSQL on Docker

View file

@ -42,7 +42,7 @@
[`POST /containers/(id)/stop`](../reference/api/docker_remote_api_v1.9/#post--containers-(id)-stop) ** [`POST /containers/(id)/stop`](../reference/api/docker_remote_api_v1.9/#post--containers-(id)-stop) **
[`GET /containers/(id)/top`](../reference/api/docker_remote_api_v1.9/#get--containers-(id)-top) ** [`GET /containers/(id)/top`](../reference/api/docker_remote_api_v1.9/#get--containers-(id)-top) **
[`POST /containers/(id)/wait`](../reference/api/docker_remote_api_v1.9/#post--containers-(id)-wait) ** [`POST /containers/(id)/wait`](../reference/api/docker_remote_api_v1.9/#post--containers-(id)-wait) **
[`POST /containers/create`](../reference/api/docker_remote_api_v1.9/#post--containers-create) ** [`POST /containers/create`](/reference/api/docker_remote_api_v1.9/#create-a-container) **
[`GET /containers/json`](../reference/api/docker_remote_api_v1.9/#get--containers-json) ** [`GET /containers/json`](../reference/api/docker_remote_api_v1.9/#get--containers-json) **
[`POST /containers/(id)/resize`](../reference/api/docker_remote_api_v1.9/#get--containers-resize) ** [`POST /containers/(id)/resize`](../reference/api/docker_remote_api_v1.9/#get--containers-resize) **
   

View file

@ -40,10 +40,10 @@ over to the [User Guide](/userguide).
## Standard Ubuntu Installation ## Standard Ubuntu Installation
If you want a more hands-on installation, then you can follow the If you want a more hands-on installation, then you can follow the
[*Ubuntu*](../ubuntulinux/#ubuntu-linux) instructions installing Docker [*Ubuntu*](/installation/ubuntulinux) instructions installing Docker
on any EC2 instance running Ubuntu. Just follow Step 1 from [*Amazon on any EC2 instance running Ubuntu. Just follow Step 1 from the Amazon
QuickStart*](#amazon-quickstart) to pick an image (or use one of your QuickStart above to pick an image (or use one of your
own) and skip the step with the *User Data*. Then continue with the own) and skip the step with the *User Data*. Then continue with the
[*Ubuntu*](../ubuntulinux/#ubuntu-linux) instructions. [*Ubuntu*](/installation/ubuntulinux) instructions.
Continue with the [User Guide](/userguide/). Continue with the [User Guide](/userguide/).

View file

@ -77,7 +77,7 @@ need to add `sudo` to all the client commands.
> **Warning**: > **Warning**:
> The *docker* group (or the group specified with `-G`) is root-equivalent; > The *docker* group (or the group specified with `-G`) is root-equivalent;
> see [*Docker Daemon Attack Surface*]( > see [*Docker Daemon Attack Surface*](
> /articles/security/#dockersecurity-daemon) details. > /articles/security/#docker-daemon-attack-surface) details.
## Upgrades ## Upgrades

View file

@ -6,8 +6,8 @@ page_keywords: Docker, Docker documentation, installation, debian
Docker is supported on the following versions of Debian: Docker is supported on the following versions of Debian:
- [*Debian 8.0 Jessie (64-bit)*](#debian-jessie-8-64-bit) - [*Debian 8.0 Jessie (64-bit)*](#debian-jessie-80-64-bit)
- [*Debian 7.5 Wheezy (64-bit)*](#debian-wheezy-7-64-bit) - [*Debian 7.5 Wheezy (64-bit)*](#debian-wheezystable-7x-64-bit)
## Debian Jessie 8.0 (64-bit) ## Debian Jessie 8.0 (64-bit)
@ -81,7 +81,7 @@ use the `-G` flag to specify an alternative group.
> **Warning**: > **Warning**:
> The `docker` group (or the group specified with the `-G` flag) is > The `docker` group (or the group specified with the `-G` flag) is
> `root`-equivalent; see [*Docker Daemon Attack Surface*]( > `root`-equivalent; see [*Docker Daemon Attack Surface*](
> /articles/security/#dockersecurity-daemon) details. > /articles/security/#docker-daemon-attack-surface) details.
**Example:** **Example:**

View file

@ -240,7 +240,7 @@ alternative group.
> **Warning**: > **Warning**:
> The `docker` group (or the group specified with the `-G` flag) is > The `docker` group (or the group specified with the `-G` flag) is
> `root`-equivalent; see [*Docker Daemon Attack Surface*]( > `root`-equivalent; see [*Docker Daemon Attack Surface*](
> /articles/security/#dockersecurity-daemon) for details. > /articles/security/#docker-daemon-attack-surface) for details.
**Example:** **Example:**

View file

@ -366,7 +366,7 @@ output is now generated in the client, using the
You can now split stderr from stdout. This is done by You can now split stderr from stdout. This is done by
prefixing a header to each transmission. See prefixing a header to each transmission. See
[`POST /containers/(id)/attach`]( [`POST /containers/(id)/attach`](
/reference/api/docker_remote_api_v1.9/#post--containers-(id)-attach "POST /containers/(id)/attach"). /reference/api/docker_remote_api_v1.9/#attach-to-a-container "POST /containers/(id)/attach").
The WebSocket attach is unchanged. Note that attach calls on the The WebSocket attach is unchanged. Note that attach calls on the
previous API version didn't change. Stdout and stderr are merged. previous API version didn't change. Stdout and stderr are merged.

View file

@ -499,7 +499,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.
@ -998,7 +998,7 @@ Build an image from Dockerfile via stdin
The archive must include a file called `Dockerfile` The archive must include a file called `Dockerfile`
at its root. It may include any number of other files, at its root. It may include any number of other files,
which will be accessible in the build context (See the [*ADD build which will be accessible in the build context (See the [*ADD build
command*](/reference/builder/#dockerbuilder)). command*](/reference/builder/#add)).
Query Parameters: Query Parameters:

View file

@ -535,7 +535,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -583,7 +583,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -576,7 +576,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -584,7 +584,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -724,7 +724,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -678,7 +678,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](../docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -525,7 +525,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](/api/docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -470,7 +470,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](/api/docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.7/#create-a-container),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -518,7 +518,7 @@ Status Codes:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create` [`POST /containers/create`
](/api/docker_remote_api_v1.9/#post--containers-create "POST /containers/create"), ](/reference/api/docker_remote_api_v1.9/#create-a-container "POST /containers/create"),
the stream is the raw data from the process PTY and client's stdin. the stream is the raw data from the process PTY and client's stdin.
When the TTY is disabled, then the stream is multiplexed to separate When the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.

View file

@ -522,7 +522,7 @@ Status Codes:
**Stream details**: **Stream details**:
When using the TTY setting is enabled in When using the TTY setting is enabled in
[`POST /containers/create`](#post--containers-create), the [`POST /containers/create`](#create-a-container), the
stream is the raw data from the process PTY and client's stdin. When stream is the raw data from the process PTY and client's stdin. When
the TTY is disabled, then the stream is multiplexed to separate the TTY is disabled, then the stream is multiplexed to separate
stdout and stderr. stdout and stderr.
@ -1004,7 +1004,7 @@ Build an image from Dockerfile using a POST body.
The archive must include a file called `Dockerfile` The archive must include a file called `Dockerfile`
at its root. It may include any number of other files, at its root. It may include any number of other files,
which will be accessible in the build context (See the [*ADD build which will be accessible in the build context (See the [*ADD build
command*](/reference/builder/#dockerbuilder)). command*](/reference/builder/#add)).
Query Parameters: Query Parameters:

View file

@ -79,7 +79,7 @@ guide](/articles/dockerfile_best-practices/#build-cache) for more information):
Successfully built 1a5ffc17324d Successfully built 1a5ffc17324d
When you're done with your build, you're ready to look into [*Pushing a When you're done with your build, you're ready to look into [*Pushing a
repository to its registry*]( /userguide/dockerrepos/#image-push). repository to its registry*]( /userguide/dockerrepos/#contributing-to-docker-hub).
## Format ## Format
@ -93,7 +93,7 @@ be UPPERCASE in order to distinguish them from arguments more easily.
Docker runs the instructions in a `Dockerfile` in order. **The Docker runs the instructions in a `Dockerfile` in order. **The
first instruction must be \`FROM\`** in order to specify the [*Base first instruction must be \`FROM\`** in order to specify the [*Base
Image*](/terms/image/#base-image-def) from which you are building. Image*](/terms/image/#base-image) from which you are building.
Docker will treat lines that *begin* with `#` as a Docker will treat lines that *begin* with `#` as a
comment. A `#` marker anywhere else in the line will comment. A `#` marker anywhere else in the line will
@ -186,11 +186,11 @@ Or
FROM <image>:<tag> FROM <image>:<tag>
The `FROM` instruction sets the [*Base Image*](/terms/image/#base-image-def) The `FROM` instruction sets the [*Base Image*](/terms/image/#base-image)
for subsequent instructions. As such, a valid `Dockerfile` must have `FROM` as for subsequent instructions. As such, a valid `Dockerfile` must have `FROM` as
its first instruction. The image can be any valid image it is especially easy its first instruction. The image can be any valid image it is especially easy
to start by **pulling an image** from the [*Public Repositories*]( to start by **pulling an image** from the [*Public Repositories*](
/userguide/dockerrepos/#using-public-repositories). /userguide/dockerrepos).
`FROM` must be the first non-comment instruction in the `Dockerfile`. `FROM` must be the first non-comment instruction in the `Dockerfile`.
@ -763,7 +763,7 @@ and mark it as holding externally mounted volumes from native host or other
containers. The value can be a JSON array, `VOLUME ["/var/log/"]`, or a plain containers. The value can be a JSON array, `VOLUME ["/var/log/"]`, or a plain
string with multiple arguments, such as `VOLUME /var/log` or `VOLUME /var/log string with multiple arguments, such as `VOLUME /var/log` or `VOLUME /var/log
/var/db`. For more information/examples and mounting instructions via the /var/db`. For more information/examples and mounting instructions via the
Docker client, refer to [*Share Directories via Volumes*](/userguide/dockervolumes/#volume-def) Docker client, refer to [*Share Directories via Volumes*](/userguide/dockervolumes/#volume)
documentation. documentation.
> **Note**: > **Note**:

View file

@ -459,7 +459,7 @@ Use this command to build Docker images from a Dockerfile and a
The files at `PATH` or `URL` are called the "context" of the build. The The files at `PATH` or `URL` are called the "context" of the build. The
build process may refer to any of the files in the context, for example build process may refer to any of the files in the context, for example
when using an [*ADD*](/reference/builder/#dockerfile-add) instruction. when using an [*ADD*](/reference/builder/#add) instruction.
When a single Dockerfile is given as `URL` or is piped through `STDIN` When a single Dockerfile is given as `URL` or is piped through `STDIN`
(`docker build - < Dockerfile`), then no context is set. (`docker build - < Dockerfile`), then no context is set.
@ -539,7 +539,7 @@ machine and that no parsing of the Dockerfile
happens at the client side (where you're running happens at the client side (where you're running
`docker build`). That means that *all* the files at `docker build`). That means that *all* the files at
`PATH` get sent, not just the ones listed to `PATH` get sent, not just the ones listed to
[*ADD*](/reference/builder/#dockerfile-add) in the Dockerfile. [*ADD*](/reference/builder/#add) in the Dockerfile.
The transfer of context from the local machine to the Docker daemon is The transfer of context from the local machine to the Docker daemon is
what the `docker` client means when you see the what the `docker` client means when you see the
@ -1817,7 +1817,7 @@ Search [Docker Hub](https://hub.docker.com) for images
-s, --stars=0 Only displays with at least x stars -s, --stars=0 Only displays with at least x stars
See [*Find Public Images on Docker Hub*]( See [*Find Public Images on Docker Hub*](
/userguide/dockerrepos/#find-public-images-on-docker-hub) for /userguide/dockerrepos/#searching-for-images) for
more details on finding shared images from the command line. more details on finding shared images from the command line.
## start ## start
@ -1853,7 +1853,7 @@ grace period, `SIGKILL`.
You can group your images together using names and tags, and then upload You can group your images together using names and tags, and then upload
them to [*Share Images via Repositories*]( them to [*Share Images via Repositories*](
/userguide/dockerrepos/#working-with-the-repository). /userguide/dockerrepos/#contributing-to-docker-hub).
## top ## top

View file

@ -7,7 +7,7 @@ page_keywords: docker, run, configure, runtime
**Docker runs processes in isolated containers**. When an operator **Docker runs processes in isolated containers**. When an operator
executes `docker run`, she starts a process with its own file system, executes `docker run`, she starts a process with its own file system,
its own networking, and its own isolated process tree. The its own networking, and its own isolated process tree. The
[*Image*](/terms/image/#image-def) which starts the process may define [*Image*](/terms/image/#image) which starts the process may define
defaults related to the binary to run, the networking to expose, and defaults related to the binary to run, the networking to expose, and
more, but `docker run` gives final control to the operator who starts more, but `docker run` gives final control to the operator who starts
the container from the image. That's the main reason the container from the image. That's the main reason
@ -114,7 +114,7 @@ The UUID identifiers come from the Docker daemon, and if you do not
assign a name to the container with `--name` then the daemon will also assign a name to the container with `--name` then the daemon will also
generate a random string name too. The name can become a handy way to generate a random string name too. The name can become a handy way to
add meaning to a container since you can use this name when defining add meaning to a container since you can use this name when defining
[*links*](/userguide/dockerlinks/#working-with-links-names) (or any [*links*](/userguide/dockerlinks) (or any
other place you need to identify a container). This works for both other place you need to identify a container). This works for both
background and foreground Docker containers. background and foreground Docker containers.
@ -420,7 +420,7 @@ familiar with using LXC directly.
## Overriding Dockerfile image defaults ## Overriding Dockerfile image defaults
When a developer builds an image from a [*Dockerfile*](/reference/builder/#dockerbuilder) When a developer builds an image from a [*Dockerfile*](/reference/builder)
or when she commits it, the developer can set a number of default parameters or when she commits it, the developer can set a number of default parameters
that take effect when the image starts up as a container. that take effect when the image starts up as a container.
@ -634,7 +634,7 @@ container's `/etc/hosts` entry will be automatically updated.
The volumes commands are complex enough to have their own documentation The volumes commands are complex enough to have their own documentation
in section [*Managing data in in section [*Managing data in
containers*](/userguide/dockervolumes/#volume-def). A developer can define containers*](/userguide/dockervolumes). A developer can define
one or more `VOLUME`'s associated with an image, but only the operator one or more `VOLUME`'s associated with an image, but only the operator
can give access from one container to another (or from a container to a can give access from one container to another (or from a container to a
volume mounted on the host). volume mounted on the host).

View file

@ -8,10 +8,10 @@ page_keywords: containers, lxc, concepts, explanation, image, container
![](/terms/images/docker-filesystems-debian.png) ![](/terms/images/docker-filesystems-debian.png)
In Docker terminology, a read-only [*Layer*](/terms/layer/#layer-def) is In Docker terminology, a read-only [*Layer*](/terms/layer/#layer) is
called an **image**. An image never changes. called an **image**. An image never changes.
Since Docker uses a [*Union File System*](/terms/layer/#ufs-def), the Since Docker uses a [*Union File System*](/terms/layer/#union-file-system), the
processes think the whole file system is mounted read-write. But all the processes think the whole file system is mounted read-write. But all the
changes go to the top-most writeable layer, and underneath, the original changes go to the top-most writeable layer, and underneath, the original
file in the read-only image is unchanged. Since images don't change, file in the read-only image is unchanged. Since images don't change,

View file

@ -7,7 +7,7 @@ page_keywords: containers, lxc, concepts, explanation, image, container
## Introduction ## Introduction
In a traditional Linux boot, the kernel first mounts the root [*File In a traditional Linux boot, the kernel first mounts the root [*File
System*](/terms/filesystem/#filesystem-def) as read-only, checks its System*](/terms/filesystem) as read-only, checks its
integrity, and then switches the whole rootfs volume to read-write mode. integrity, and then switches the whole rootfs volume to read-write mode.
## Layer ## Layer

View file

@ -36,8 +36,8 @@ e-mail address. It will then automatically log you in. You can now commit and
push your own images up to your repos on Docker Hub. push your own images up to your repos on Docker Hub.
> **Note:** > **Note:**
> Your authentication credentials will be stored in the [`.dockercfg` > Your authentication credentials will be stored in the `.dockercfg`
> authentication file](#authentication-file) in your home directory. > authentication file in your home directory.
## Searching for images ## Searching for images

View file

@ -21,7 +21,7 @@ Docker.
A *data volume* is a specially-designated directory within one or more A *data volume* is a specially-designated directory within one or more
containers that bypasses the [*Union File containers that bypasses the [*Union File
System*](/terms/layer/#ufs-def) to provide several useful features for System*](/terms/layer/#union-file-system) to provide several useful features for
persistent or shared data: persistent or shared data:
- Data volumes can be shared and reused between containers - Data volumes can be shared and reused between containers

View file

@ -29,7 +29,7 @@ page_keywords: documentation, docs, the docker guide, docker guide, docker, dock
<p> <p>
<div class="alert alert-success" id="all_good" style="display:none;">Congratulations, you made no mistake!<br /> <div class="alert alert-success" id="all_good" style="display:none;">Congratulations, you made no mistake!<br />
Tell the world <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.docker.io/learn/dockerfile/level1/" data-text="I just successfully answered questions of the #Dockerfile tutorial Level 1. What's your score?" data-via="docker" >Tweet</a><br /> Tell the world <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.docker.io/learn/dockerfile/level1/" data-text="I just successfully answered questions of the #Dockerfile tutorial Level 1. What's your score?" data-via="docker" >Tweet</a><br />
And try the next challenge: <a href="#fill_the_dockerfile">Fill the Dockerfile</a> And try the next challenge: <a href="#fill-the-dockerfile">Fill the Dockerfile</a>
</div> </div>
<div class="alert alert-error" id="no_good" style="display:none;">Your Dockerfile skills are not yet perfect, try to take the time to read this tutorial again.</div> <div class="alert alert-error" id="no_good" style="display:none;">Your Dockerfile skills are not yet perfect, try to take the time to read this tutorial again.</div>
<div class="alert alert-block" id="some_good" style="display:none;">You're almost there! Read carefully the sections corresponding to your errors, and take the test again!</div> <div class="alert alert-block" id="some_good" style="display:none;">You're almost there! Read carefully the sections corresponding to your errors, and take the test again!</div>
@ -69,4 +69,4 @@ Tell the world! <a href="https://twitter.com/share" class="twitter-share-button"
which user to use, and how expose a particular port.</p> which user to use, and how expose a particular port.</p>
<a title="back" class="btn btn-primary back" href="/userguide/dockerimages/#creating-our-own-images">Back</a> <a title="back" class="btn btn-primary back" href="/userguide/dockerimages/#creating-our-own-images">Back</a>
<a title="next level" class="btn btn-primary" href="/userguide/level2">Go to the next level</a> <a title="next level" class="btn btn-primary" href="/userguide/level2">Go to the next level</a>

View file

@ -39,7 +39,7 @@ What is the Dockerfile instruction to specify the base image?<br>
<div class="alert alert-success" id="all_good" style="display:none;">Congratulations, you made no mistake!<br /> <div class="alert alert-success" id="all_good" style="display:none;">Congratulations, you made no mistake!<br />
Tell the world <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.docker.io/learn/dockerfile/level1/" data-text="I just successfully answered questions of the #Dockerfile tutorial Level 1. What's your score?" data-via="docker" >Tweet</a><br /> Tell the world <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.docker.io/learn/dockerfile/level1/" data-text="I just successfully answered questions of the #Dockerfile tutorial Level 1. What's your score?" data-via="docker" >Tweet</a><br />
And try the next challenge: <a href="#fill_the_dockerfile">Fill the Dockerfile</a> And try the next challenge: <a href="#fill-the-dockerfile">Fill the Dockerfile</a>
</div> </div>
<div class="alert alert-error" id="no_good" style="display:none;">Your Dockerfile skills are not yet perfect, try to take the time to read this tutorial again.</div> <div class="alert alert-error" id="no_good" style="display:none;">Your Dockerfile skills are not yet perfect, try to take the time to read this tutorial again.</div>
<div class="alert alert-block" id="some_good" style="display:none;">You're almost there! Read carefully the sections corresponding to your errors, and take the test again!</div> <div class="alert alert-block" id="some_good" style="display:none;">You're almost there! Read carefully the sections corresponding to your errors, and take the test again!</div>
@ -93,4 +93,4 @@ Thanks for going through our tutorial! We will be posting Level 3 in the future.
To improve your Dockerfile writing skills even further, visit the <a href="https://docs.docker.com/articles/dockerfile_best-practices/">Dockerfile best practices page</a>. To improve your Dockerfile writing skills even further, visit the <a href="https://docs.docker.com/articles/dockerfile_best-practices/">Dockerfile best practices page</a>.
<a title="creating our own images" class="btn btn-primary" href="/userguide/dockerimages/#creating-our-own-images">Back to the Docs!</a> <a title="creating our own images" class="btn btn-primary" href="/userguide/dockerimages/#creating-our-own-images">Back to the Docs!</a>

6
docs/test.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
mkdocs serve &
echo "Waiting for 5 seconds to allow mkdocs server to be ready"
sleep 5
./docvalidate.py