Removing merge detritus

This commit is contained in:
John Mulhausen 2016-09-29 23:38:12 -07:00
parent 843b052401
commit 99bab305bd
253 changed files with 20 additions and 83640 deletions

10
.gitmodules vendored
View File

@ -1,10 +0,0 @@
[submodule "adminserver/ui/private-deps/dux"]
path = adminserver/ui/private-deps/dux
url = git@github.com:docker/docker-ux.git
[submodule "adminserver/ui/swagger-ui"]
path = adminserver/ui/swagger-ui
url = https://github.com/wordnik/swagger-ui.git
branch = dux-redux
[submodule "adminserver/ui/private-deps/dtr-js-sdk"]
path = adminserver/ui/private-deps/dtr-js-sdk
url = git@github.com:docker/dtr-js-sdk.git

View File

@ -1,10 +0,0 @@
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
# because both the 2 dir's are going into the root
env PROJECT=
# To get the git info for this repo
COPY . /src
#RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,39 +0,0 @@
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,12 +1,14 @@
# This repo is for preview/dev purposes only # This repo is for preview/dev purposes only
The docs team is in the process of migrating to this repo. During this time we're also The docs team is in the process of migrating to this repo. During this time we're also
converting from a Hugo-based doc system to a Jekyll-based doc system. That means there converting from a Hugo-based doc system to a Jekyll-based doc system. That means there
are lots of content errors and so forth at the preview URL. We're on it. are lots of content errors and so forth at the preview URL. We're on it.
While this repo is not the source of truth, it's important to us that it be viewable While this repo is not the source of truth, it's important to us that it be viewable
so contributors can see what we're doing, and so that they can migrate open pull requests so contributors can see what we're doing, and so that they can migrate open pull requests
from other repos such as `docker/docker` that make doc changes, into this repo. from other repos such as `docker/docker` that make doc changes, into this repo.
## Timeline of migration ## Timeline of migration
@ -49,6 +51,20 @@ Feel free to link to `../foo.md` so that the docs are readable in GitHub, but ke
`{% such as this %}` will render in raw text and not be processed. In general it's best to assume the docs are being read `{% such as this %}` will render in raw text and not be processed. In general it's best to assume the docs are being read
directly on docs.docker.com. directly on docs.docker.com.
## Style guide
If you have questions about how to write for Docker's documentation, please see
the [style guide](https://docs.docker.com/opensource/doc-style/). The style guide provides
guidance about grammar, syntax, formatting, styling, language, or tone. If
something isn't clear in the guide, please submit an issue to let us know or
submit a pull request to help us improve it.
### Generate the man pages
For information on generating man pages (short for manual page), see the README.md
document in [the man page directory](https://github.com/docker/docker/tree/master/man)
in this project.
## Copyright and license ## Copyright and license
Code and documentation copyright 2016 Docker, inc, released under the Apache 2.0 license. Code and documentation copyright 2016 Docker, inc, released under the Apache 2.0 license.

View File

@ -1,21 +0,0 @@
---
{}
---
FROM docs/base:hugo-github-linking
MAINTAINER Mary Anthony <mary@docker.com> (@moxiegirl)
RUN svn checkout https://github.com/docker/docker/trunk/docs /docs/content/engine
RUN svn checkout https://github.com/docker/compose/trunk/docs /docs/content/compose
RUN svn checkout https://github.com/docker/swarm/trunk/docs /docs/content/swarm
RUN svn checkout https://github.com/docker/machine/trunk/docs /docs/content/machine
RUN svn checkout https://github.com/docker/distribution/trunk/docs /docs/content/registry
RUN svn checkout https://github.com/kitematic/kitematic/trunk/docs /docs/content/kitematic
RUN svn checkout https://github.com/docker/tutorials/trunk/docs/mac /docs/content/mac
RUN svn checkout https://github.com/docker/tutorials/trunk/docs/windows /docs/content/windows
RUN svn checkout https://github.com/docker/tutorials/trunk/docs/linux /docs/content/linux
RUN svn checkout https://github.com/docker/opensource/trunk/docs /docs/content/opensource
# To get the git info for this repo
COPY . /src
COPY . /docs/content/apidocs/docker-trusted-registry/

View File

@ -1,70 +0,0 @@
---
{}
---
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_EXECDRIVER \
-e DOCKER_GRAPHDRIVER \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 \
-v $(CURDIR):/docs/content/docker-trusted-registry/ \
-e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" \
hugo server \
--log=true --watch=true \
--port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files
# echo "$(GIT_BRANCH)" > GIT_BRANCH
# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET
# echo "$(GITCOMMIT)" > GITCOMMIT
docker build -t "$(DOCKER_DOCS_IMAGE)" .
images:
$(MAKE) -C assets

View File

@ -1,85 +0,0 @@
---
description: Compose README
draft: true
keywords:
- Docker, documentation, manual, guide, reference, api
title: Compose README
---
# Contributing to the Docker Compose documentation
The documentation in this directory is part of the [https://docs.docker.com](https://docs.docker.com) website. Docker uses [the Hugo static generator](http://gohugo.io/overview/introduction/) to convert project Markdown files to a static HTML site.
You don't need to be a Hugo expert to contribute to the compose documentation. If you are familiar with Markdown, you can modify the content in the `docs` files.
If you want to add a new file or change the location of the document in the menu, you do need to know a little more.
## Documentation contributing workflow
1. Edit a Markdown file in the tree.
2. Save your changes.
3. Make sure you are in the `docs` subdirectory.
4. Build the documentation.
$ make docs
---> ffcf3f6c4e97
Removing intermediate container a676414185e8
Successfully built ffcf3f6c4e97
docker run --rm -it -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 -e DOCKERHOST "docs-base:test-tooling" hugo server --port=8000 --baseUrl=192.168.59.103 --bind=0.0.0.0
ERROR: 2015/06/13 MenuEntry's .Url is deprecated and will be removed in Hugo 0.15. Use .URL instead.
0 of 4 drafts rendered
0 future content
12 pages created
0 paginator pages created
0 tags created
0 categories created
in 55 ms
Serving pages from /docs/public
Web Server is available at http://0.0.0.0:8000/
Press Ctrl+C to stop
5. Open the available server in your browser.
The documentation server has the complete menu but only the Docker Compose
documentation resolves. You can't access the other project docs from this
localized build.
## Tips on Hugo metadata and menu positioning
The top of each Docker Compose documentation file contains TOML metadata. The metadata is commented out to prevent it from appearing in GitHub.
<!--[metadata]>
+++
title = "Extending services in Compose"
description = "How to use Docker Compose's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, compose, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_compose"
weight=2
+++
<![end-metadata]-->
The metadata alone has this structure:
+++
title = "Extending services in Compose"
description = "How to use Docker Compose's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, compose, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_compose"
weight=2
+++
The `[menu.main]` section refers to navigation defined [in the main Docker menu](https://github.com/docker/docs-base/blob/hugo/config.toml). This metadata says *add a menu item called* Extending services in Compose *to the menu with the* `smn_workdw_compose` *identifier*. If you locate the menu in the configuration, you'll find *Create multi-container applications* is the menu title.
You can move an article in the tree by specifying a new parent. You can shift the location of the item by changing its weight. Higher numbers are heavier and shift the item to the bottom of menu. Low or no numbers shift it up.
## Other key documentation repositories
The `docker/docs-base` repository contains [the Hugo theme and menu configuration](https://github.com/docker/docs-base). If you open the `Dockerfile` you'll see the `make docs` relies on this as a base image for building the Compose documentation.
The `docker/docs.docker.com` repository contains [build system for building the Docker documentation site](https://github.com/docker/docs.docker.com). Fork this repository to build the entire documentation site.

View File

@ -1,12 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=cs-engine
# to get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,42 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=docker-cloud
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,206 +0,0 @@
---
{}
---
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2014 Docker Cloud, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,46 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server -v --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) --watch
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)"
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
rm -fr apidocs/docker-cloud
rm -fr apidocs/layouts
cp -r ../apidocs .
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,24 +0,0 @@
---
draft: true
---
# Docker Cloud Support Documentation, Reference and Articles
## How to write articles
Use a markdown editor, we recommend Github's Atom, with the `Markdown formatter`
plugin.
Set the CSS to `GitHub2`.
## Guidelines
TODO
## How to handle images
TODO
## How to handle links to other articles
TODO

View File

@ -1,12 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=docker-hub
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,123 +0,0 @@
---
{}
---
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_EXECDRIVER \
-e DOCKER_GRAPHDRIVER \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR):/docs/content/docker-hub/)
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 \
-v $(CURDIR):/docs/content/docker-hub/ \
-e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" \
hugo server \
--log=true --watch=true \
--port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files
# echo "$(GIT_BRANCH)" > GIT_BRANCH
# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET
# echo "$(GITCOMMIT)" > GITCOMMIT
docker build -t "$(DOCKER_DOCS_IMAGE)" .
# use screenshot container to update screenshots
NOAUTHSCREENSHOT := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=noauthpasswords.env svendowideit/screenshot
SCREENSHOT := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env svendowideit/screenshot
NOLINKS := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env --env-file=nolinks.env svendowideit/screenshot
GITHUB_DOCSUSER := docker run -it --rm --name screen -v $(CURDIR):/srv --env-file=passwords.env --env-file=githubdocs.env svendowideit/screenshot
# testing
testimage:
#$(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px
#$(SCREENSHOT) https://hub-beta.docker.com/explore/ images/dashboard.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/organizations/ orgs.png 1280px
t2:
$(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px
docs-images:
# non-authenticated
$(NOAUTHSCREENSHOT) https://hub-beta.docker.com/ images/register-web.png 1280px
$(NOAUTHSCREENSHOT) https://hub-beta.docker.com/login/ images/login-web.png 1280px
# authenticated
$(SCREENSHOT) https://hub-beta.docker.com/explore/ images/dashboard.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/organizations/ images/orgs.png 1280px
# $(SCREENSHOT) https://hub-beta.docker.com/ images/deploy_key.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/r/docsorg/private/~/settings/collaborators/ images/org-repo-collaborators.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/ images/repos.png 1280px
# $(SCREENSHOT) https://hub-beta.docker.com/ images/invite.png 1280px
# $(SCREENSHOT) https://hub-beta.docker.com/ images/build-trigger.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/ images/hub.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/u/docsorg/dashboard/teams/boomteam/ images/groups.png 1280px
$(SCREENSHOT) https://hub-beta.docker.com/r/library/busybox/tags/# images/busybox-image-tags.png 1280px*600px
# docs/images/getting-started.png (needs a new empty account)
nolinks:
# bitbucket.md, github.md
# uses the `nolinks` user: an account that has no accounts linked
$(NOLINKS) https://hub-beta.docker.com/account/authorized-services/ images/authorized-services.png 1280px
$(NOLINKS) https://hub-beta.docker.com/account/authorized-services/github-permissions/ add-authorized-github-service.png 1280px
# BROKEN
github:
$(GITHUB_DOCSUSER) https://github.com/docsuser/private/settings/hooks github-side-hook.png 1280px
# BROKEN, wrong URL and needs hand editing to capture the specific UI elements
broken-gitimages:
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_settings.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_menu.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_add_ssh_user_key.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_team_members.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh-check-user-org-dh-app-access.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_service_hook.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh-check-admin-org-dh-app-access.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_org_members.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_docker-service.png
$(SCREENSHOT) https://hub-beta.docker.com/ images/gh_repo_deploy_key.png

View File

@ -1,7 +0,0 @@
---
ErrorDocument:
Key: jsearch/index.html
IndexDocument:
Suffix: index.html
---

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs team <docs@docker.com>
ENV PROJECT=docker-store
# To get the git infos for this repo
COPY . /src
COPY . /docs/content/$PROJECT/

View File

@ -1,60 +0,0 @@
---
{}
---
# TBD Docs Makefile will go here
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_EXECDRIVER \
-e DOCKER_GRAPHDRIVER \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files
# echo "$(GIT_BRANCH)" > GIT_BRANCH
# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET
# echo "$(GITCOMMIT)" > GITCOMMIT
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,7 +0,0 @@
---
draft: true
---
# Docker Store Docs
WIP! @sanscontext

View File

@ -1,15 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=docker-trusted-registry
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/
# This kludge only exists when run from the DTR repo (useful for testing)
RUN mv -f /docs/content/$PROJECT/apidocgen/ /docs/content/apidocs/ || true

View File

@ -1,55 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
local: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 \
-v $(CURDIR):/docs/content/docker-trusted-registry/ \
-e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" \
hugo server \
--log=true --watch=true \
--port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
docs-build:
rm -rf ./apidocgen/
cp -r ../apidocgen/output apidocgen
docker build -t "$(DOCKER_DOCS_IMAGE)" .
images:
$(MAKE) -C images

View File

@ -1,12 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=engine
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,43 +0,0 @@
---
{}
---
.PHONY: default docs docs-build docs-shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,286 +0,0 @@
---
draft: true
---
# Docker Documentation
The source for Docker documentation is in this directory. Our
documentation uses extended Markdown, as implemented by
[MkDocs](http://mkdocs.org). The current release of the Docker documentation
resides on [https://docs.docker.com](https://docs.docker.com).
## Understanding the documentation branches and processes
Docker has two primary branches for documentation:
| Branch | Description | URL (published via commit-hook) |
|----------|--------------------------------|------------------------------------------------------------------------------|
| `docs` | Official release documentation | [https://docs.docker.com](https://docs.docker.com) |
| `master` | Merged but unreleased development work | |
Additions and updates to upcoming releases are made in a feature branch off of
the `master` branch. The Docker maintainers also support a `docs` branch that
contains the last release of documentation.
After a release, documentation updates are continually merged into `master` as
they occur. This work includes new documentation for forthcoming features, bug
fixes, and other updates.
Periodically, the Docker maintainers update `docs.docker.com` between official
releases of Docker. They do this by cherry-picking commits from `master`,
merging them into `docs`, and then publishing the result.
In the rare case where a change is not forward-compatible, changes may be made
on other branches by special arrangement with the Docker maintainers.
### Quickstart for documentation contributors
If you are a new or beginner contributor, we encourage you to read through the
[our detailed contributors
guide](https://docs.docker.com/opensource/code/). The guide explains in
detail, with examples, how to contribute. If you are an experienced contributor
this quickstart should be enough to get you started.
The following is the essential workflow for contributing to the documentation:
1. Fork the `docker/docker` repository.
2. Clone the repository to your local machine.
3. Select an issue from `docker/docker` to work on or submit a proposal of your
own.
4. Create a feature branch from `master` in which to work.
By basing from `master` your work is automatically included in the next
release. It also allows docs maintainers to easily cherry-pick your changes
into the `docs` release branch.
4. Modify existing or add new `.md` files to the `docs` directory.
5. As you work, build the documentation site locally to see your changes.
The `docker/docker` repository contains a `Dockerfile` and a `Makefile`.
Together, these create a development environment in which you can build and
run a container running the Docker documentation website. To build the
documentation site, enter `make docs` in the `docs` directory of your `docker/docker` fork:
$ make docs
.... (lots of output) ....
docker run --rm -it -e AWS_S3_BUCKET -p 8000:8000 "docker-docs:master" mkdocs serve
Running at: http://0.0.0.0:8000/
Live reload enabled.
Hold ctrl+c to quit.
The build creates an image containing all the required tools, adds the local
`docs/` directory and generates the HTML files. Then, it runs a Docker
container with this image.
The container exposes port 8000 on the localhost so that you can connect and
see your changes. If you use Docker Machine, the `docker-machine ip
<machine-name>` command gives you the address of your server.
6. Check your writing for style and mechanical errors.
Use our [documentation style
guide](https://docs.docker.com/opensource/doc-style/) to check style. There are
several [good grammar and spelling online
checkers](http://www.hemingwayapp.com/) that can check your writing
mechanics.
7. Squash your commits on your branch.
8. Make a pull request from your fork back to Docker's `master` branch.
9. Work with the reviewers until your change is approved and merged.
### Debugging and testing
If you have any issues you need to debug, you can use `make docs-shell` and then
run `mkdocs serve`. You can use `make docs-test` to generate a report of missing
links that are referenced in the documentation&mdash;there should be none.
## Style guide
If you have questions about how to write for Docker's documentation, please see
the [style guide](https://docs.docker.com/opensource/doc-style/). The style guide provides
guidance about grammar, syntax, formatting, styling, language, or tone. If
something isn't clear in the guide, please submit an issue to let us know or
submit a pull request to help us improve it.
## Publishing documentation (for Docker maintainers)
To publish Docker's documentation you need to have Docker up and running on your
machine. You'll also need a `docs/awsconfig` file containing the settings you
need to access the AWS bucket you'll be deploying to.
The process for publishing is to build first to an AWS bucket, verify the build,
and then publish the final release.
1. Have Docker installed and running on your machine.
2. Ask the core maintainers for the `awsconfig` file.
3. Copy the `awsconfig` file to the `docs/` directory.
The `awsconfig` file contains the profiles of the S3 buckets for our
documentation sites. (If needed, the release script creates an S3 bucket and
pushes the files to it.) Each profile has this format:
[profile dowideit-docs]
aws_access_key_id = IHOIUAHSIDH234rwf....
aws_secret_access_key = OIUYSADJHLKUHQWIUHE......
region = ap-southeast-2
The `profile` name must be the same as the name of the bucket you are
deploying to.
4. Call the `make` from the `docker` directory.
$ make AWS_S3_BUCKET=dowideit-docs docs-release
This publishes _only_ to the `http://bucket-url/v1.2/` version of the
documentation.
5. If you're publishing the current release's documentation, you need to also
update the root docs pages by running
$ make AWS_S3_BUCKET=dowideit-docs BUILD_ROOT=yes docs-release
### Errors publishing using a Docker Machine VM
Sometimes, in a Windows or Mac environment, the publishing procedure returns this
error:
Post http:///var/run/docker.sock/build?rm=1&t=docker-docs%3Apost-1.2.0-docs_update-2:
dial unix /var/run/docker.sock: no such file or directory.
If this happens, set the Docker host. Run the following command to get the
variables in your shell:
docker-machine env <machine-name>
Then, set your environment accordingly.
## Cherry-picking documentation changes to update an existing release.
Whenever the core team makes a release, they publish the documentation based on
the `release` branch. At that time, the `release` branch is copied into the
`docs` branch. The documentation team makes updates between Docker releases by
cherry-picking changes from `master` into any of the documentation branches.
Typically, we cherry-pick into the `docs` branch.
For example, to update the current release's docs, do the following:
1. Go to your `docker/docker` fork and get the latest from master.
$ git fetch upstream
2. Checkout a new branch based on `upstream/docs`.
You should give your new branch a descriptive name.
$ git checkout -b post-1.2.0-docs-update-1 upstream/docs
3. In a browser window, open [https://github.com/docker/docker/commits/master].
4. Locate the merges you want to publish.
You should only cherry-pick individual commits; do not cherry-pick merge
commits. To minimize merge conflicts, start with the oldest commit and work
your way forward in time.
5. Copy the commit SHA from GitHub.
6. Cherry-pick the commit.
$ git cherry-pick -x fe845c4
7. Repeat until you have cherry-picked everything you want to merge.
8. Push your changes to your fork.
$ git push origin post-1.2.0-docs-update-1
9. Make a pull request to merge into the `docs` branch.
Do __NOT__ merge into `master`.
10. Have maintainers review your pull request.
11. Once the PR has the needed "LGTMs", merge it on GitHub.
12. Return to your local fork and make sure you are still on the `docs` branch.
$ git checkout docs
13. Fetch your merged pull request from `docs`.
$ git fetch upstream/docs
14. Ensure your branch is clean and set to the latest.
$ git reset --hard upstream/docs
15. Copy the `awsconfig` file into the `docs` directory.
16. Make the beta documentation
$ make AWS_S3_BUCKET=beta-docs.docker.io BUILD_ROOT=yes docs-release
17. Open [the beta
website](http://beta-docs.docker.io.s3-website-us-west-2.amazonaws.com/) site
and make sure what you published is correct.
19. When you're happy with your content, publish the docs to our live site:
$ make AWS_S3_BUCKET=docs.docker.com BUILD_ROOT=yes
DISTRIBUTION_ID=C2K6......FL2F docs-release
20. Test the uncached version of the live docs at [http://docs.docker.com.s3-website-us-east-1.amazonaws.com/]
### Caching and the docs
New docs do not appear live on the site until the cache (a complex, distributed
CDN system) is flushed. The `make docs-release` command flushes the cache _if_
the `DISTRIBUTION_ID` is set to the Cloudfront distribution ID. The cache flush
can take at least 15 minutes to run and you can check its progress with the CDN
Cloudfront Purge Tool Chrome app.
## Removing files from the docs.docker.com site
Sometimes it becomes necessary to remove files from the historical published documentation.
The most reliable way to do this is to do it directly using `aws s3` commands running in a
docs container:
Start the docs container like `make docs-shell`, but bind mount in your `awsconfig`:
```
docker run --rm -it -v $(CURDIR)/docs/awsconfig:/docs/awsconfig docker-docs:master bash
```
and then the following example shows deleting 2 documents from s3, and then requesting the
CloudFlare cache to invalidate them:
```
export BUCKET BUCKET=docs.docker.com
export AWS_CONFIG_FILE=$(pwd)/awsconfig
aws s3 --profile $BUCKET ls s3://$BUCKET
aws s3 --profile $BUCKET rm s3://$BUCKET/v1.0/reference/api/docker_io_oauth_api/index.html
aws s3 --profile $BUCKET rm s3://$BUCKET/v1.1/reference/api/docker_io_oauth_api/index.html
aws configure set preview.cloudfront true
export DISTRIBUTION_ID=YUTIYUTIUTIUYTIUT
aws cloudfront create-invalidation --profile docs.docker.com --distribution-id $DISTRIBUTION_ID --invalidation-batch '{"Paths":{"Quantity":1, "Items":["/v1.0/reference/api/docker_io_oauth_api/"]},"CallerReference":"6Mar2015sventest1"}'
aws cloudfront create-invalidation --profile docs.docker.com --distribution-id $DISTRIBUTION_ID --invalidation-batch '{"Paths":{"Quantity":1, "Items":["/v1.1/reference/api/docker_io_oauth_api/"]},"CallerReference":"6Mar2015sventest1"}'
```
### Generate the man pages
For information on generating man pages (short for manual page), see the README.md
document in [the man page directory](https://github.com/docker/docker/tree/master/man)
in this project.

View File

@ -1,22 +0,0 @@
#!/bin/bash -e
# Sed to process GitHub Markdown
# 1-2 Remove comment code from metadata block
#
for i in ls -l /docs/content/*
do # Line breaks are important
if [ -d $i ] # Spaces are important
then
y=${i##*/}
find $i -type f -name "*.md" -exec sed -i.old \
-e '/^<!.*metadata]>/g' \
-e '/^<!.*end-metadata.*>/g' {} \;
fi
done

View File

@ -10,13 +10,7 @@ layout: docs
{% include content/docker_elevator_pitch.md %} {% include content/docker_elevator_pitch.md %}
## Getting Started <a href="getting-started/index.md" class="button darkblue-btn">Learn the Docker Platform</a>
Try [Getting Started withDocker Engine](engine/getstarted/index.md) to learn the
basics of building and running containers, [Getting Started with Docker Compose](compose/gettingstarted.md) to see
how easy it is to deploy a multi-container app (standing up a Python + Redis app in the process), or [our Swarm tutorial](engine/swarm/swarm-tutorial/index.md), which
shows how to run containers on many hosts (VMs or physical machines) at once,
as a cluster. Prefer a more linear, guided, visual tour? [Check out our self-paced training](https://training.docker.com/self-paced-training)!
{% include content/typical_docker_workflow.md %} {% include content/typical_docker_workflow.md %}

View File

@ -1,12 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=kitematic
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,42 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,63 +0,0 @@
#!/bin/bash -e
# Populate an array with just docker dirs and one with content dirs
docker_dir=(`ls -d /docs/content/docker/*`)
content_dir=(`ls -d /docs/content/*`)
# Loop content not of docker/
#
# Sed to process GitHub Markdown
# 1-2 Remove comment code from metadata block
# 3 Remove .md extension from link text
# 4 Change ](/ to ](/project/ in links
# 5 Change ](word) to ](/project/word)
# 6 Change ](../../ to ](/project/
# 7 Change ](../ to ](/project/word)
#
for i in "${content_dir[@]}"
do
:
case $i in
"/docs/content/windows")
;;
"/docs/content/mac")
;;
"/docs/content/linux")
;;
"/docs/content/docker")
y=${i##*/}
find $i -type f -name "*.md" -exec sed -i.old \
-e '/^<!.*metadata]>/g' \
-e '/^<!.*end-metadata.*>/g' {} \;
;;
*)
y=${i##*/}
find $i -type f -name "*.md" -exec sed -i.old \
-e '/^<!.*metadata]>/g' \
-e '/^<!.*end-metadata.*>/g' \
-e 's/\(\]\)\([(]\)\(\/\)/\1\2\/'$y'\//g' \
-e 's/\(\][(]\)\([A-z].*\)\(\.md\)/\1\/'$y'\/\2/g' \
-e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \
-e 's/\(\][(]\)\(\.\/\)/\1\/'$y'\//g' \
-e 's/\(\][(]\)\(\.\.\/\.\.\/\)/\1\/'$y'\//g' \
-e 's/\(\][(]\)\(\.\.\/\)/\1\/'$y'\//g' {} \;
;;
esac
done
#
# Move docker directories to content
#
for i in "${docker_dir[@]}"
do
:
if [ -d $i ]
then
mv $i /docs/content/
fi
done
rm -rf /docs/content/docker

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
env PROJECT=machine
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,42 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,88 +0,0 @@
---
description: Machine README
draft: true
keywords:
- Docker, documentation, manual, guide, reference, api
title: Machine README
---
# Contributing to the Docker Machine documentation
The documentation in this directory is part of the [this documentation](https://docs.docker.com). Docker uses [the Hugo static generator](http://gohugo.io/overview/introduction/) to convert project Markdown files to a static HTML site.
You don't need to be a Hugo expert to contribute to the machine documentation. If you are familiar with Markdown, you can modify the content in the `docs` files.
If you want to add a new file or change the location of the document in the menu, you do need to know a little more. If you want the detail of contributing, [use our contributor guide](http://docs.docker.com/project/make-a-contribution/).
## Documentation contributing workflow
1. Edit a Markdown file in the tree.
2. Save your changes.
3. Make sure all your changes maintain an 80 character line wrap.
All check lines you've written. Don't wrap content you didn't change material.
4. Make sure you are in the `docs` subdirectory.
5. Build the documentation.
$ make docs
---> ffcf3f6c4e97
Removing intermediate container a676414185e8
Successfully built ffcf3f6c4e97
docker run --rm -it -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 -e DOCKERHOST "docs-base:test-tooling" hugo server --port=8000 --baseUrl=192.168.59.103 --bind=0.0.0.0
ERROR: 2015/06/13 MenuEntry's .Url is deprecated and will be removed in Hugo 0.15. Use .URL instead.
0 of 4 drafts rendered
0 future content
12 pages created
0 paginator pages created
0 tags created
0 categories created
in 55 ms
Serving pages from /docs/public
Web Server is available at http://0.0.0.0:8000/
Press Ctrl+C to stop
6. Open the available server in your browser.
The documentation server has the complete menu but only the Docker machine
documentation resolves. You can't access the other project docs from this
localized build.
## Tips on Hugo metadata and menu positioning
The top of each Docker machine documentation file contains TOML metadata. The metadata is commented out to prevent it from appearing in GitHub.
<!--[metadata]>
+++
title = "Extending services in machine"
description = "How to use Docker machine's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, machine, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_machine"
weight=2
+++
<![end-metadata]-->
The metadata alone has this structure:
+++
title = "Extending services in machine"
description = "How to use Docker machine's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, machine, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_machine"
weight=2
+++
The `[menu.main]` section refers to navigation defined [in the main Docker menu](https://github.com/docker/docs-base/blob/hugo/config.toml). This metadata says _add a menu item called_ Extending services in machine _to the menu with the_ `smn_workdw_machine` _identifier_. If you locate the menu in the configuration, you'll find _Create multi-container applications_ is the menu title.
You can move an article in the tree by specifying a new parent. You can shift the location of the item by changing its weight. Higher numbers are heavier and shift the item to the bottom of menu. Low or no numbers shift it up.
## Other key documentation repositories
The `docker/docs-base` repository contains [the Hugo theme and menu configuration](https://github.com/docker/docs-base). If you open the `Dockerfile` you'll see the `make docs` relies on this as a base image for building the machine documentation.
The `docker/docs.docker.com` repository contains [build system for building the Docker documentation site](https://github.com/docker/docs.docker.com). Fork this repository to build the entire documentation site.

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Mary Anthony <mary@docker.com> (@moxiegirl)
ENV PROJECT=notary
# To get the git info for this repo
COPY . /src
RUN rm -r /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,59 +0,0 @@
---
{}
---
.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate
# env vars passed through directly to Docker's build scripts
# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily
# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these
DOCKER_ENVS := \
-e BUILDFLAGS \
-e DOCKER_CLIENTONLY \
-e DOCKER_EXECDRIVER \
-e DOCKER_GRAPHDRIVER \
-e TESTDIRS \
-e TESTFLAGS \
-e TIMEOUT
# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files
# echo "$(GIT_BRANCH)" > GIT_BRANCH
# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET
# echo "$(GITCOMMIT)" > GITCOMMIT
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,77 +0,0 @@
---
draft: true
---
# Contributing to the Docker Notary documentation
The documentation in this directory is part of the [https://docs.docker.com](https://docs.docker.com) website. Docker uses [the Hugo static generator](http://gohugo.io/overview/introduction/) to convert project Markdown files to a static HTML site.
You don't need to be a Hugo expert to contribute to the Notary documentation. If you are familiar with Markdown, you can modify the content in the `docs` files.
If you want to add a new file or change the location of the document in the menu, you do need to know a little more.
## Documentation contributing workflow
1. Edit a Markdown file in the tree.
2. Save your changes.
3. Make sure you are in the `docs` subdirectory.
4. Build the documentation.
$ make docs
---> ffcf3f6c4e97
Removing intermediate container a676414185e8
Successfully built ffcf3f6c4e97
docker run --rm -it -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 -e DOCKERHOST "docs-base:test-tooling" hugo server --port=8000 --baseUrl=192.168.59.103 --bind=0.0.0.0
ERROR: 2015/06/13 MenuEntry's .Url is deprecated and will be removed in Hugo 0.15. Use .URL instead.
0 of 4 drafts rendered
0 future content
12 pages created
0 paginator pages created
0 tags created
0 categories created
in 55 ms
Serving pages from /docs/public
Web Server is available at http://0.0.0.0:8000/
Press Ctrl+C to stop
5. Open the available server in your browser.
## Tips on Hugo metadata and menu positioning
The top of each Docker Notary documentation file contains TOML metadata. The metadata is commented out to prevent it from appearing in GitHub.
<!--[metadata]>
+++
title = "Extending services in Notary"
description = "How to use Docker Notary's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, Notary, docker, orchestration, documentation, docs"]
[menu.main]
parent="smn_workw_Notary"
weight=2
+++
<![end-metadata]-->
The metadata alone has this structure:
+++
title = "Extending services in Notary"
description = "How to use Docker Notary's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, Notary, docker, orchestration, documentation, docs"]
[menu.main]
parent="smn_workw_Notary"
weight=2
+++
The `[menu.main]` section refers to navigation defined [in the main Docker menu](https://github.com/docker/docs-base/blob/hugo/config.toml). This metadata says *add a menu item called* Extending services in Notary *to the menu with the* `smn_workdw_Notary` *identifier*. If you locate the menu in the configuration, you'll find *Create multi-container applications* is the menu title.
You can move an article in the tree by specifying a new parent. You can shift the location of the item by changing its weight. Higher numbers are heavier and shift the item to the bottom of menu. Low or no numbers shift it up.
## Other key documentation repositories
The `docker/docs-base` repository contains [the Hugo theme and menu configuration](https://github.com/docker/docs-base). If you open the `Dockerfile` you'll see the `make docs` relies on this as a base image for building the Notary documentation.
The `docker/docs.docker.com` repository contains [build system for building the Docker documentation site](https://github.com/docker/docs.docker.com). Fork this repository to build the entire documentation site.

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=opensource
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,44 +0,0 @@
---
{}
---
.PHONY: all build default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .
test: docs-build
$(DOCKER_RUN_DOCS) -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)"

View File

@ -1,13 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=registry
# To get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,42 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR))
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := registry-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .
test: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)"

View File

@ -1,12 +0,0 @@
---
{}
---
FROM docs/base:oss
MAINTAINER Docker Docs <docs@docker.com>
ENV PROJECT=swarm
# to get the git info for this repo
COPY . /src
RUN rm -rf /docs/content/$PROJECT/
COPY . /docs/content/$PROJECT/

View File

@ -1,41 +0,0 @@
---
{}
---
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=1 docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR):/docs/content/swarm/)
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 8000
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
default: docs
docs: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) --watch
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .

View File

@ -1,14 +0,0 @@
---
advisory: docker4win-beta
description: test index page
draft: true
keywords:
- docker, documentation, about, technology, understanding, release
menu:
main:
parent: mn_test
title: BETA Test index page
---
# beta test index page

View File

@ -1,14 +0,0 @@
---
advisory: experimental
description: test index page
draft: true
keywords:
- docker, documentation, about, technology, understanding, release
menu:
main:
parent: mn_test
title: Experimental Test index page
---
# Experimental test index page

View File

@ -1,142 +0,0 @@
---
advisory: Custom advisory text
description: test index page
draft: true
keywords:
- docker, documentation, about, technology, understanding, release
menu:
main:
parent: mn_test
title: Test index page
---
# test index page
> **Note**: To enable autoredeploy on an image stored in a third party registry,
> you will need to use [redeploy triggers](triggers.md) instead.
<p><a class="button darkblue-btn" href="https://dyhfha9j6srsj.cloudfront.net/Docker.dmg">Get Docker for Mac</a></p>
1. There are
2. several
3. things
that are good, but `docker run --rm -it` is lots to type all the time.
- to
- know
```Dockerfile
FROM alpine
MAINTAINER SvenDowideit <SvenDowideit@docker.com>
```
Some of the daemon's options are:
| Flag | Description |
|-----------------------|-----------------------------------------------------------|
| `-D`, `--debug=false` | Enable or disable debug mode. By default, this is false. |
| `-H`,`--host=[]` | Daemon socket(s) to connect to. |
| `--tls=false` | Enable or disable TLS. By default, this is false. |
## When writing markdown
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent a lorem et urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
Lorem ipsum dolor sit amet, **consectetur adipiscing** elit. Praesent a lorem et urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. **Praesent a lorem et** urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. __Praesent a lorem__ et urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
### level 3
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent a lorem et urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
#### level 4
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent a lorem et urna dictum faucibus. Morbi a nunc consequat neque feugiat commodo. Donec placerat sit amet eros at luctus. Sed non elementum lectus. Nunc lacus neque, dignissim in nunc eu, sollicitudin congue leo. Proin tempus metus ac lacinia viverra. Aenean tortor neque, egestas a nisl tempus, tempus gravida eros. Vivamus efficitur ipsum id est congue, sed rhoncus neque consectetur. Sed enim ante, mollis ut erat sit amet, semper euismod erat. Donec tincidunt consequat varius. Suspendisse potenti. Nullam blandit pellentesque consectetur. Nulla bibendum turpis tellus, sit amet tristique quam ultrices quis. Nam commodo eleifend lorem, vel suscipit nisl viverra et. Maecenas viverra lobortis nibh ac aliquet.
## level 2
```bash
root@7d7ed2558cd3:~/sven/src/docs-base-1.12-integration/content# make docs
make: *** No rule to make target 'docs'. Stop.
root@7d7ed2558cd3:~/sven/src/docs-base-1.12-integration/content# cd ..
root@7d7ed2558cd3:~/sven/src/docs-base-1.12-integration# make docs
docker build -t "docs-base:master" .
Sending build context to Docker daemon 8.087 MB
Step 1 : FROM debian:jessie
---> 47af6ca8a14a && apt-get install -y gettext git wget libssl-dev make python-dev python-pip python-setuptools subversion-tool
s vim-tiny ssed curl ary&& apt-get clean cker.co&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
---> Using cache
---> 79f09c378b62
Step 4 : RUN pip install awscli==1.4.4 pyopenssl==0.12
---> Using cache
---> 5a93a77583a9
Step 5 : ENV HUGO_VERSION 0.16-pre3
---> Using cache
---> c8925b6323c8
Step 6 : RUN curl -sSL -o /usr/local/bin/hugo https://github.com/docker/hugo/releases/download/${HUGO_VERSION}/hugo && chmod 755 /usr/local/b
in/hugo && /usr/local/bin/hugo version
---> Using cache
---> bc7cde498ed7
Step 7 : RUN curl -sSL -o /usr/local/bin/markdownlint https://github.com/docker/markdownlint/releases/download/v0.9.5/markdownlint && chmod 7
55 /usr/local/bin/markdownlint
---> Using cache
---> c3101af070ff
Step 8 : RUN curl -sSL -o /usr/local/bin/linkcheck https://github.com/docker/linkcheck/releases/download/v0.3/linkcheck && chmod 755 /usr/loc
al/bin/linkcheck
---> Using cache
---> 116e258eda46
Step 9 : WORKDIR /docs
---> Using cache
---> 0bae93a3fb0c
Step 10 : COPY . /docs
---> 72cc369c38e4
Removing intermediate container 845e09bb8df8
Step 11 : RUN chmod 755 /docs/validate.sh
---> Running in 4d4494c7b56d
---> eb09024649aa
Removing intermediate container 4d4494c7b56d
Step 12 : EXPOSE 8000
---> Running in ac42def06104
---> 0739c6007a34
Removing intermediate container ac42def06104
Step 13 : CMD /docs/validate.sh
---> Running in d595b2f0a12b
---> 8504027ae838
Removing intermediate container d595b2f0a12b
Successfully built 8504027ae838
docker run --rm -it -e AWS_S3_BUCKET -e NOCACHE --name docker-docs-tools -p 8000:8000 -e DOCKERHOST "docs-base:master" hugo server --port=800
0 --baseUrl=localhost --bind=0.0.0.0 --config=./config.toml
INFO: 2016/06/06 00:30:31 hugo.go:455: Using config file: ./config.toml
WARN: 2016/06/06 00:30:31 hugo.go:549: Unable to find Static Directory: /docs/static/
INFO: 2016/06/06 00:30:31 hugo.go:558: /docs/themes/docker-2016/static is the only static directory available to sync from
INFO: 2016/06/06 00:30:31 hugo.go:601: syncing static files to /
Started building site
INFO: 2016/06/06 00:30:31 site.go:1248: found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
WARN: 2016/06/06 00:30:31 site.go:1998: Unable to locate layout for section test: [section/test.html _default/section.html _default/list.html
indexes/test.html _default/indexes.html theme/section/test.html theme/_default/section.html theme/_default/list.html theme/indexes/test.html t
heme/_default/indexes.html theme/section/test.html theme/_default/section.html theme/_default/list.html theme/indexes/test.html theme/_default
/indexes.html theme/theme/section/test.html theme/theme/_default/section.html theme/theme/_default/list.html theme/theme/indexes/test.html the
me/theme/_default/indexes.html]
WARN: 2016/06/06 00:30:31 site.go:1974: "test" is rendered empty
WARN: 2016/06/06 00:30:31 site.go:1998: Unable to locate layout for section : [section/.html _default/section.html _default/list.html indexes/
.html _default/indexes.html theme/section/.html theme/_default/section.html theme/_default/list.html theme/indexes/.html theme/_default/indexe
s.html theme/section/.html theme/_default/section.html theme/_default/list.html theme/indexes/.html theme/_default/indexes.html theme/theme/se
ction/.html theme/theme/_default/section.html theme/theme/_default/list.html theme/theme/indexes/.html theme/theme/_default/indexes.html]
WARN: 2016/06/06 00:30:31 site.go:1974: "" is rendered empty
0 of 3 drafts rendered
0 future content
4 pages created
18 non-page files copied
0 paginator pages created
0 tags created
0 categories created
in 36 ms
WARN: 2016/06/06 00:30:31 hugo.go:625: Skip LayoutDir: lstat /docs/layouts: no such file or directory
ERROR: 2016/06/06 00:30:31 hugo.go:629: Walker: lstat /docs/static: no such file or directory
Watching for changes in /docs/{data,content,themes}
WARN: 2016/06/06 00:30:31 hugo.go:625: Skip LayoutDir: lstat /docs/layouts: no such file or directory
ERROR: 2016/06/06 00:30:31 hugo.go:629: Walker: lstat /docs/static: no such file or directory
Serving pages from memory
Web Server is available at http://localhost:8000/ (bind address 0.0.0.0)
Press Ctrl+C to stop
```

View File

@ -1,16 +0,0 @@
---
description: test menu
draft: true
keywords:
- docker, documentation, about, technology, understanding, release
menu:
main:
identifier: mn_test
weight: 9
title: Test menu
type: menu
---
# Menu topic
If you can view this content, please raise a bug report.

View File

@ -1,14 +0,0 @@
---
advisory: rc
description: test index page
draft: true
keywords:
- docker, documentation, about, technology, understanding, release
menu:
main:
parent: mn_test
title: RC Test index page
---
# rc test index page

View File

@ -1,20 +0,0 @@
The MIT License (MIT)
Copyright (c) 2014 YOUR_NAME_HERE
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Binary file not shown.

View File

@ -1,56 +0,0 @@
{{ partial "header.html" (dict "thispage" . "errorpage" true) }}
<section class="title_section darkblue">
</section>
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-2 docsidebarnav_section">
{{ partial "navbar.html" . }}
</div>
<div class="col-xs-12 col-sm-9 col-md-10">
<section class="section" id="DocumentationText">
<h1 style="padding-top:15px;" id="title">{{ .Title }}</h1>
<p style="color:#3A4E55;">The page you wanted cannot be found or is no longer available.</p>
<p>Can we help you find what you're looking for? Use the <a href="/index.html">sitemap to navigate</a>
directly or send email to <a href="mailto:docs@docker.com">docs@docker.com</a> for additional help.</p>
<input type="text" id="search-box" name="q" />
<span class="ds-dropdown-menu ds-with-0" style="top: 100%; z-index: 100; left: 0px; right: auto; display: block;"><div class="algolia-autocomplete"> <div class="ds-dataset-0">
<span class="ds-suggestions" style="display: block;">
<div class="ds-suggestion">
<div class="algolia-docsearch-suggestion algolia-docsearch-suggestion__main algolia-docsearch-suggestion__secondary " style="white-space: normal;" id="hits-container"></div>
</div>
</span>
</div> </div> </span>
<div id="pagination-container"></div>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.css">
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css">
<script src="//cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"></script>
<script async src="/search.js"></script>
<style>
/* bring up the content divs so users can see the URL being suggested, and click on them */
.algolia-autocomplete .algolia-docsearch-suggestion--content {
z-index: 9999;
}
</style>
</section>
</div>
</div>
</div>
</div>
<a class="exit-off-canvas"></a>
</div>
</div>
<div class="moby_footer">
<i class="bar"></i>
<i class="moby"></i>
</div>
{{ partial "footer.html" . }}

View File

@ -1,43 +0,0 @@
{{ partial "header.html" (dict "thispage" . "errorpage" false) }}
<section class="title_section darkblue">
</section>
<div id="DockerDocumentation">
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-2 docsidebarnav_section">
{{ partial "navbar.html" . }}
</div>
<div class="col-xs-12 col-sm-9 col-md-{{ if .Params.notoc }}10{{else}}8{{end}}">
<section class="section" id="DocumentationText">
{{ partial "advisory.html" . }}
{{ .Content }}
</section>
</div>
{{ if not .Params.notoc }}
<div class="hidden-xs hidden-sm col-md-2 tableofcontents_section">
<section class="section" id="TableOfContentsSection">
<span class="title_section">
<form class="search-form form-inline ng-pristine ng-valid" action="/search/">
<input class="search-field form-control" id="st-search-input" value="" name="q" placeholder="Search the docs" type="search">
<button type="submit" class="search-submit btn btn-default">Search</button>
</form>
</span>
<span class="heading">On this page</span>
{{ .TableOfContents }}
</section>
</div>
{{ end }}
</div>
</div>
</div>
<a class="exit-off-canvas"></a>
</div>
</div>
<div class="moby_footer">
<i class="bar"></i>
<i class="moby"></i>
</div>
{{ partial "footer.html" . }}

View File

@ -1,13 +0,0 @@
{{ partial "header.html" . }}
<div id="docs" class="row">
<div class="large-12 columns">
<section id="main">
<article id="content">
{{ .Content }}
</article>
</section>
</div>
</div>
{{ partial "container-footer.html" . }}
{{ partial "footer.html" . }}

View File

@ -1,31 +0,0 @@
{{ partial "header.html" (dict "thispage" . "errorpage" false) }}
<section class="title_section darkblue">
</section>
<div class="">
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-2 docsidebarnav_section">
{{ partial "navbar.html" . }}
</div>
<div class="col-xs-12 col-sm-9 col-md-10">
<section class="section projects_items_section GenericDev" id="DocumentationText">
{{ range where .Data.Pages "Title" "Welcome to the Docker Documentation" }}
<p>{{ .Content }}</p>
{{ end }}
</section>
</div>
</div>
</div>
</div>
<a class="exit-off-canvas"></a>
</div>
</div>
<div class="moby_footer">
<i class="bar"></i>
<i class="moby"></i>
</div>
{{ partial "footer.html" . }}

View File

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>redirect to index</title>
<link rel="canonical" href="../"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="refresh" content="0; url=../"/>
</head>
</html>

View File

@ -1,15 +0,0 @@
{{ partial "header.html" . }}
<div id="docs" class="row">
<div class="large-3 columns" class="tutmenu">
{{ partial "microsite-navbar.html" . }}
</div>
<div class="large-9 columns">
<section id="main">
<article id="content" class="tutorial">
<div class="microsite" >
{{ .Content }}
</div>
</div>
</div>
{{ partial "container-footer.html" . }}
{{ partial "footer.html" . }}

View File

@ -1,17 +0,0 @@
{{ $advisories := .Site.Data.advisories }}
{{ if isset $.Params "advisory" }}
<p class="advisory bg-warning">
<strong>Advisory</strong>:
{{ index $advisories.texts $.Params.advisory | default $.Params.advisory | markdownify }}
</p>
{{ else }}
{{ $url := .RelPermalink }}
{{ range $key, $value := $advisories.paths }}
{{ if hasPrefix $url $key }}
<p class="advisory bg-warning advisory-{{ $value }}">
<strong>Advisory</strong>:
{{ index $advisories.texts $value | default $value | markdownify }}
</p>
{{ end }}
{{ end }}
{{ end }}

View File

@ -1,319 +0,0 @@
<!-- Start Footer -->
<footer class="main-footer">
<div class="row">
</div>
<div class="row">
</div>
<div id="buildinfo">
{{ .Now.Format "Jan 2, 2006 at 3:04pm (PST)" }}
BUILD_DATA
</div>
</footer>
<link rel="stylesheet" href="/highlight/styles/github.css">
<script src="/highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/dist/assets/js/all.js"></script>
<script>
$( 'nav li:has(ul)' ).doubleTapToGo();
</script>
<script>
;(function ( $, window, document, undefined ) {
var pluginName = 'accordion',
defaults = {
transitionSpeed: 300,
transitionEasing: 'ease',
controlElement: '[data-control]',
contentElement: '[data-content]',
groupElement: '[data-accordion-group]',
singleOpen: true
};
function Accordion(element, options) {
this.element = element;
this.options = $.extend({}, defaults, options);
this._defaults = defaults;
this._name = pluginName;
this.init();
}
Accordion.prototype.init = function () {
var self = this,
opts = self.options;
var $accordion = $(self.element),
$controls = $accordion.find('> ' + opts.controlElement),
$content = $accordion.find('> ' + opts.contentElement);
var accordionParentsQty = $accordion.parents('[data-accordion]').length,
accordionHasParent = accordionParentsQty > 0;
var closedCSS = { 'max-height': 0, 'overflow': 'hidden' };
var CSStransitions = supportsTransitions();
function debounce(func, threshold, execAsap) {
var timeout;
return function debounced() {
var obj = this,
args = arguments;
function delayed() {
if (!execAsap) func.apply(obj, args);
timeout = null;
};
if (timeout) clearTimeout(timeout);
else if (execAsap) func.apply(obj, args);
timeout = setTimeout(delayed, threshold || 100);
};
}
function supportsTransitions() {
var b = document.body || document.documentElement,
s = b.style,
p = 'transition';
if (typeof s[p] == 'string') {
return true;
}
var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];
p = 'Transition';
for (var i=0; i<v.length; i++) {
if (typeof s[v[i] + p] == 'string') {
return true;
}
}
return false;
}
function requestAnimFrame(cb) {
if(window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame) {
return requestAnimationFrame(cb) ||
webkitRequestAnimationFrame(cb) ||
mozRequestAnimationFrame(cb);
} else {
return setTimeout(cb, 1000 / 60);
}
}
function toggleTransition($el, remove) {
if(!remove) {
$content.css({
'-webkit-transition': 'max-height ' + opts.transitionSpeed + 'ms ' + opts.transitionEasing,
'transition': 'max-height ' + opts.transitionSpeed + 'ms ' + opts.transitionEasing
});
} else {
$content.css({
'-webkit-transition': '',
'transition': ''
});
}
}
function calculateHeight($el) {
var height = 0;
$el.children().each(function() {
height = height + $(this).outerHeight(true);
});
$el.data('oHeight', height);
}
function updateParentHeight($parentAccordion, $currentAccordion, qty, operation) {
var $content = $parentAccordion.filter('.open').find('> [data-content]'),
$childs = $content.find('[data-accordion].open > [data-content]'),
$matched;
if(!opts.singleOpen) {
$childs = $childs.not($currentAccordion.siblings('[data-accordion].open').find('> [data-content]'));
}
$matched = $content.add($childs);
if($parentAccordion.hasClass('open')) {
$matched.each(function() {
var currentHeight = $(this).data('oHeight');
switch (operation) {
case '+':
$(this).data('oHeight', currentHeight + qty);
break;
case '-':
$(this).data('oHeight', currentHeight - qty);
break;
default:
throw 'updateParentHeight method needs an operation';
}
$(this).css('max-height', $(this).data('oHeight'));
});
}
}
function refreshHeight($accordion) {
if($accordion.hasClass('open')) {
var $content = $accordion.find('> [data-content]'),
$childs = $content.find('[data-accordion].open > [data-content]'),
$matched = $content.add($childs);
calculateHeight($matched);
$matched.css('max-height', $matched.data('oHeight'));
}
}
function closeAccordion($accordion, $content) {
$accordion.trigger('accordion.close');
if(CSStransitions) {
if(accordionHasParent) {
var $parentAccordions = $accordion.parents('[data-accordion]');
updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '-');
}
$content.css(closedCSS);
$accordion.removeClass('open');
} else {
$content.css('max-height', $content.data('oHeight'));
$content.animate(closedCSS, opts.transitionSpeed);
$accordion.removeClass('open');
}
}
function openAccordion($accordion, $content) {
$accordion.trigger('accordion.open');
if(CSStransitions) {
toggleTransition($content);
if(accordionHasParent) {
var $parentAccordions = $accordion.parents('[data-accordion]');
updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '+');
}
requestAnimFrame(function() {
$content.css('max-height', $content.data('oHeight'));
});
$accordion.addClass('open');
} else {
$content.animate({
'max-height': $content.data('oHeight')
}, opts.transitionSpeed, function() {
$content.css({'max-height': 'none'});
});
$accordion.addClass('open');
}
}
function closeSiblingAccordions($accordion) {
var $accordionGroup = $accordion.closest(opts.groupElement);
var $siblings = $accordion.siblings('[data-accordion]').filter('.open'),
$siblingsChildren = $siblings.find('[data-accordion]').filter('.open');
var $otherAccordions = $siblings.add($siblingsChildren);
$otherAccordions.each(function() {
var $accordion = $(this),
$content = $accordion.find(opts.contentElement);
closeAccordion($accordion, $content);
});
$otherAccordions.removeClass('open');
}
function toggleAccordion() {
var isAccordionGroup = (opts.singleOpen) ? $accordion.parents(opts.groupElement).length > 0 : false;
calculateHeight($content);
if(isAccordionGroup) {
closeSiblingAccordions($accordion);
}
if($accordion.hasClass('open')) {
closeAccordion($accordion, $content);
} else {
openAccordion($accordion, $content);
}
}
function addEventListeners() {
$controls.on('click', toggleAccordion);
$controls.on('accordion.toggle', function() {
if(opts.singleOpen && $controls.length > 1) {
return false;
}
toggleAccordion();
});
$(window).on('resize', debounce(function() {
refreshHeight($accordion);
}));
}
function setup() {
$content.each(function() {
var $curr = $(this);
if($curr.css('max-height') != 0) {
if(!$curr.closest('[data-accordion]').hasClass('open')) {
$curr.css({ 'max-height': 0, 'overflow': 'hidden' });
} else {
toggleTransition($curr);
calculateHeight($curr);
$curr.css('max-height', $curr.data('oHeight'));
}
}
});
if(!$accordion.attr('data-accordion')) {
$accordion.attr('data-accordion', '');
$accordion.find(opts.controlElement).attr('data-control', '');
$accordion.find(opts.contentElement).attr('data-content', '');
}
}
setup();
addEventListeners();
};
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName,
new Accordion( this, options ));
}
});
}
})( jQuery, window, document );
$(document).ready(function() {
$('#multiple [data-accordion]').accordion({
singleOpen: false
});
});
</script>

View File

@ -1,105 +0,0 @@
<footer class="main_footer">
<div class="container">
<div class="top_footer">
<div class="row">
<div class="col-xs-12 col-sm-5 col-md-5 col-sm-push-3 col-md-push-3">
<h6>Connect</h6>
<p>Subscribe to our newsletter</p>
<div class=" newsletter">
<script src="//app-sj05.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1038"></form>
<script>
MktoForms2.loadForm("//app-sj05.marketo.com", "929-FJL-178", 1038, function(form) {
form.onSuccess(function(values, followUpUrl) {
location.href = "https://www.docker.com/thank-you-subscribing-docker-weekly";
return false;
});
});
MktoForms2.whenReady(function(form){
/* $('#mktoForm_1038 #Email').attr('placeholder', 'Enter your email'); */
});
</script>
</div>
<ul class="social-icons">
<li class="facebook"><a target="_blank" href="https://www.facebook.com/docker.run">facebook</a></li>
<li class="google"><a target="_blank" href="https://plus.google.com/u/0/communities/108146856671494713993">google-plus</a></li>
<li class="github"><a target="_blank" href="https://github.com/docker/docker">github</a></li>
<li class="linkedin"><a target="_blank" href="https://www.linkedin.com/company/docker">linkedin</a></li>
<li class="youtube"><a target="_blank" href="https://www.youtube.com/user/dockerrun">youtube</a></li>
<li class="reddit"><a target="_blank" href="https://www.reddit.com/r/docker">reddit</a></li>
<li class="twitter"><a target="_blank" href="https://twitter.com/docker">twitter</a></li>
<li class="slideshare"><a target="_blank" href="http://www.slideshare.net/docker">slideshare</a></li>
</ul>
</div>
<div class="col-xs-6 col-sm-3 col-md-3 col-sm-pull-5 col-md-pull-5 sm-margin-top-40">
<h6>Docker</h6>
<ul class="menu"><li class="first leaf menu-mlid-1487"><a href="/engine/getstarted/" target="_blank">Get Started</a></li>
<li class="leaf menu-mlid-1488"><a href="https://docs.docker.com/" target="_blank">Docs</a></li>
<li class="leaf menu-mlid-1490"><a href="https://blog.docker.com/" target="_blank">Blog</a></li>
<li class="leaf menu-mlid-1491"><a href="https://training.docker.com/" target="_blank">Training</a></li>
<li class="last leaf menu-mlid-1492"><a href="https://www.docker.com/open-source">Open Source</a></li>
</ul> </div>
<div class="col-xs-6 col-sm-4 col-md-4 sm-margin-top-40">
<h6>Related Links</h6>
<!--8c60a82e716c2bbe785434e072d7ff1b--> <ul id="cp_links"> <li><a href="https://www.docker.com/cp/container-management-deployment">Container Management Deployment</a></li> <li><a href="https://www.docker.com/cp/docker-and-aws">Docker And Aws</a></li> <li><a href="https://www.docker.com/cp/container-management-orchestration">Container Management Orchestration</a></li> <li><a href="https://www.docker.com/cp/docker-and-kubernetes">Docker And Kubernetes</a></li> <li><a href="https://www.docker.com/cp/container-orchestration-engines">Container Orchestration Engines</a></li> </ul> <div id="block-block-5" class="block block-block">
</div> </div>
</div>
</div>
<div class="bottom_footer">
<div class="footer-nav">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-5 col-md-push-7">
<nav class="primary-footer-sub-nav">
<ul>
<li><a href="https://www.docker.com/products/docker-hub">Hub</a></li>
<li><a href="https://status.docker.com/">Status</a></li>
<li><a href="https://www.docker.com/docker-security">Security</a></li>
<li><a href="https://www.docker.com/legal">Legal</a></li>
<li><a href="https://goto.docker.com/sales-inquiry.html">Contact</a></li>
</ul>
</nav>
</div>
<div class="col-xs-12 col-sm-12 col-md-7 col-md-pull-5">
<p>Build, Ship, Run. An open platform for distributed applications for developers and sysadmins</p>
</div>
</div>
</div>
<div class="footer-copyright">
<p class="copyright">Copyright © 2016 Docker Inc. All rights reserved.</p>
</div>
</div>
</div>
</footer>
<!-- highlight.js -->
<link rel="stylesheet" href="/highlight/styles/github.css">
<script src="/highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/assets/js/alljs.js"></script>
<!-- doc menu -->
<script async src="/menu.js"></script>
<script async src="/assets/js/app.js"></script>
<script async src="/assets/js/anchorlinks.js"></script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-WLGFZV" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WLGFZV');</script>
<!-- End Google Tag Manager -->
{{ if not .Params.notoc }}
<!-- Algolia DocSearch -->
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
<script type="text/javascript"> docsearch({
apiKey: '828e35034e76dbb6fdc5b33c03d5702f',
indexName: 'docker',
autoSelect: false,
inputSelector: '#st-search-input',
debug: false
});
</script>
{{end}}
</body>
</html>

View File

@ -1,123 +0,0 @@
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var o=t[n]={exports:{}};e[n][0].call(o.exports,function(t){var o=e[n][1][t];return r(o||t)},o,o.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(e,t,n){function r(e,t){return function(){o(e,[(new Date).getTime()].concat(a(arguments)),null,t)}}var o=e("handle"),i=e(2),a=e(3);"undefined"==typeof window.newrelic&&(newrelic=NREUM);var u=["setPageViewName","setCustomAttribute","finished","addToTrace","inlineHit"],c=["addPageAction"],f="api-";i(u,function(e,t){newrelic[t]=r(f+t,"api")}),i(c,function(e,t){newrelic[t]=r(f+t)}),t.exports=newrelic,newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),o("err",[e,(new Date).getTime()])}},{}],2:[function(e,t,n){function r(e,t){var n=[],r="",i=0;for(r in e)o.call(e,r)&&(n[i]=t(r,e[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,o=n-t||0,i=Array(0>o?0:o);++r<o;)i[r]=e[t+r];return i}t.exports=r},{}],ee:[function(e,t,n){function r(){}function o(e){function t(e){return e&&e instanceof r?e:e?u(e,a,i):i()}function n(n,r,o){e&&e(n,r,o);for(var i=t(o),a=l(n),u=a.length,c=0;u>c;c++)a[c].apply(i,r);var s=f[g[n]];return s&&s.push([m,n,r,i]),i}function p(e,t){w[e]=l(e).concat(t)}function l(e){return w[e]||[]}function d(e){return s[e]=s[e]||o(n)}function v(e,t){c(e,function(e,n){t=t||"feature",g[n]=t,t in f||(f[t]=[])})}var w={},g={},m={on:p,emit:n,get:d,listeners:l,context:t,buffer:v};return m}function i(){return new r}var a="nr@context",u=e("gos"),c=e(2),f={},s={},p=t.exports=o();p.backlog=f},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[t]=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer([e],r),o.emit(e,t,n)}var o=e("ee").get("handle");t.exports=r,r.ee=o},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!w++){var e=v.info=NREUM.info,t=s.getElementsByTagName("script")[0];if(e&&e.licenseKey&&e.applicationID&&t){c(l,function(t,n){e[t]||(e[t]=n)});var n="https"===p.split(":")[0]||e.sslForHttp;v.proto=n?"https://":"http://",u("mark",["onload",a()],null,"api");var r=s.createElement("script");r.src=v.proto+e.agent,t.parentNode.insertBefore(r,t)}}}function o(){"complete"===s.readyState&&i()}function i(){u("mark",["domContent",a()],null,"api")}function a(){return(new Date).getTime()}var u=e("handle"),c=e(2),f=window,s=f.document;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:f.XMLHttpRequest,REQ:f.Request,EV:f.Event,PR:f.Promise,MO:f.MutationObserver},e(1);var p=""+location,l={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-943.min.js"},d=window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent),v=t.exports={offset:a(),origin:p,features:{},xhrWrappable:d};s.addEventListener?(s.addEventListener("DOMContentLoaded",i,!1),f.addEventListener("load",r,!1)):(s.attachEvent("onreadystatechange",o),f.attachEvent("onload",r)),u("mark",["firstbyte",a()],null,"api");var w=0},{}]},{},["loader"]);</script>
<meta name="keywords" content="docker, docker open source, docker platform, distributed applications, microservices, containers, docker containers, docker software, docker virtualization" />
<meta property="og:site_name" content="Docker" />
<meta property="og:type" content="website" />
<meta property="og:title" content="{{ .thispage.Title }}" />
<meta property="og:updated_time" content="2016-06-07T22:58:05-07:00" />
<meta property="og:image" content="https://www.docker.com/sites/default/files/social/docker-facebook-share.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@docker_docs" />
<meta name="twitter:url" content="https://twitter.com/docker_docs" />
<meta name="twitter:title" content="Docs team" />
<meta name="twitter:image:src" content="https://www.docker.com/sites/default/files/social/docker-twitter-share.png" />
<meta property="article:published_time" content="2016-05-30T01:18:23-07:00" />
<meta property="article:modified_time" content="2016-06-07T22:58:05-07:00" />
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ .thispage.Title }}</title>{{ if .errorpage }}
<base href="/">{{ end }}
<meta name="description" content="{{ with .thispage.Description }}{{ . }}{{ else }}{{ with .thispage.Site.Params.description }}{{ . }}{{ end }}{{ end }}">
<meta name="keywords" content="{{ with .thispage.Keywords }}{{ range . }}{{ . }}{{ end }}{{ else }}{{ with .thispage.Site.Params.keywords }}{{ . }}{{ end }}{{ end }}">
<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="/favicons/manifest.json">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="/assets/css/allcss.css" />
<link rel="stylesheet" href="/assets/css/app2.css" />
<link rel="stylesheet" href="/assets/css/responsive.css" />
<link rel="stylesheet" href="/assets/css/p2p.css" />
<link rel="stylesheet" href="/assets/css/mobile_responsive.css" />
<link rel="stylesheet" href="/assets/css/temporary.css" />
<link rel="stylesheet" href="/documentation.css" />
<script async src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
<!-- Algolia DocSearch -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
</head>
<body class="html front not-logged-in no-sidebars page-node page-node- page-node-1 node-type-front-page path-docker" ng-app="Docker" ng-controller="DockerController">
<div class="off-canvas-wrap" data-offcanvas>
<div class="inner-wrap">
<a class="left-off-canvas-toggle" href="#">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px" height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
<path fill="#fff" d="M30.583,9.328c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,7.966,30.583,8.576,30.583,9.328L30.583,9.328z" />
<path fill="#fff" d="M30.583,17.09c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,15.728,30.583,16.338,30.583,17.09L30.583,17.09z" />
<path fill="#fff" d="M30.583,24.387c0,0.752-0.539,1.362-1.203,1.362H5.113c-0.664,0-1.203-0.61-1.203-1.362l0,0
c0-0.752,0.539-1.362,1.203-1.362H29.38C30.045,23.025,30.583,23.635,30.583,24.387L30.583,24.387z" />
</svg>
</a>
<header class="main-header">
<div class="top-right-bg"></div>
<div class="container">
<div class="row">
<div class="col-xs-2">
<a href="/"><img class="logo" src="/assets/images/logo-docker-main.png"></a>
</div>
<div class="col-xs-10">
<ul class="nav-global"><li class="first leaf menu-mlid-603"><a href="https://docs.docker.com/" target="_blank">Docs</a></li>
<li class="leaf menu-mlid-1997"><a href="https://www.docker.com/community/events">Events</a></li>
<li class="leaf menu-mlid-1998"><a href="https://www.docker.com/docker-community">Community</a></li>
<li class="leaf menu-mlid-1999"><a href="https://www.docker.com/docker-support-services">Support</a></li>
<li class="leaf menu-mlid-402"><a href="https://training.docker.com/" target="_blank">Training</a></li>
<li class="leaf menu-mlid-2000"><a href="https://www.docker.com/partners/partner-program">Partners</a></li>
<li class="leaf menu-mlid-602"><a href="https://blog.docker.com/" target="_blank">Blog</a></li>
<li class="leaf menu-mlid-2001"><a href="https://cloud.docker.com/login/" target="_blank">Log-In</a></li>
<li class="last leaf menu-mlid-2002"><a href="https://cloud.docker.com/" target="_blank">Sign-up</a></li>
</ul><ul class="nav-main"><li class="first leaf menu-mlid-398"><a href="https://www.docker.com/what-docker">What is Docker?</a></li>
<li class="expanded menu-mlid-1059 has-submenu"><a href="https://www.docker.com/enterprise">Solutions</a><ul class="nav-main"><li class="first leaf menu-mlid-1064"><a href="https://www.docker.com/enterprise">Solutions</a></li>
<li class="leaf menu-mlid-2365"><a href="https://www.docker.com/enterprise">Overview</a></li>
<li class="collapsed menu-mlid-993"><a href="https://www.docker.com/use-cases">Use Cases</a></li>
<li class="leaf menu-mlid-1034"><a href="https://www.docker.com/customers">Customers</a></li>
<li class="leaf menu-mlid-1587"><a href="https://www.docker.com/industry-government">For Government</a></li>
<li class="last collapsed menu-mlid-985"><a href="https://www.docker.com/products/resources">Resources</a></li>
</ul></li>
<li class="leaf menu-mlid-954"><a href="https://www.docker.com/products/overview">Get Docker</a></li>
<li class="leaf menu-mlid-1055"><a href="https://www.docker.com/pricing">Pricing</a></li>
<li class="leaf menu-mlid-2005 double-navstyle secondlast"><a href="https://www.docker.com/technologies/overview">Open Source</a></li>
<li class="last expanded menu-mlid-397 has-submenu"><a href="https://www.docker.com/company">Company</a><ul class="nav-main"><li class="first leaf menu-mlid-698"><a href="https://www.docker.com/company">Company</a></li>
<li class="leaf menu-mlid-2366"><a href="https://www.docker.com/company">Overview</a></li>
<li class="leaf menu-mlid-622"><a href="https://www.docker.com/careers">Careers</a></li>
<li class="last leaf menu-mlid-1086"><a href="https://www.docker.com/company/news-and-press">News &amp; Press</a></li>
</ul></li>
</ul> </div>
</div>
</div>
</header> <aside class="left-off-canvas-menu">
<ul class="off-canvas-list"><li class="first leaf menu-mlid-398"><a href="https://www.docker.com/what-docker">What is Docker?</a></li>
<li class="expanded menu-mlid-1059 has-submenu"><a href="https://www.docker.com/enterprise">Solutions</a><ul class="left-submenu"><li class="back"><a href="#">Back</a></li><li class="first leaf menu-mlid-1064"><a href="https://www.docker.com/enterprise">Solutions</a></li>
<li class="leaf menu-mlid-2365"><a href="https://www.docker.com/enterprise">Overview</a></li>
<li class="collapsed menu-mlid-993"><a href="https://www.docker.com/use-cases">Use Cases</a></li>
<li class="leaf menu-mlid-1034"><a href="https://www.docker.com/customers">Customers</a></li>
<li class="leaf menu-mlid-1587"><a href="https://www.docker.com/industry-government">For Government</a></li>
<li class="last collapsed menu-mlid-985"><a href="https://www.docker.com/products/resources">Resources</a></li>
</ul></li>
<li class="leaf menu-mlid-954"><a href="https://www.docker.com/products/overview">Get Docker</a></li>
<li class="leaf menu-mlid-1055"><a href="https://www.docker.com/pricing">Pricing</a></li>
<li class="leaf menu-mlid-2005 double-navstyle secondlast"><a href="https://www.docker.com/technologies/overview">Open Source</a></li>
<li class="last expanded menu-mlid-397 has-submenu"><a href="https://www.docker.com/company">Company</a><ul class="left-submenu"><li class="back"><a href="#">Back</a></li><li class="first leaf menu-mlid-698"><a href="https://www.docker.com/company">Company</a></li>
<li class="leaf menu-mlid-2366"><a href="https://www.docker.com/company">Overview</a></li>
<li class="leaf menu-mlid-622"><a href="https://www.docker.com/careers">Careers</a></li>
<li class="last leaf menu-mlid-1086"><a href="https://www.docker.com/company/news-and-press">News &amp; Press</a></li>
</ul></li>
</ul><ul class="nav-global-off-canvas"><li class="first leaf menu-mlid-603"><a href="https://docs.docker.com/" target="_blank">Docs</a></li>
<li class="leaf menu-mlid-1997"><a href="https://www.docker.com/community/events">Events</a></li>
<li class="leaf menu-mlid-1998"><a href="https://www.docker.com/docker-community">Community</a></li>
<li class="leaf menu-mlid-1999"><a href="https://www.docker.com/docker-support-services">Support</a></li>
<li class="leaf menu-mlid-402"><a href="https://training.docker.com/" target="_blank">Training</a></li>
<li class="leaf menu-mlid-2000"><a href="https://www.docker.com/partners/partner-program">Partners</a></li>
<li class="leaf menu-mlid-602"><a href="https://blog.docker.com/" target="_blank">Blog</a></li>
<li class="leaf menu-mlid-2001"><a href="https://cloud.docker.com/login/" target="_blank">Log-In</a></li>
<li class="last leaf menu-mlid-2002"><a href="https://cloud.docker.com/" target="_blank">Sign-up</a></li>
</ul></aside>
<div class="dockercon16">

