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:
commit
5df189a1b0
40 changed files with 153 additions and 60 deletions
3
Makefile
3
Makefile
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
79
docs/docvalidate.py
Executable 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)
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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`
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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) **
|
||||||
|
|
||||||
|
|
|
@ -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/).
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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:**
|
||||||
|
|
||||||
|
|
|
@ -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:**
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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:
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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:
|
||||||
|
|
||||||
|
|
|
@ -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**:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
6
docs/test.sh
Executable 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
|
Loading…
Reference in a new issue