View File

@ -1,14 +0,0 @@
<div class="dockercon16_padding"></div>
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-4">
<img src="http://moby-docker.pantheonsite.io/sites/default/files/Compose.png">
</div>
<div class="col-xs-12 col-sm-6 col-md-8 textalign-left">
<h1>Docker Compose</h1>
<p>Docker Compose allows you to define your multi-container application with all of its dependencies in a single
file, then spin your application up in a single command.</p>
<a class="button orange-btn" target="_blank" href="https://docs.docker.com/compose/install/">Get Compose</a>
</div>
</div>
</div>

View File

@ -1,12 +0,0 @@
<div class="heronav_section">
<div class="container">
<ul>
<li><a href="#overview">Product Overview</a></li>
<li><a href="#features">Product Features</a></li>
<li><a href="#get-started">Get Started</a></li>
<li><a href="#demo">Demo</a></li>
<li><a href="#resources">Resources</a></li>
<li><a href="/pricing">Pricing</a></li>
</ul>
</div>
</div>

View File

@ -1,55 +0,0 @@
<section id="multiple" class="tutmenu" data-accordion-group>
{{ $currentNode := . }}
{{ range .Site.Menus.linux }}
<section data-accordion>
{{ if .HasChildren }}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "linux" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{ end }}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "linux" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "linux" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "linux" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
</section>
{{end}}
</section>
<script>
$(document).ready(function () {
var $activeLink = $('#multiple [data-link].active');
var $accordions = $activeLink.parents('article[data-accordion]');
$($accordions.get().reverse()).each(function (index, accordion) {
var $accordion = $(accordion);
var $content = $accordion.find('[data-content]');
$accordion.addClass('open');
$content.css({'max-height': '100%'});
});
});
</script>

View File

@ -1,55 +0,0 @@
<section id="multiple" class="tutmenu" data-accordion-group>
{{ $currentNode := . }}
{{ range .Site.Menus.mac }}
<section data-accordion>
{{ if .HasChildren }}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "mac" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{ end }}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "mac" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "mac" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "mac" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
</section>
{{end}}
</section>
<script>
$(document).ready(function () {
var $activeLink = $('#multiple [data-link].active');
var $accordions = $activeLink.parents('article[data-accordion]');
$($accordions.get().reverse()).each(function (index, accordion) {
var $accordion = $(accordion);
var $content = $accordion.find('[data-content]');
$accordion.addClass('open');
$content.css({'max-height': '100%'});
});
});
</script>

View File

@ -1,55 +0,0 @@
<section id="multiple" class="tutmenu" data-accordion-group>
{{ $currentNode := . }}
{{ $menu := index ( index $.Site.Menus ($.Params.menuname) ) }}{{ $currentNode := . }}{{ range $menu }}
<section data-accordion>
{{ if .HasChildren }}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent $.Params.menuname . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{ end }}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent $.Params.menuname . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent $.Params.menuname . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent $.Params.menuname . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
</section>
{{end}}
</section>
<script>
$(document).ready(function () {
var $activeLink = $('#multiple [data-link].active');
var $accordions = $activeLink.parents('article[data-accordion]');
$($accordions.get().reverse()).each(function (index, accordion) {
var $accordion = $(accordion);
var $content = $accordion.find('[data-content]');
$accordion.addClass('open');
$content.css({'max-height': '100%'});
});
});
</script>

View File

@ -1,53 +0,0 @@
<nav class="navbar navbar-default" role="navigation">
<!-- Main Menu -->
<ul class="tab first-level">
{{ $currentNode := . }}
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<!-- Dropdown-->
<li class="{{if $currentNode.HasMenuCurrent "main" . }} active{{end}}">
<a href="{{ .URL }}">{{ .Pre }} {{ .Name }} <span class="caret" ></span></a>
<!-- Dropdown level 1 -->
<ul class="tab second-level">
{{ range .Children }}
{{if .HasChildren}}
<li class="{{if $currentNode.HasMenuCurrent "main" . }} active{{end}}">
<a href="{{ .URL }}">{{ .Pre }} </span> {{ .Name }} <span class="caret"></span></a>
<!-- Dropdown level 2 -->
<ul class="tab third-level">
{{ range .Children }}
{{if .HasChildren}}
<li class="{{if $currentNode.HasMenuCurrent "main" . }} active{{end}}">
<a href="{{ .URL }}">{{ .Pre }} </span> {{ .Name }} <span class="caret"></span></a>
<!-- Dropdown level 3 -->
<ul class="tab fourth-level">
{{ range .Children }}
<li class="{{if $currentNode.IsMenuCurrent "main" . }} active{{end}}"><a href="{{ .URL }}"> {{ .Name }}</a></li>
{{ end }}
</ul>
</li>
{{else}}
<li class="{{if $currentNode.IsMenuCurrent "main" . }} active{{end}}"><a href="{{ .URL }}"> {{ .Name }} </a></li>
{{ end }}
{{ end }}
</ul>
</li>
{{else}}
<li class="{{if $currentNode.IsMenuCurrent "main" . }} active{{end}}"><a href="{{ .URL }}"> {{ .Name }} </a></li>
{{ end }}
{{ end }}
</ul>
{{else}}
<!-- item is not a list -->
<li> <a class="" href="{{ .URL }}">{{ .Pre }}{{ .Name }}</a>
{{end}}
</li> <!-- 1st level item -->
{{end}}
</ul> <!-- 1st level list -->
</nav>
<script>
$(document).ready(function () {
//$('.tab first-level').children().hide();
});
</script>

View File

@ -1,15 +0,0 @@
{{ $thispage := .thispage }}
<ul class="nav-sub">
{{ range .menu }}
{{ if .HasChildren }}
<li class="leaf {{ if $thispage.HasMenuCurrent "main" . }} active{{end}} {{ if $thispage.HasMenuCurrent "main" . }} menu-open {{else}} menu-closed {{end}} ">
<a href="" class="expand-menu {{ if $thispage.HasMenuCurrent "main" . }} active{{end}}"><span class="menu-icon" aria-hidden="true"></span> {{ .Pre }} {{ .Name }}</a>
{{ partial "navbar-inner.html" (dict "menu" .Children "thispage" $thispage) }}
</li>
{{ else }}
<li class="leaf {{ if $thispage.HasMenuCurrent "main" . }} active{{end}}">
<a href="{{ .URL }}" class="{{ if $thispage.IsMenuCurrent "main" . }} active currentPage{{end}}"> {{ .Name }} </a>
</li>
{{ end }}
{{ end }}
</ul>

View File

@ -1,3 +0,0 @@
<div class="region region-hero-sub">
{{ partial "navbar-inner.html" (dict "menu" .Site.Menus.main "thispage" . "menuopen" "open") }}
</div>

View File

@ -1,55 +0,0 @@
<section id="multiple" class="tutmenu" data-accordion-group>
{{ $currentNode := . }}
{{ range .Site.Menus.windows }}
<section data-accordion>
{{ if .HasChildren }}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
{{if .HasChildren}}
<article data-accordion>
<button data-control>{{ .Pre }} {{ .Name }}</button>
<div data-content>
{{ range .Children }}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "windows" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{ end }}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "windows" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "windows" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
{{end}}
</div>
</article>
{{else}}
<a data-link href="{{ .URL }}" class="{{if $currentNode.IsMenuCurrent "windows" . }} active{{end}}">{{ .Pre }} {{ .Name }}</a>
{{end}}
</section>
{{end}}
</section>
<script>
$(document).ready(function () {
var $activeLink = $('#multiple [data-link].active');
var $accordions = $activeLink.parents('article[data-accordion]');
$($accordions.get().reverse()).each(function (index, accordion) {
var $accordion = $(accordion);
var $content = $accordion.find('[data-content]');
$accordion.addClass('open');
$content.css({'max-height': '100%'});
});
});
</script>

View File

@ -1,6 +0,0 @@
<section>
<h3 class="title">{{ .Title }}</h3>
<article id="content">
{{ .Content }}
</article>
</section>

View File

@ -1,12 +0,0 @@
{{ partial "header.html" . }}
{{ partial "navbar.html" . }}
<div class="container">
<section id="main">
<h1 id="title">{{ .Title }}</h1>
<article id="content">
{{ .Content }}
</article>
</section>
{{ partial "container-footer.html" . }}
</div>
{{ partial "footer.html" . }}

View File

@ -1 +0,0 @@
{{ .Page.Site.BaseURL }}

View File

@ -1,2 +0,0 @@
These are the files that we share with https://www.docker.com

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,32 +0,0 @@
#mktoStyleLoaded {
/* css load detection, do not remove */
color:#123456;
}
.mktoForm fieldset {}
.mktoForm fieldset legend{}
.mktoForm input[type=text],
.mktoForm input[type=url],
.mktoForm input[type=email],
.mktoForm input[type=tel],
.mktoForm input[type=number],
.mktoForm input[type=date]{}
.mktoForm input[type=text],
.mktoForm input[type=url],
.mktoForm input[type=email],
.mktoForm input[type=tel],
.mktoForm input[type=number],
.mktoForm input[type=date],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
padding:2px 3px;
}
.mktoForm input[type=text]:focus,
.mktoForm input[type=url]:focus,
.mktoForm input[type=email]:focus,
.mktoForm input[type=tel]:focus,
.mktoForm input[type=number]:focus,
.mktoForm input[type=date]:focus,
.mktoForm select.mktoField:focus,
.mktoForm textarea.mktoField:focus{}

View File

@ -1,562 +0,0 @@
/* This is used to test if the stylesheet has been loaded yet*/
#mktoStyleLoaded {
background-color: #123456;
display: none;
}
.mktoForm {
text-align: left;
}
.mktoForm .mktoClear {
clear: both;
float: none;
}
.mktoForm div,
.mktoForm span,
.mktoForm label,
.mktoForm p {
text-align: left;
margin: 0;
padding: 0;
}
.mktoForm input,
.mktoForm select,
.mktoForm textarea {
margin: 0;
}
.mktoForm * {
font-family: inherit;
}
.mktoForm .mktoOffset {
float: left;
height: 1.2em;
}
.mktoForm .mktoGutter {
float: left;
height: 1.2em;
}
.mktoForm .mktoFieldWrap {
float: left;
}
.mktoForm .mktoLabel {
float: left;
line-height: 1.2em;
padding-top: 0.3em;
}
.mktoForm .mktoField {
line-height: 1.2em;
font-size: 1em;
float: left;
}
.mktoForm .mktoPlaceholder {
float: left;
}
.mktoForm .mktoLogicalField {
float: left;
}
.mktoForm fieldset {
padding: 0;
margin: 0;
}
.mktoForm fieldset legend {
margin: 0 1em 0.5em;
color: inherit;
}
.mktoForm a.mktoNotYou {
cursor: pointer;
color: #4692f3;
}
.mktoForm a.mktoNotYou:hover {
text-decoration: underline;
}
.mktoForm .mktoAsterix {
float: right;
color: #bf0000;
padding-left: 5px;
display: none;
}
.mktoForm .mktoRadioList,
.mktoForm .mktoCheckboxList {
padding: 0.3em;
float: left;
}
.mktoForm .mktoRadioList > label,
.mktoForm .mktoCheckboxList > label {
margin-left: 1.5em;
margin-top: 0.1em;
margin-bottom: 0.3em;
line-height: 1.2em;
display: block;
min-height: 12px;
}
.mktoForm.ie7 .mktoRadioList > label,
.mktoForm.ie7 .mktoCheckboxList > label {
padding: 0.2em 0 0;
}
.mktoForm .mktoRadioList > label > input,
.mktoForm .mktoCheckboxList > label > input {
float: left;
margin: 0;
margin-left: -1.5em;
}
.mktoForm .mktoRadioList > input,
.mktoForm .mktoCheckboxList > input {
padding: 0;
}
.mktoForm .mktoLabelToLeft > label {
text-align: right;
margin-left: 0;
margin-right: 1.5em;
}
.mktoForm .mktoLabelToLeft input[type=checkbox],
.mktoForm .mktoLabelToLeft input[type=radio] {
position: absolute;
right: 0.3em;
}
.mktoForm.mktoLayoutAbove .mktoRequiredField .mktoAsterix {
float: left;
padding-left: 0;
padding-right: 5px;
}
.mktoForm .mktoRequiredField .mktoAsterix {
display: block;
}
.mktoForm .mktoRequiredField label.mktoLabel {
font-weight: bold;
}
.mktoForm input[type=text],
.mktoForm input[type=url],
.mktoForm input[type=email],
.mktoForm input[type=tel],
.mktoForm input[type=number],
.mktoForm input[type=date] {
padding: 0.1em 0.2em;
line-height: 1.2em;
margin: 0;
}
.mktoForm input[type=range] {
padding: 0.25em 0;
margin: 0;
}
.mktoForm input[type=range]::-ms-tooltip {
display: none;
}
.mktoForm input[type=url],
.mktoForm input[type=text],
.mktoForm input[type=date],
.mktoForm input[type=tel],
.mktoForm input[type=email],
.mktoForm input[type=number],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.mktoForm .mktoFormRow {
clear: both;
}
.mktoForm .mktoFormCol {
float: left;
position: relative;
min-height: 2em;
}
.mktoButtonRow {
display: inline-block;
position: relative;
}
.mktoForm textarea.mktoField {
display: inline-block;
padding: 0.2em;
margin: 0;
line-height: 1.2em;
overflow: auto;
resize: none;
float: none;
}
/* Firefox computes row height wrong for the last 13 years... https://bugzilla.mozilla.org/show_bug.cgi?id=33654 */
.mktoForm textarea[rows="1"] {
height: 2em;
}
.mktoForm textarea[rows="2"] {
height: 3.4em;
}
.mktoForm textarea[rows="3"] {
height: 4.6em;
}
.mktoForm textarea[rows="4"] {
height: 5.8em;
}
.mktoForm textarea[rows="5"] {
height: 7em;
}
.mktoForm textarea[rows="6"] {
height: 8.2em;
}
.mktoForm textarea[rows="7"] {
height: 9.4em;
}
.mktoForm textarea[rows="8"] {
height: 10.6em;
}
.mktoForm.mktoLayoutCenter .mktoLabel {
text-align: right;
}
.mktoForm.mktoLayoutAbove .mktoGutter {
display: none;
}
.mktoForm.mktoLayoutAbove .mktoLabel {
text-align: left;
}
.mktoForm.mktoLayoutAbove .mktoRadioList,
.mktoForm.mktoLayoutAbove .mktoCheckboxList {
float: none;
clear: left;
}
.mktoForm.mktoLayoutAbove .mktoField,
.mktoForm.mktoLayoutAbove .mktoLogicalField {
clear: left;
}
.mktoForm.mktoLayoutAbove textarea.mktoField {
float: left;
}
.mktoForm .mktoError {
position: absolute;
z-index: 99;
color: #bf0000;
}
.mktoForm .mktoError .mktoErrorArrowWrap {
width: 16px;
height: 8px;
overflow: hidden;
position: absolute;
top: 0;
left: 5px;
z-index: 100;
}
.mktoForm.ie7 .mktoError .mktoErrorArrowWrap {
top: -8px;
}
.mktoForm .mktoError .mktoErrorArrow {
background-color: #e51b00;
border: 1px solid #9f1300;
border-right: none;
border-bottom: none;
display: inline-block;
height: 16px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
-ms-transform: rotate(45deg);
width: 16px;
margin-top: 5px;
}
/** These two styles are for browsers that don't support css transforms */
.mktoForm .mktoError .mktoErrorArrowWrap.mktoArrowImage {
background: transparent url("../images/callout-arrow-up-red.png") top center no-repeat;
bottom: -7px;
}
.mktoForm .mktoError .mktoErrorArrowWrap.mktoArrowImage .mktoErrorArrow {
display: none;
}
.mktoForm .mktoError .mktoErrorMsg {
display: block;
margin-top: 7px;
background-color: #e51b00;
background-image: -webkit-linear-gradient(#e51b00 43%, #ba1600 100%);
background-image: -moz-linear-gradient(#e51b00 43%, #ba1600 100%);
background-image: linear-gradient(#e51b00 43%, #ba1600 100%);
background-image: -ms-linear-gradient(#e51b00 43%, #ba1600 100%);
border: 1px solid #9f1300;
-webkit-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: rgba(0,0,0,0.65) 0 2px 7px, inset #ff3c3c 0 1px 0px;
box-shadow: rgba(0,0,0,0.65) 0 2px 7px, inset #ff3c3c 0 1px 0px;
color: #f3f3f3;
font-size: 1em;
line-height: 1.2em;
max-width: 16em;
padding: 0.4em 0.6em;
text-shadow: #901100 0 -1px 0;
}
.mktoForm .mktoError .mktoErrorMsg .mktoErrorDetail {
display: block;
}
.mktoForm button.mktoButton {
cursor: pointer;
margin: 0;
}
.mktoForm button.mktoButton:disabled {
opacity: 0.5;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
cursor: default;
}
.mktoNoJS .mktoLabel {
display: block;
padding-right: 10px;
width: 110px;
text-align: right;
}
.mktoNoJS input[type=text] {
width: 150px;
}
.mktoForm .cf_widget_socialsignon .cf_sign_on {
margin-bottom: 1.5em;
}
.mktoForm .mktoRangeField .mktoRangeValue {
zoom: 1;
float: left;
display: none;
text-align: center;
position: absolute;
z-index: 99;
color: #000;
}
.mktoForm.ie7 .mktoRangeField .mktoRangeValue,
.mktoForm.ie6 .mktoRangeField .mktoRangeValue {
position: relative;
}
.mktoForm .mktoRangeField.mktoHover .mktoRangeValue {
display: block;
}
.mktoForm .mktoRangeField .mktoRangeValueArrowWrap {
width: 16px;
height: 8px;
overflow: hidden;
position: absolute;
bottom: -7px;
z-index: 100;
}
.mktoForm .mktoRangeField .mktoRangeValueArrow {
background-color: #028d05;
border: 1px solid #005602;
height: 16px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
-ms-transform: rotate(45deg);
width: 16px;
background-color: #007d04;
border-left: none;
border-top: none;
margin-top: 5px;
position: absolute;
bottom: 5px;
}
/** These two styles are for browsers that don't support css transforms */
.mktoForm .mktoRangeField .mktoRangeValueArrowWrap.mktoArrowImage {
background: transparent url("../images/callout-arrow-down-green.png") top center no-repeat;
bottom: -7px;
}
.mktoForm .mktoRangeField .mktoRangeValueArrowWrap.mktoArrowImage .mktoRangeValueArrow {
display: none;
}
.mktoForm .mktoRangeField .mktoRangeValueText {
display: block;
background-color: #028d05;
background-image: -webkit-linear-gradient(#028d05 43%, #007d04 100%);
background-image: -moz-linear-gradient(#028d05 43%, #007d04 100%);
background-image: linear-gradient(#028d05 43%, #007d04 100%);
background-image: -ms-linear-gradient(#028d05 43%, #007d04 100%);
border: 1px solid #005602;
-webkit-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: rgba(0,0,0,0.65) 0 2px 7px, inset #00a500 0 1px 0px;
box-shadow: rgba(0,0,0,0.65) 0 2px 7px, inset #00a500 0 1px 0px;
color: #f3f3f3;
font-size: 1em;
line-height: 1.2em;
padding: 0.4em 0.6em;
text-shadow: #005602 0 -1px 0;
text-align: center;
}
.mktoModal {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.mktoModal .mktoModalMask {
position: absolute;
z-index: 10000;
top: 0;
left: 0;
right: 0;
zoom: 1;
background: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000, endColorstr=#80000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000, endColorstr=#80000000)";
}
.mktoModal .mktoModalContent {
position: absolute;
z-index: 10001;
background: #fff;
padding: 10px;
}
.mktoModal .mktoModalClose {
position: absolute;
cursor: pointer;
top: -10px;
right: -10px;
background: #000;
color: #fff;
width: 19px;
height: 19px;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
line-height: 19px;
-webkit-border-radius: 19px;
border-radius: 19px;
text-align: center;
border: 2px solid #ccc;
}
/* This part of the stylesheet is overrides for mobile browsers with screen width restrictions.
It should always be at the end of the document. */
@media only screen and (max-width: 480px) {
.mktoForm,
.mktoForm * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-box-sizing: border-box;
padding: 10px;
}
.mktoForm .mktoGutter,
.mktoForm .mktoOffset {
display: none;
}
.mktoForm .mktoFormCol .mktoLabel {
text-align: left;
width: 100%;
}
.mktoForm .mktoFormCol {
float: none;
}
.mktoForm .mktoFieldWrap {
float: none;
}
.mktoForm fieldset {
padding: 0 10px;
}
.mktoForm input[type=url],
.mktoForm input[type=text],
.mktoForm input[type=date],
.mktoForm input[type=tel],
.mktoForm input[type=email],
.mktoForm input[type=number],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
width: 100%;
height: 1.5em;
line-height: 1.5em;
font-size: 18px;
}
.mktoForm select.mktoField {
height: auto;
}
.mktoForm .mktoFormRow .mktoField {
clear: left;
}
.mktoForm .mktoFormRow .mktoFormCol {
clear: both;
}
.mktoForm .mktoRadioList,
.mktoForm .mktoCheckboxList {
width: 100%;
}
.mktoForm .mktoFormRow .mktoRequiredField .mktoAsterix {
float: left;
padding-left: 0;
padding-right: 5px;
}
.mktoModal .mktoModalContent {
padding: 10px 0;
}
.mktoModal .mktoModalClose {
right: 0;
}
.mktoForm .cf_widget_socialsignon {
display: block;
}
.mktoForm .cf_widget_socialsignon .cf_sign_on {
width: 100%;
}
.mktoForm .cf_widget_socialsignon .cf_sign_on_button {
width: auto;
}
}
@media only screen and (max-width: 480px), only screen and (max-device-width: 480px), only screen and (max-device-height: 480px) {
.mktoMobileShow .mktoForm,
.mktoForm * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-box-sizing: border-box;
padding: 10px;
}
.mktoMobileShow .mktoForm .mktoGutter,
.mktoMobileShow .mktoForm .mktoOffset {
display: none;
}
.mktoMobileShow .mktoForm .mktoFormCol .mktoLabel {
text-align: left;
width: 100%;
}
.mktoMobileShow .mktoForm .mktoFormCol {
float: none;
}
.mktoMobileShow .mktoForm .mktoFieldWrap {
float: none;
}
.mktoMobileShow .mktoForm fieldset {
padding: 0 10px;
}
.mktoMobileShow .mktoForm input[type=url],
.mktoMobileShow .mktoForm input[type=text],
.mktoMobileShow .mktoForm input[type=date],
.mktoMobileShow .mktoForm input[type=tel],
.mktoMobileShow .mktoForm input[type=email],
.mktoMobileShow .mktoForm input[type=number],
.mktoMobileShow .mktoForm textarea.mktoField,
.mktoMobileShow .mktoForm select.mktoField {
width: 100%;
height: 1.5em;
line-height: 1.5em;
font-size: 18px;
}
.mktoMobileShow .mktoForm select.mktoField {
height: auto;
}
.mktoMobileShow .mktoForm .mktoFormRow .mktoField {
clear: left;
}
.mktoMobileShow .mktoForm .mktoFormRow .mktoFormCol {
clear: both;
}
.mktoMobileShow .mktoForm .mktoRadioList,
.mktoMobileShow .mktoForm .mktoCheckboxList {
width: 100%;
}
.mktoMobileShow .mktoForm .mktoFormRow .mktoRequiredField .mktoAsterix {
float: left;
padding-left: 0;
padding-right: 5px;
}
.mktoMobileShow .mktoModal .mktoModalContent {
padding: 10px 0;
}
.mktoMobileShow .mktoModal .mktoModalClose {
right: 0;
}
.mktoMobileShow .mktoForm .cf_widget_socialsignon {
display: block;
}
.mktoMobileShow .mktoForm .cf_widget_socialsignon .cf_sign_on {
width: 100%;
}
.mktoMobileShow .mktoForm .cf_widget_socialsignon .cf_sign_on_button {
width: auto;
}
}

View File

@ -1,99 +0,0 @@
/*
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
color: #333;
background: #f8f8f8;
}
.hljs-comment,
.hljs-quote {
color: #998;
font-style: italic;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
color: #333;
font-weight: bold;
}
.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
color: #008080;
}
.hljs-string,
.hljs-doctag {
color: #d14;
}
.hljs-title,
.hljs-section,
.hljs-selector-id {
color: #900;
font-weight: bold;
}
.hljs-subst {
font-weight: normal;
}
.hljs-type,
.hljs-class .hljs-title {
color: #458;
font-weight: bold;
}
.hljs-tag,
.hljs-name,
.hljs-attribute {
color: #000080;
font-weight: normal;
}
.hljs-regexp,
.hljs-link {
color: #009926;
}
.hljs-symbol,
.hljs-bullet {
color: #990073;
}
.hljs-built_in,
.hljs-builtin-name {
color: #0086b3;
}
.hljs-meta {
color: #999;
font-weight: bold;
}
.hljs-deletion {
background: #fdd;
}
.hljs-addition {
background: #dfd;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}

File diff suppressed because one or more lines are too long

View File

@ -1,241 +0,0 @@
/* ========== Start Responsive Sytling ========== */
@media screen and (max-width:1199px) {
.node-type-front-page .dockercon16 section.title_section.darkblue a.button{
margin-bottom: 70px;
}
}
@media screen and (max-width:991px) {
section.section {
padding: 80px 0;
}
.main-header div>.nav-main>li {
margin-left: 16px;
}
div.dockercon_registation_section .cross-btn > a{
border: 0;
background: transparent;
}
div.dockercon_registation_section .cross-btn:after{
border: 0;
background: transparent;
}
div.dockercon_registation_section .cross-btn > a:after{
border: 0;
background: transparent;
}
div.dockercon_registation_section .cross-btn > a:before{
border: 0;
background: transparent;
}
.pricing-tables > li {
width: 50%;
}
.pricing-tables > li.standard {
border-right: 1px solid #CCC;
}
.main-header .logo, .main-header .logo_safari {
margin-left: 50px;
margin-top: 16px;
}
.main_footer .footer-nav .primary-footer-sub-nav {
float: left;
}
.main_footer .footer-nav .primary-footer-sub-nav ul li {
margin-left: 0px;
margin-right: 30px;
}
section.use_case_item_section .items.media li .media_content {
padding-right: 30px;
}
.dockercon16 section.use_case_item_section.section .button_table a.button {
padding: 15px 20px 13px 20px;
}
section.government_partners_section .government_partners_tabs ul li{
max-width: 32%;
}
section.government_other_resources_section.GenericDev .items.displaytable li {
float: left;
display: block;
width: 50%;
}
section.government_partners_section .government_partners_tabs ul li .helper img{
max-width: 100%;
}
section.dockercon_quotes_section .quotes_icon {
margin-left: 0px;
}
section.career_job_openings_section.GenericDev .items.media li {
padding: 20px 30px 20px 30px;
}
section.career_job_openings_section.GenericDev .items.media li .media_image {
left: 30px;
}
section.career_overview_section.GenericDev .items>li {
padding: 0;
padding-right: 0;
}
}
@media screen and (max-width:940px) {
header .top-right-bg {
display: none;
}
}
@media screen and (max-width:767px) {
section.section {
padding: 60px 0;
}
section.GenericDev .items>li {
padding: 20px 10px 20px;
}
.dockercon16 div.heronav_section ul li a {
padding: 14px 30px 10px 30px;
}
.dockercon16 section.section a.button, .dockercon16 section.title_section a.button {
margin-right: 10px;
margin-left: 10px;
}.dockercon16 section.section a.button+a.button, .dockercon16 section.title_section a.button+a.button {
margin-right: 10px;
margin-left: 10px;
}
.sm-margin-top-40 {
margin-top:40px;
}
footer.main_footer .top_footer {
margin-bottom: 50px;
}
footer.main_footer div.newsletter {
max-width: none;
margin-right: auto;
}
footer.main_footer .social-icons {
max-width: none;
margin-right: auto;
}
.node-type-front-page .dockercon16 section.title_section.darkblue img.moby {
margin-bottom: 40px;
}
div.dockercon_registation_section {
background-size: 200% 52px;
}
.dockercon16 section.title_section .dockercon16_padding {
padding-top: 50px;
}
.dockercon16 section .dockercon16_padding {
padding-top:50px;
}
.dockercon16 section.use_case_item_section.section .button_table a.button {
margin-top:30px;
}
section.feature_customer_section.GenericDev .items.media>li{
width: 100%;
}
section.dockercon_quotes_section .quotes_icon {
margin-left: 0;
}
.sidebarnav_section ul{
margin: 0px 0px 1.5rem;
}
.dockercon16 .row .sidebarnav_section+.floatleft,.dockercon16 .docker_captian_about_section .text-left{
margin-top: 140px;
}
.dockercon16 .row .sidebarnav_section+.floatleft>.row{
padding: 0 15px;
}
.dockercon16 .docker_captian_about_section{
padding: 0 15px;
}
.dockercon16 .event-search {
padding: 0 15px;
}
.path-aws .dockercon16 .row .sidebarnav_section+.floatleft, .path-hpe .dockercon16 .row .sidebarnav_section+.floatleft, .path-IBM .dockercon16 .row .sidebarnav_section+.floatleft, .path-partner-portal .dockercon16 .row .sidebarnav_section+.floatleft , .path-microsoft .dockercon16 .row .sidebarnav_section+.floatleft, .path-find-partner .dockercon16 .row .sidebarnav_section+.floatleft {
margin-top: 175px;
}
.path-resources .dockercon16 .row .sidebarnav_section+.floatleft, .path-section-products .dockercon16 .row .sidebarnav_section+.floatleft {
margin-top: 280px;
}
div.dockercon_registation_section .cross-btn {
width: inherit;
}
section.title_section.darkblue img {
max-height: 250px;
}
.dockercon16 section.title_section .textalign-left a.button, .dockercon16 section.title_section .textalign-left a.button+a.button {
margin: 20px 0;
}
section.docker_product_section.GenericDev .items.media {
margin-left: -20px;
margin-right: -20px;
}
section.docker_product_section.GenericDev .items.media li {
padding-left: 20px;
padding-right: 20px;
}
section.docker_product_section .items.media li .media_image {
left: 25px!important;
}
section.toolbox_overview_section .items>li a.button {
margin: 10px 00px;
}
}
@media screen and (max-width:680px) {
.pricing-tables > li {
width: 100%;
}
}
@media screen and (max-width:600px) {
.dockercon16 section.title_section a.button,.dockercon16 section.title_section a.button+a.button{
display: block;
max-width: 300px;
margin: 20px auto;
}
.dockercon16 div.heronav_section ul {
display: block;
clear: none;
float: none;
}
.dockercon16 div.heronav_section ul li {
float: none;
display: inline-block;
}
.dockercon16 div.heronav_section ul li a {
padding: 14px 20px 10px 20px;
}
section.use_case_item_section .quote_container .author {
padding-left: 40%;
}
section.use_case_item_section .quote_container .author_position {
padding-left: 40%;
}
section.dockercon_quotes_section .quotes_slider .slides li .author{
padding-left: 40%;
}
section.dockercon_quotes_section .quotes_slider .slides li .author_position {
padding-left: 40%;
}
section.customers_logos_section .items>li{
width: 50%;
}
section.customers_logos_section .items>li a{
min-height: 250px;
}
section.government_other_resources_section.GenericDev .items.displaytable li {
width: 100%;
}
}
@media screen and (max-width:500px) {
}
@media screen and (max-width:480px) {
section.customers_logos_section .items>li{
width: 100%;
}
}
@media screen and (max-width:400px) {
section.included_product_section a.button {
width: 90%;
}
section.product_features_product_section .items li a.button {
min-width: inherit;
}
}
/* ========== End Responsive Sytling ========== */

View File

@ -1,97 +0,0 @@
/* ========== Start Extra Sytling ========== */
/** CSS Overrides - this is temporary and should be formally added to the master scss files **/
/** Global links **/
a, a:active, a:hover, a:focus {outline: none;}
a:hover, a:focus {text-decoration: none;}
/** header **/
header .nav-global li a,
.main-header div > .nav-main a {
color: rgba(255, 255, 255, 0.85);
outline: none;
}
header .nav-global li a:hover,
.main-header div > .nav-main a:hover {
color: #fff;
}
/********** hide these elements *********/
.cta-illustration {display: none;}
.main-header .logo_safari {
display:none;
visibility:hidden;
}
.main-header .logo{
width: 116px;
width: 136px;
}
/* SVEN SAYS NO
html.safari .main-header .logo{
display:none;
visibility:hidden;
}
html.safari .main-header .logo_safari{
width: 116px;
width: 136px;
display: block;
visibility: visible;
}
*/
section.community_section{
padding:50px 0;
}
section.community_section .columns iframe{
width: 100%;
}
section.community_section .columns img{
height:100%!important;
width:100%!important;
}
section.community_section .columns center img{
height: 160px!important;
width: 160px!important;
float: left;
}
.node-type-flexible-page .dockercon16 section.whitebackground p.{
font-size: 14px;
color: #496B81;
margin-bottom: 30px;
line-height: 1.6;
}
.path-docker-community-incident-report .iframe{
width: 100%;
max-width:700px;
}
.dockercon16 section.install_the_platform_section.section a.button.darkblue-btn{
margin-top:30px;
}
.path-find-partner .sidebarnav_section ul{
margin: 0px 0 1.5rem 0;
}
.path-find-partner div.sidebarnav_section.affix{
top: 52px;
}
.node-type-projects .button.darkblue-btn {
background-color: transparent;
color: #E6F9FF;
padding: 10px 40px;
border: 1px solid #fff;
}
/********** for toolbox only *********/
.path-docker-toolbox .dockercon16 section.title_section a.button.white-btn {
padding: 14px 70px 11px 70px;
background: transparent;
color: #fff;
border: 1px solid #fff;
}
.path-docker-toolbox .dockercon16 section.title_section a.button.white-btn:hover {
background: RGBA(255, 255, 255, 0.25);
border: 1px solid #fff;
color: #fff;
}
/********** for project only *********/
.dockercon16 section.projects_docker_projects_section.section a.button.darkblue-border-btn {
margin-top: 30px;
}
/* ========== End Extra Sytling ========== */

View File

@ -1,10 +0,0 @@
@media only screen and (max-width: 58.75em) {
}
@media only screen and (max-width: 47.9375em) {
}
@media only screen and (max-width: 40em) {
}

View File

@ -1,234 +0,0 @@
/* extracted from the index.html */
.node-type-front-page .dockercon16 section.title_section.darkblue img.moby {
}
div.dockercon_registation_section { position:static; }
div.dockercon_registation_section img.dcon_logo {
padding-left: 40px;
}
div.dockercon_registation_section .cross-btn {
color: #fff;
font-size: 14px;
float: left;
height: 43px;
width: 260px;
overflow: hidden;
position: relative;
font-family: 'Geomanist Book', sans-serif;
}
div.dockercon_registation_section .cross-btn:before {
}
div.dockercon_registation_section .cross-btn:after {
content: ' ';
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
z-index: 2;
display: block;
border-bottom: 10px solid #00445b;
border-left: 260px solid transparent;
border-right: 0px solid transparent;
}
div.dockercon_registation_section .cross-btn > a:hover,
div.dockercon_registation_section .cross-btn > a:focus,
div.dockercon_registation_section .cross-btn > a:active,
div.dockercon_registation_section .cross-btn > a:visited {
outline: none;
border: none;
text-decoration: none;
}
div.dockercon_registation_section .cross-btn > a {
color: inherit;
display: inline-block;
background-color: #6cd7d0;
padding-top: 7px;
padding-bottom: 7px;
padding-left: 10px;
margin-left: 20px;
position: relative;
text-decoration:none;
}
div.dockercon_registation_section .cross-btn > a:before {
content: ' ';
display: block;
position: absolute;
top: -2px;
left: -10px;
width: 20px;
height: 50px;
background-color: #6cd7d0;
transform: rotate(380deg);
transform-origin: center left;
z-index: 0;
}
div.dockercon_registation_section .cross-btn > a:after {
content: ' ';
display: block;
position: absolute;
top: -2px;
right: -110px;
width: 120px;
height: 40px;
background-color: #6cd7d0;
transform: rotate(380deg);
transform-origin: center left;
z-index: 0;
}
div.dockercon_registation_section .cross-btn > a > span {
position: relative;
z-index: 1;
}
div.dockercon_registation_section .cross-btn > a > span > i {
background-image: url(/sites/all/themes/docker/assets/images/dcon_video_play.png);
background-repeat: no-repeat;
display: inline-block;
width: 30px;
height: 30px;
vertical-align: middle;
margin-left: 10px;
}
/** CSS Overrides - this is temporary and should be formally added to the master scss files **/
/** Global links **/
a, a:active {outline: none;}
a:hover {text-decoration: none;}
/** header **/
header .nav-global li a,
.main-header div > .nav-main a {
color: rgba(255, 255, 255, 0.85);
outline: none;
}
header .nav-global li a:hover,
.main-header div > .nav-main a:hover {
color: #fff;
}
.main-header div > .nav-main > li ul {
transition: all ease-in .2s;
}
/** global navigation elements **/
.main-header div>.nav-main a {
font-size: 16px;
}
.dockercon16 div.heronav_section {
background-color: #003E52;
}
.dockercon16 div.heronav_section ul li {
margin: 0px 3px;
}
.dockercon16 div.heronav_section ul li a {
padding: 15px 40px 9px 40px;
}
/***************************************************************** front page ****************************************************************/
.customer_and_news_section.section.GenericDev.bluebackground {
padding: 50px;
}
body .dockercon16 section.section {
padding: 160px 0;
}
/** update to button styles**/
.front section.title_section.darkblue .button {
margin-top: 0px;
}
.front .dockercon16 section.title_section.darkblue h1 {
margin-bottom: 10px;
}
.node-type-front-page .dockercon16 section.title_section.darkblue a.button {
background-color: rgba(0, 78, 103, 0.61);
padding: 17px 40px 14px 40px;
}
.node-type-front-page .dockercon16 section.title_section.darkblue p {
font-size: 18px;
color: #FFFFFF;
max-width: 340px;
}
section.customer_and_news_section.section {
background-color: #003E52;
}
/** hide bottom section - this should be removed from tempate **/
.bottom_cta_section.gary.section.GenericDev.bgblue5.bluebackground {
display: none;
}
/*section.title_section.darkblue .button {
margin-top: 0px;
}*/
/** button on:hover **/
.node-type-front-page .dockercon16 section.title_section.darkblue a.button:hover {
background: rgba(0, 0, 0, 0.6);
text-decoration: none;
}
/** please remove this field from the content type (infra/industry) **/
.projects_software_infrast_section img, .projects_open_industry_section img {
display: none;
}
/************************************** typography ****************** All headings should be Geomanist Light ***************************/
.dockercon16 section.title_section.darkblue h1 {
font-family: 'Geomanist Light', sans-serif;
}
body .dockercon16 h2 {
font-family: 'Geomanist Light', sans-serif;
}
.dockercon16 section.GenericDev .items.media li .media_content h3 {
font-family: 'Geomanist Regular', sans-serif;
}
/***** blue background gradient *******/
section.bgblue4.section {
background: #285a8c;
background: -moz-linear-gradient(top, #1488C6 0%, #124b77 100%, #124b77 100%);
background: -webkit-linear-gradient(top, #1488C6 0%,#124b77 100%,#124b77 100%);
background: linear-gradient(to top, #1488C6 0%,#124b77 100%,#124b77 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1488C6', endColorstr='#124b77',GradientType=0 );
}
/************************************** buttons **************************************/
.dockercon16 section.section a.button.darkblue-btn, .dockercon16 section.title_section a.button.darkblue-btn {
padding: 15px 40px 13px 40px;
}
.dockercon16 section.section a.button.darkblue-btn:hover, .dockercon16 section.title_section a.button.darkblue-btn:hover {
background: #235363;
}
/** outline buttons on blue **/
.dockercon16 section.customer_and_news_section.section.GenericDev .items.media li a.button {
border: 1px solid #72B8D6;
padding: 10px 40px 9px 40px;
}
.dockercon16 section.customer_and_news_section.section.GenericDev .items.media li a.button:hover {
background: rgba(255, 255, 255, 0.41);
}
/** white buttons **/
.dockercon16 section.section a.button.white-btn {
padding: 15px 40px 13px 40px;
}
.dockercon16 section.title_section a.button.white-btn {
padding: 15px 40px 13px 40px;
}
.dockercon16 section.section a.button.white-btn:hover {
background: RGBA(255, 255, 255, 0.71);
}
.dockercon16 section.title_section a.button.white-border-btn {
padding: 14px 40px 12px 40px;
}
/************************ footer ****************************/
div.moby_footer .bar {
background-image: none;
}
footer.main_footer {
border-top: 10px solid #ffd601;
outline: 13px solid #9ce2c0;
}
/************************ hide these elements ****************************/
.cta-illustration {display: none;}

View File

@ -1,213 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Transfonter demo</title>
<link href="stylesheet.css" rel="stylesheet">
<style>
/*
http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* common styles */
body {
background: #f1f1f1;
color: #000;
}
.page {
background: #fff;
width: 940px;
margin: 0 auto;
padding: 20px 20px 0 20px;
overflow: hidden;
}
.font-container {
overflow-x: auto;
overflow-y: hidden;
margin-bottom: 40px;
line-height: 1.3;
white-space: nowrap;
padding-bottom: 5px;
}
h1 {
position: relative;
background: #444;
font-size: 32px;
color: #fff;
padding: 10px 20px;
margin: 0 -20px 10px -20px;
}
.letters {
font-size: 25px;
margin-bottom: 20px;
}
.s10:before {
content: '10px';
}
.s11:before {
content: '11px';
}
.s12:before {
content: '12px';
}
.s14:before {
content: '14px';
}
.s18:before {
content: '18px';
}
.s24:before {
content: '24px';
}
.s30:before {
content: '30px';
}
.s36:before {
content: '36px';
}
.s48:before {
content: '48px';
}
.s60:before {
content: '60px';
}
.s72:before {
content: '72px';
}
.s10:before, .s11:before, .s12:before, .s14:before,
.s18:before, .s24:before, .s30:before, .s36:before,
.s48:before, .s60:before, .s72:before {
font-family: Arial, sans-serif;
font-size: 10px;
font-weight: normal;
font-style: normal;
color: #999;
padding-right: 6px;
}
/* fonts demo styles */
.demo-0 {
font-family: 'Comfortaa';
font-weight: normal;
font-style: normal;
}
.demo-1 {
font-family: 'Comfortaa';
font-weight: 300;
font-style: normal;
}
.demo-2 {
font-family: 'Comfortaa';
font-weight: bold;
font-style: normal;
}
</style>
</head>
<body>
<div class="page">
<div class="demo-0">
<h1>Comfortaa</h1>
<div class="font-container">
<p class="letters">
abcdefghijklmnopqrstuvwxyz <br />
ABCDEFGHIJKLMNOPQRSTUVWXYZ <br /> 0123456789.:,;()*!?'@#<>$%&^+-=~
</p>
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p>
</div>
</div>
<div class="demo-1">
<h1>Comfortaa Light</h1>
<div class="font-container">
<p class="letters">
abcdefghijklmnopqrstuvwxyz <br />
ABCDEFGHIJKLMNOPQRSTUVWXYZ <br /> 0123456789.:,;()*!?'@#<>$%&^+-=~
</p>
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p>
</div>
</div>
<div class="demo-2">
<h1>Comfortaa Bold</h1>
<div class="font-container">
<p class="letters">
abcdefghijklmnopqrstuvwxyz <br />
ABCDEFGHIJKLMNOPQRSTUVWXYZ <br /> 0123456789.:,;()*!?'@#<>$%&^+-=~
</p>
<p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p>
<p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 642 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 600 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 603 KiB

Some files were not shown because too many files have changed in this diff Show More