Browse code

Fixing seds, deleting old stuff

Signed-off-by: Mary Anthony <mary@docker.com>

Upding sed, adding script to avoid redirects, remove mkdos

Signed-off-by: Mary Anthony <mary@docker.com>

Ignoring graphics with sed

Signed-off-by: Mary Anthony <mary@docker.com>

Fixing kitematic image

Signed-off-by: Mary Anthony <mary@docker.com>

Removing draft

Signed-off-by: Mary Anthony <mary@docker.com>

Fixing link

Signed-off-by: Mary Anthony <mary@docker.com>

removing from the menu

Signed-off-by: Mary Anthony <mary@docker.com>

Updatiing order of project material

Signed-off-by: Mary Anthony <mary@docker.com>

Removing from Regsitry v2 content per Olivier

Signed-off-by: Mary Anthony <mary@docker.com>

tweaking the touchup

Signed-off-by: Mary Anthony <mary@docker.com>

Removing include; only used four places; hugo global var replace

Signed-off-by: Mary Anthony <mary@docker.com>

Entering fixes from page-by-page

Signed-off-by: Mary Anthony <mary@docker.com>

Mary Anthony authored on 2015/06/16 22:04:13
Showing 53 changed files
... ...
@@ -4,21 +4,10 @@ MAINTAINER Mary Anthony <mary@docker.com> (@moxiegirl)
4 4
 # To get the git info for this repo
5 5
 COPY . /src
6 6
 
7
-COPY . /docs/content/engine/
7
+COPY . /docs/content/
8 8
 
9
-# Sed to process GitHub Markdown
10
-# 1-2 Remove comment code from metadata block
11
-# 3 Remove .md extension from link text
12
-# 4 Change ](/ to ](/project/ in links
13
-# 5 Change ](word) to ](/project/word)
14
-# 6 Change ](../../ to ](/project/
15
-# 7 Change ](../ to ](/project/word)
16
-# 
17
-# 
18
-RUN find /docs/content/engine -type f -name "*.md" -exec sed -i.old \
19
-    -e '/^<!.*metadata]>/g' \
20
-    -e '/^<!.*end-metadata.*>/g' \
21
-    -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \
22
-    -e 's/\(\]\)\([(]\)\(\/\)/\1\2\/engine\//g' \
23
-    -e 's/\(\][(]\)\([A-z]*[)]\)/\]\(\/engine\/\2/g' \
24
-    -e 's/\(\][(]\)\(\.\.\/\)/\1\/engine\//g' {} \;
9
+WORKDIR /docs/content
10
+
11
+RUN /docs/content/touch-up.sh
12
+
13
+WORKDIR /docs
... ...
@@ -47,7 +47,9 @@ image cache.
47 47
 > characters of the full image ID - which can be found using
48 48
 > `docker inspect` or `docker images --no-trunc=true`.
49 49
 
50
-{{ include "no-remote-sudo.md" }}
50
+> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
51
+> then _do not_ type the `sudo` before the `docker` commands shown in the
52
+> documentation's examples.
51 53
 
52 54
 ## Running an interactive shell
53 55
 
... ...
@@ -4,7 +4,8 @@ title = "Using certificates for repository client verification"
4 4
 description = "How to set up and use certificates with a registry to verify access"
5 5
 keywords = ["Usage, registry, repository, client, root, certificate, docker, apache, ssl, tls, documentation, examples, articles,  tutorials"]
6 6
 [menu.main]
7
-parent = "smn_registry"
7
+parent = "mn_docker_hub"
8
+weight = 7
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -4,7 +4,8 @@ title = "Run a local registry mirror"
4 4
 description = "How to set up and run a local registry mirror"
5 5
 keywords = ["docker, registry, mirror,  examples"]
6 6
 [menu.main]
7
-parent = "smn_registry"
7
+parent = "mn_docker_hub"
8
+weight = 8
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Docker Hub accounts"
5 5
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_pubhub"
8
+weight = 1
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Docker Hub Automated Builds"
5 5
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds,  automated builds"]
6 6
 [menu.main]
7 7
 parent = "smn_pubhub"
8
+weight = 3
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "The Docker Hub Registry help"
4 5
 description = "The Docker Registry help documentation home"
5 6
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs,  documentation"]
... ...
@@ -1,6 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-title = "The Docker Hub help"
3
+title = "The Docker Hub"
4 4
 description = "The Docker Help documentation home"
5 5
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, accounts, organizations, repositories,  groups"]
6 6
 [menu.main]
... ...
@@ -5,6 +5,7 @@ description = "Guidelines for Official Repositories on Docker Hub"
5 5
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official, image,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_pubhub"
8
+weight = 4
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Your Repositories on Docker Hub"
5 5
 keywords = ["Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, webhooks, docs,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_pubhub"
8
+weight = 2
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -4,7 +4,7 @@ title = "Dockerizing a CouchDB service"
4 4
 description = "Sharing data between 2 couchdb databases"
5 5
 keywords = ["docker, example, package installation, networking, couchdb,  data volumes"]
6 6
 [menu.main]
7
-parent = "smn_remoteapi"
7
+parent = "smn_applied"
8 8
 +++
9 9
 <![end-metadata]-->
10 10
 
11 11
deleted file mode 100644
... ...
@@ -1,3 +0,0 @@
1
-> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
2
-> then _do not_ type the `sudo` before the `docker` commands shown in the
3
-> documentation's examples.
... ...
@@ -14,7 +14,7 @@ You can install Docker using Boot2Docker to run `docker` commands at your comman
14 14
 Choose this installation if you are familiar with the command-line or plan to
15 15
 contribute to the Docker project on GitHub.
16 16
 
17
-[<img src="/engine/installation/images/kitematic.png" alt="Download Kitematic"
17
+[<img src="/installation/images/kitematic.png" alt="Download Kitematic"
18 18
 style="float:right;">](https://kitematic.com/download)
19 19
 
20 20
 Alternatively, you may want to try <a id="inlinelink" href="https://kitematic.com/"
... ...
@@ -355,4 +355,4 @@ at  [Boot2Docker repository](https://github.com/boot2docker/boot2docker).
355 355
 Thanks to Chris Jones whose [blog](http://viget.com/extend/how-to-use-docker-on-os-x-the-missing-guide)  
356 356
 inspired me to redo this page.
357 357
 
358
-Continue with the [Docker User Guide](/userguide/).
358
+Continue with the [Docker User Guide](/userguide).
... ...
@@ -8,7 +8,7 @@ parent = "smn_linux"
8 8
 +++
9 9
 <![end-metadata]-->
10 10
 
11
-#Ubuntu
11
+# Ubuntu
12 12
 
13 13
 Docker is supported on these Ubuntu operating systems:
14 14
 
... ...
@@ -53,7 +53,9 @@ is developed, you can launch only Linux containers from your Windows machine.
53 53
 
54 54
 ## Running Docker
55 55
 
56
-{{ include "no-remote-sudo.md" }}
56
+> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
57
+> then _do not_ type the `sudo` before the `docker` commands shown in the
58
+> documentation's examples.
57 59
 
58 60
 **Boot2Docker Start** will automatically start a shell with environment variables
59 61
 correctly set so you can start using Docker right away:
... ...
@@ -36,7 +36,9 @@ Windows*](../installation/windows/#windows) installation guides. The small Linux
36 36
 distribution boot2docker can be run inside virtual machines on these two
37 37
 operating systems.
38 38
 
39
-{{ include "no-remote-sudo.md" }}
39
+> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
40
+> then _do not_ type the `sudo` before the `docker` commands shown in the
41
+> documentation's examples.
40 42
 
41 43
 ### How do containers compare to virtual machines?
42 44
 
... ...
@@ -1,12 +1,10 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-draft = true
4
-title = "Get started with Docker"
3
+title = "About Docker"
5 4
 description = "Introduction to Docker."
6 5
 keywords = ["docker, introduction, documentation, about, technology, understanding,  Dockerfile"]
7 6
 [menu.main]
8 7
 parent = "mn_use_docker"
9
-weight = 1
10 8
 +++
11 9
 <![end-metadata]-->
12 10
 
13 11
deleted file mode 100644
... ...
@@ -1,230 +0,0 @@
1
-site_name: Docker Documentation
2
-#site_url: https://docs.docker.com/
3
-site_url: /
4
-site_description: Documentation for fast and lightweight Docker container based virtualization framework.
5
-site_favicon: img/favicon.png
6
-
7
-dev_addr: '0.0.0.0:8000'
8
-
9
-repo_url: https://github.com/docker/docker/
10
-
11
-docs_dir: sources
12
-
13
-include_search: true
14
-
15
-use_absolute_urls: true
16
-
17
-# theme: docker
18
-theme_dir: ./theme/mkdocs/
19
-theme_center_lead: false
20
-
21
-copyright: Copyright &copy; 2014-2015, Docker, Inc.
22
-google_analytics: ['UA-6096819-11', 'docker.io']
23
-
24
-pages:
25
-
26
-# Introduction:
27
-- ['index.md', 'About', 'Docker']
28
-- ['introduction/understanding-docker.md', 'About', 'Understanding Docker']
29
-- ['release-notes.md', 'About', 'Release notes']
30
-- ['reference/glossary.md', 'About', 'Glossary']
31
-- ['introduction/index.md', '**HIDDEN**']
32
-
33
-
34
-# Installation:
35
-- ['installation/index.md', '**HIDDEN**']
36
-- ['installation/ubuntulinux.md', 'Installation', 'Ubuntu']
37
-- ['installation/mac.md', 'Installation', 'Mac OS X']
38
-- ['kitematic/index.md', 'Installation', 'Kitematic on OS X']
39
-- ['installation/windows.md', 'Installation', 'Microsoft Windows']
40
-- ['installation/testing-windows-docker-client.md', 'Installation', 'Building and testing the Windows Docker client']
41
-- ['installation/amazon.md', 'Installation', 'Amazon EC2']
42
-- ['installation/archlinux.md', 'Installation', 'Arch Linux']
43
-- ['installation/binaries.md', 'Installation', 'Binaries']
44
-- ['installation/centos.md', 'Installation', 'CentOS']
45
-- ['installation/cruxlinux.md', 'Installation', 'CRUX Linux']
46
-- ['installation/debian.md', 'Installation', 'Debian']
47
-- ['installation/fedora.md', 'Installation', 'Fedora']
48
-- ['installation/frugalware.md', 'Installation', 'FrugalWare']
49
-- ['installation/google.md', 'Installation', 'Google Cloud Platform']
50
-- ['installation/gentoolinux.md', 'Installation', 'Gentoo']
51
-- ['installation/softlayer.md', 'Installation', 'IBM Softlayer']
52
-- ['installation/joyent.md', 'Installation', 'Joyent Compute Service']
53
-- ['installation/azure.md', 'Installation', 'Microsoft Azure']
54
-- ['installation/rackspace.md', 'Installation', 'Rackspace Cloud']
55
-- ['installation/rhel.md', 'Installation', 'Red Hat Enterprise Linux']
56
-- ['installation/oracle.md', 'Installation', 'Oracle Linux']
57
-- ['installation/SUSE.md', 'Installation', 'SUSE']
58
-- ['compose/install.md', 'Installation', 'Docker Compose']
59
-
60
-# User Guide:
61
-- ['userguide/index.md', 'User Guide', 'The Docker user guide' ]
62
-- ['userguide/dockerhub.md', 'User Guide', 'Getting started with Docker Hub' ]
63
-- ['userguide/dockerizing.md', 'User Guide', 'Dockerizing applications' ]
64
-- ['userguide/usingdocker.md', 'User Guide', 'Working with containers' ]
65
-- ['userguide/dockerimages.md', 'User Guide', 'Working with Docker images' ]
66
-- ['userguide/dockerlinks.md', 'User Guide', 'Linking containers together' ]
67
-- ['userguide/dockervolumes.md', 'User Guide', 'Managing data in containers' ]
68
-- ['userguide/labels-custom-metadata.md', 'User Guide', 'Apply custom metadata' ]
69
-- ['userguide/dockerrepos.md', 'User Guide', 'Working with Docker Hub' ]
70
-- ['userguide/level1.md', '**HIDDEN**' ]
71
-- ['userguide/level2.md', '**HIDDEN**' ]
72
-- ['compose/index.md', 'User Guide', 'Docker Compose' ]
73
-- ['compose/production.md', 'User Guide', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Use Compose in production' ]
74
-- ['compose/extends.md', 'User Guide', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Extend Compose services' ]
75
-- ['machine/index.md', 'User Guide', 'Docker Machine' ]
76
-- ['swarm/index.md', 'User Guide', 'Docker Swarm' ]
77
-- ['kitematic/userguide.md', 'User Guide', 'Kitematic']
78
-
79
-# Docker Hub docs:
80
-- ['docker-hub/index.md', 'Docker Hub', 'Docker Hub' ]
81
-- ['docker-hub/accounts.md', 'Docker Hub', 'Accounts']
82
-- ['docker-hub/userguide.md', 'Docker Hub', 'User Guide']
83
-- ['docker-hub/repos.md', 'Docker Hub', 'Your Repositories']
84
-- ['docker-hub/builds.md', 'Docker Hub', 'Automated Builds']
85
-- ['docker-hub/official_repos.md', 'Docker Hub', 'Official Repositories']
86
-
87
-# Docker Hub Enterprise:
88
-- ['docker-hub-enterprise/index.md', 'Docker Hub Enterprise', 'Overview' ]
89
-- ['docker-hub-enterprise/quick-start.md', 'Docker Hub Enterprise', 'Quick Start: Basic Workflow' ]
90
-- ['docker-hub-enterprise/userguide.md', 'Docker Hub Enterprise', 'User Guide' ]
91
-- ['docker-hub-enterprise/adminguide.md', 'Docker Hub Enterprise', 'Admin Guide' ]
92
-- ['docker-hub-enterprise/install.md', 'Docker Hub Enterprise', '&nbsp;&nbsp;Installation' ]
93
-- ['docker-hub-enterprise/configuration.md', 'Docker Hub Enterprise', '&nbsp;&nbsp;Configuration options' ]
94
-- ['docker-hub-enterprise/support.md', 'Docker Hub Enterprise', 'Support' ]
95
-- ['docker-hub-enterprise/release-notes.md', 'Docker Hub Enterprise', 'Release notes' ]
96
-
97
-# Examples:
98
-- ['examples/index.md', '**HIDDEN**']
99
-- ['examples/nodejs_web_app.md', 'Examples', 'Dockerizing a Node.js web application']
100
-- ['examples/mongodb.md', 'Examples', 'Dockerizing MongoDB']
101
-- ['examples/running_redis_service.md', 'Examples', 'Dockerizing a Redis service']
102
-- ['examples/postgresql_service.md', 'Examples', 'Dockerizing a PostgreSQL service']
103
-- ['examples/running_riak_service.md', 'Examples', 'Dockerizing a Riak service']
104
-- ['examples/running_ssh_service.md', 'Examples', 'Dockerizing an SSH service']
105
-- ['examples/couchdb_data_volumes.md', 'Examples', 'Dockerizing a CouchDB service']
106
-- ['examples/apt-cacher-ng.md', 'Examples', 'Dockerizing an Apt-Cacher-ng service']
107
-- ['compose/django.md', 'Examples', 'Getting started with Compose and Django']
108
-- ['compose/rails.md', 'Examples', 'Getting started with Compose and Rails']
109
-- ['compose/wordpress.md', 'Examples', 'Getting started with Compose and Wordpress']
110
-- ['kitematic/minecraft-server.md', 'Examples', 'Kitematic: Minecraft server']
111
-- ['kitematic/nginx-web-server.md', 'Examples', 'Kitematic: Ngnix web server']
112
-- ['kitematic/rethinkdb-dev-database.md', 'Examples', 'Kitematic: RethinkDB development database']
113
-
114
-# Articles
115
-- ['articles/index.md', '**HIDDEN**']
116
-- ['articles/basics.md', 'Articles', 'Docker basics']
117
-- ['articles/networking.md', 'Articles', 'Advanced networking']
118
-- ['articles/security.md', 'Articles', 'Security']
119
-- ['articles/https.md', 'Articles', 'Running Docker with HTTPS']
120
-- ['articles/registry_mirror.md', 'Articles', 'Run a local registry mirror']
121
-- ['articles/host_integration.md', 'Articles', 'Automatically starting containers']
122
-- ['articles/baseimages.md', 'Articles', 'Creating a base image']
123
-- ['articles/dockerfile_best-practices.md', 'Articles', 'Best practices for writing Dockerfiles']
124
-- ['articles/certificates.md', 'Articles', 'Using certificates for repository client verification']
125
-- ['articles/using_supervisord.md', 'Articles', 'Using Supervisor']
126
-- ['articles/configuring.md', 'Articles', 'Configuring Docker']
127
-- ['articles/cfengine_process_management.md', 'Articles', 'Process management with CFEngine']
128
-- ['articles/puppet.md', 'Articles', 'Using Puppet']
129
-- ['articles/chef.md', 'Articles', 'Using Chef']
130
-- ['articles/dsc.md', 'Articles', 'Using PowerShell DSC']
131
-- ['articles/ambassador_pattern_linking.md', 'Articles', 'Cross-Host linking using ambassador containers']
132
-- ['articles/runmetrics.md', 'Articles', 'Runtime metrics']
133
-- ['articles/b2d_volume_resize.md', 'Articles', 'Increasing a Boot2Docker volume']
134
-- ['articles/systemd.md', 'Articles', 'Controlling and configuring Docker using Systemd']
135
-
136
-# Reference
137
-- ['reference/index.md', '**HIDDEN**']
138
-- ['reference/commandline/index.md', '**HIDDEN**']
139
-- ['reference/commandline/cli.md', 'Reference', 'Docker command line']
140
-- ['reference/builder.md', 'Reference', 'Dockerfile']
141
-- ['faq.md', 'Reference', 'FAQ']
142
-- ['reference/run.md', 'Reference', 'Run reference']
143
-- ['reference/logging/journald.md', '**HIDDEN**']
144
-- ['compose/cli.md', 'Reference', 'Compose command line']
145
-- ['compose/yml.md', 'Reference', 'Compose yml']
146
-- ['compose/env.md', 'Reference', 'Compose ENV variables']
147
-- ['compose/completion.md', 'Reference', 'Compose commandline completion']
148
-- ['swarm/discovery.md', 'Reference', 'Swarm discovery']
149
-- ['swarm/scheduler/strategy.md', 'Reference', 'Swarm strategies']
150
-- ['swarm/scheduler/filter.md', 'Reference', 'Swarm filters']
151
-- ['swarm/API.md', 'Reference', 'Swarm API']
152
-- ['reference/api/index.md', '**HIDDEN**']
153
-- ['registry/index.md', 'Reference', 'Docker Registry 2.0']
154
-- ['registry/deploying.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Deploy a registry' ]
155
-- ['registry/configuration.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Configure a registry' ]
156
-- ['registry/storagedrivers.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Storage driver model' ]
157
-- ['registry/notifications.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Work with notifications' ]
158
-- ['registry/spec/api.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Registry Service API v2' ]
159
-- ['registry/spec/json.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; JSON format' ]
160
-- ['registry/spec/auth/token.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp; Authenticate via central service' ]
161
-- ['reference/api/hub_registry_spec.md', 'Reference', 'Docker Hub and Registry 1.0']
162
-- ['reference/api/registry_api.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp;Docker Registry API v1']
163
-- ['reference/api/registry_api_client_libraries.md', 'Reference', '&nbsp;&nbsp;&nbsp;&nbsp;&blacksquare;&nbsp;Docker Registry 1.0 API client libraries']
164
-#- ['reference/image-spec-v1.md', 'Reference', 'Docker Image Specification v1.0.0']
165
-- ['reference/api/docker-io_api.md', 'Reference', 'Docker Hub API']
166
-#- ['reference/image-spec-v1.md', 'Reference', 'Docker Image Specification v1.0.0']
167
-- ['reference/api/docker_remote_api.md', 'Reference', 'Docker Remote API']
168
-- ['reference/api/docker_remote_api_v1.20.md', 'Reference', 'Docker Remote API v1.20']
169
-- ['reference/api/docker_remote_api_v1.19.md', 'Reference', 'Docker Remote API v1.19']
170
-- ['reference/api/docker_remote_api_v1.18.md', 'Reference', 'Docker Remote API v1.18']
171
-- ['reference/api/docker_remote_api_v1.17.md', 'Reference', 'Docker Remote API v1.17']
172
-- ['reference/api/docker_remote_api_v1.16.md', 'Reference', 'Docker Remote API v1.16']
173
-- ['reference/api/docker_remote_api_v1.15.md', '**HIDDEN**']
174
-- ['reference/api/docker_remote_api_v1.14.md', '**HIDDEN**']
175
-- ['reference/api/docker_remote_api_v1.13.md', '**HIDDEN**']
176
-- ['reference/api/docker_remote_api_v1.12.md', '**HIDDEN**']
177
-- ['reference/api/docker_remote_api_v1.11.md', '**HIDDEN**']
178
-- ['reference/api/docker_remote_api_v1.10.md', '**HIDDEN**']
179
-- ['reference/api/docker_remote_api_v1.9.md', '**HIDDEN**']
180
-- ['reference/api/docker_remote_api_v1.8.md', '**HIDDEN**']
181
-- ['reference/api/docker_remote_api_v1.7.md', '**HIDDEN**']
182
-- ['reference/api/docker_remote_api_v1.6.md', '**HIDDEN**']
183
-- ['reference/api/docker_remote_api_v1.5.md', '**HIDDEN**']
184
-- ['reference/api/docker_remote_api_v1.4.md', '**HIDDEN**']
185
-- ['reference/api/docker_remote_api_v1.3.md', '**HIDDEN**']
186
-- ['reference/api/docker_remote_api_v1.2.md', '**HIDDEN**']
187
-- ['reference/api/docker_remote_api_v1.1.md', '**HIDDEN**']
188
-- ['reference/api/docker_remote_api_v1.0.md', '**HIDDEN**']
189
-- ['reference/api/remote_api_client_libraries.md', 'Reference', 'Docker Remote API client libraries']
190
-- ['reference/api/docker_io_accounts_api.md', 'Reference', 'Docker Hub accounts API']
191
-- ['kitematic/faq.md', 'Reference', 'Kitematic: FAQ']
192
-- ['kitematic/known-issues.md', 'Reference', 'Kitematic: Known issues']
193
-
194
-# Hidden registry files
195
-- ['registry/storage-drivers/azure.md', '**HIDDEN**' ]
196
-- ['registry/storage-drivers/filesystem.md', '**HIDDEN**' ]
197
-- ['registry/storage-drivers/inmemory.md', '**HIDDEN**' ]
198
-- ['registry/storage-drivers/s3.md', '**HIDDEN**' ]
199
-
200
-- ['jsearch.md', '**HIDDEN**']
201
-
202
-# - ['static_files/README.md', 'static_files', 'README']
203
-- ['terms/index.md', '**HIDDEN**']
204
-- ['terms/layer.md', '**HIDDEN**']
205
-- ['terms/index.md', '**HIDDEN**']
206
-- ['terms/registry.md', '**HIDDEN**']
207
-- ['terms/container.md', '**HIDDEN**']
208
-- ['terms/repository.md', '**HIDDEN**']
209
-- ['terms/filesystem.md', '**HIDDEN**']
210
-- ['terms/image.md', '**HIDDEN**']
211
-
212
-
213
-# Project:
214
-- ['project/index.md', '**HIDDEN**']
215
-- ['project/who-written-for.md', 'Contributor', 'README first']
216
-- ['project/software-required.md', 'Contributor', 'Get required software for Linux or OS X'] 
217
-- ['project/software-req-win.md', 'Contributor', 'Get required software for Windows']
218
-- ['project/set-up-git.md', 'Contributor', 'Configure Git for contributing'] 
219
-- ['project/set-up-dev-env.md', 'Contributor', 'Work with a development container'] 
220
-- ['project/test-and-docs.md', 'Contributor', 'Run tests and test documentation']
221
-- ['project/make-a-contribution.md', 'Contributor', 'Understand contribution workflow']
222
-- ['project/find-an-issue.md', 'Contributor', 'Find an issue'] 
223
-- ['project/work-issue.md', 'Contributor', 'Work on an issue'] 
224
-- ['project/create-pr.md', 'Contributor', 'Create a pull request'] 
225
-- ['project/review-pr.md', 'Contributor', 'Participate in the PR review'] 
226
-- ['project/advanced-contributing.md', 'Contributor', 'Advanced contributing']
227
-- ['project/get-help.md', 'Contributor', 'Where to get help']
228
-- ['project/coding-style.md', 'Contributor', 'Coding style guide']
229
-- ['project/doc-style.md', 'Contributor', 'Documentation style guide']
230
-
... ...
@@ -5,6 +5,7 @@ description = "Explains workflows for refactor and design proposals"
5 5
 keywords = ["contribute, project, design, refactor,  proposal"]
6 6
 [menu.main]
7 7
 parent = "smn_contribute"
8
+weight=6
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -4,7 +4,8 @@ title = "Coding style checklist"
4 4
 description = "List of guidelines for coding Docker contributions"
5 5
 keywords = ["change, commit, squash, request, pull request, test, unit test, integration tests, Go, gofmt,  LGTM"]
6 6
 [menu.main]
7
-parent = "mn_opensource"
7
+parent = "smn_contribute"
8
+weight=7
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Basic workflow for Docker contributions"
5 5
 keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6 6
 [menu.main]
7 7
 parent = "smn_contribute"
8
+weight=4
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Style guide for Docker documentation describing standards and con
5 5
 keywords = ["style, guide, docker,  documentation"]
6 6
 [menu.main]
7 7
 parent = "mn_opensource"
8
+weight=100
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -1,10 +1,11 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-title = "Make a project contribution"
3
+title = "Find and claim an issue"
4 4
 description = "Basic workflow for Docker contributions"
5
-keywords = ["contribute, pull request, review, workflow, beginner, expert, squash,  commit"]
5
+keywords = ["contribute, issue, review, workflow, beginner, expert, squash,  commit"]
6 6
 [menu.main]
7 7
 parent = "smn_contribute"
8
+weight=2
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Basic workflow for Docker contributions"
5 5
 keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6 6
 [menu.main]
7 7
 parent = "smn_contribute"
8
+weight=5
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "How to use Docker's development environment"
5 5
 keywords = ["development, inception, container, image Dockerfile, dependencies, Go,  artifacts"]
6 6
 [menu.main]
7 7
 parent = "smn_develop"
8
+weight=5
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Describes how to set up your local machine and repository"
5 5
 keywords = ["GitHub account, repository, clone, fork, branch, upstream, Git, Go, make "]
6 6
 [menu.main]
7 7
 parent = "smn_develop"
8
+weight=4
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "How to set up a server to test Docker Windows client"
5 5
 keywords = ["development, inception, container, image Dockerfile, dependencies, Go, artifacts,  windows"]
6 6
 [menu.main]
7 7
 parent = "smn_develop"
8
+weight=3
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Describes the software required to contribute to Docker"
5 5
 keywords = ["GitHub account, repository, Docker, Git, Go, make,  "]
6 6
 [menu.main]
7 7
 parent = "smn_develop"
8
+weight=2
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -4,7 +4,8 @@ title = "Run tests and test documentation"
4 4
 description = "Describes Docker's testing infrastructure"
5 5
 keywords = ["make test, make docs, Go tests, gofmt, contributing,  running tests"]
6 6
 [menu.main]
7
-parent = "smn_contribute"
7
+parent = "smn_develop"
8
+weight=6
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "Basic workflow for Docker contributions"
5 5
 keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6 6
 [menu.main]
7 7
 parent = "smn_contribute"
8
+weight=3
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "Remote API v1.10"
4 5
 description = "API Documentation for Docker"
5 6
 keywords = ["API, Docker, rcli, REST,  documentation"]
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "Remote API v1.11"
4 5
 description = "API Documentation for Docker"
5 6
 keywords = ["API, Docker, rcli, REST,  documentation"]
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "Remote API v1.12"
4 5
 description = "API Documentation for Docker"
5 6
 keywords = ["API, Docker, rcli, REST,  documentation"]
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "Remote API v1.13"
4 5
 description = "API Documentation for Docker"
5 6
 keywords = ["API, Docker, rcli, REST,  documentation"]
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 7
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 6
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 5
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 4
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 3
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent = "smn_remoteapi"
8
+weight = 2
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -5,6 +5,7 @@ description = "API Documentation for Docker"
5 5
 keywords = ["API, Docker, rcli, REST,  documentation"]
6 6
 [menu.main]
7 7
 parent="smn_remoteapi"
8
+weight = 1
8 9
 +++
9 10
 <![end-metadata]-->
10 11
 
... ...
@@ -1,14 +1,14 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-title = "Registry documentation"
3
+title = "The Docker Hub and the Registry v1"
4 4
 description = "Documentation for docker Registry and Registry API"
5 5
 keywords = ["docker, registry, api,  hub"]
6 6
 [menu.main]
7
-parent="smn_registry_ref"
7
+parent="smn_hub_ref"
8 8
 +++
9 9
 <![end-metadata]-->
10 10
 
11
-# The Docker Hub and the Registry 1.0 spec
11
+# The Docker Hub and the Registry v1
12 12
 
13 13
 ## The three roles
14 14
 
... ...
@@ -1,6 +1,7 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-title = "Registry API"
3
+draft = true
4
+title = "Registry v1 API"
4 5
 description = "API Documentation for Docker Registry"
5 6
 keywords = ["API, Docker, index, registry, REST,  documentation"]
6 7
 [menu.main]
... ...
@@ -1,5 +1,6 @@
1 1
 <!--[metadata]>
2 2
 +++
3
+draft = true
3 4
 title = "Registry API v1 client libraries"
4 5
 description = "Various client libraries available to use with the Docker registry API"
5 6
 keywords = ["API, Docker, index, registry, REST, documentation, clients, C#, Erlang, Go, Groovy, Java, JavaScript, Perl, PHP, Python, Ruby, Rust,  Scala"]
... ...
@@ -10,7 +10,9 @@ parent = "mn_reference"
10 10
 
11 11
 # Docker Command Line
12 12
 
13
-{{ include "no-remote-sudo.md" }}
13
+> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
14
+> then _do not_ type the `sudo` before the `docker` commands shown in the
15
+> documentation's examples.
14 16
 
15 17
 To list available commands, either run `docker` with no parameters
16 18
 or execute `docker help`:
17 19
deleted file mode 100644
... ...
@@ -1,357 +0,0 @@
1
-no_version_dropdown: true
2
-page_title: Docker Hub Enterprise: Configuration options
3
-page_description: Configuration instructions for Docker Hub Enterprise
4
-page_keywords: docker, documentation, about, technology, understanding, enterprise, hub, registry
5
-
6
-# Configuring DHE
7
-
8
-## Overview
9
-
10
-This page will help you properly configure Docker Hub Enterprise (DHE) so it can
11
-run in your environment. 
12
-
13
-Start with DHE loaded in your browser and click  the "Settings" tab to view
14
-configuration options. You'll see options for configuring:
15
-
16
-* Domains and ports
17
-* Security settings
18
-* Storage settings
19
-* Authentication settings
20
-* Your DHE license
21
-
22
-## Domains and Ports
23
-
24
-![Domain and Ports page</admin/settings#http>](../assets/admin-settings-http.png)
25
-
26
-* *Domain Name*: **required** defaults to an empty string, the fully qualified domain name assigned to the DHE host.
27
-* *Load Balancer HTTP Port*: defaults to 80, used as the entry point for the image storage service. To see load balancer status, you can query
28
-http://&lt;dhe-host&gt;/load_balancer_status.
29
-* *Load Balancer HTTPS Port*: defaults to 443, used as the secure entry point
30
-for the image storage service.
31
-* *HTTP_PROXY*: defaults to an empty string, proxy server for HTTP requests.
32
-* *HTTPS_PROXY*: defaults to an empty string, proxy server for HTTPS requests.
33
-* *NO_PROXY*: defaults to an empty string, proxy bypass for HTTP and HTTPS requests.
34
-
35
-
36
-> **Note**: If you need DHE to re-generate a self-signed certificate at some
37
-> point, you'll need to first delete `/usr/local/etc/dhe/ssl/server.pem`, and
38
-> then restart the DHE containers, either by changing and saving the "Domain Name",
39
-> or using `bash -c "$(docker run dockerhubenterprise/manager restart)"`.
40
-
41
-
42
-## Security
43
-
44
-![Security settings page</admin/settings#security>](../assets/admin-settings-security.png)
45
-
46
-* *SSL Certificate*: Used to enter the hash (string) from the SSL Certificate.
47
-This cert must be accompanied by its private key, entered below.
48
-* *Private Key*: The hash from the private key associated with the provided
49
-SSL Certificate (as a standard x509 key pair).
50
-
51
-In order to run, DHE requires encrypted communications via HTTPS/SSL between (a) the DHE registry and your Docker Engine(s), and (b) between your web browser and the DHE admin server. There are a few options for setting this up:
52
-
53
-1. You can use the self-signed certificate DHE generates by default.
54
-2. You can generate your own certificates using a public service or your enterprise's infrastructure. See the [Generating SSL certificates](#generating-ssl-certificates) section for the options available.
55
-
56
-If you are generating your own certificates, you can install them by following the instructions for
57
-[Adding your own registry certificates to DHE](#adding-your-own-registry-certificates-to-dhe).
58
-
59
-On the other hand, if you choose to use the DHE-generated certificates, or the
60
-certificates you generate yourself are not trusted by your client Docker hosts,
61
-you will need to do one of the following:
62
-
63
-* [Install a registry certificate on all of your client Docker daemons](#installing-registry-certificates-on-client-docker-daemons),
64
-
65
-* Set your [client Docker daemons to run with an unconfirmed connection to the registry](#if-you-cant-install-the-certificates).
66
-
67
-### Generating SSL certificates
68
-
69
-There are three basic approaches to generating certificates:
70
-
71
-1.  Most enterprises will have private key infrastructure (PKI) in place to
72
-generate keys. Consult with your security team or whomever manages your private
73
-key infrastructure. If you have this resource available, Docker recommends you
74
-use it.
75
-
76
-2. If your enterprise can't provide keys, you can use a public Certificate
77
-Authority (CA) like "InstantSSL.com" or "RapidSSL.com" to generate a
78
-certificate. If your certificates are generated using a globally trusted
79
-Certificate Authority, you won't need to install them on all of your
80
-client Docker daemons.
81
-
82
-3. Use the self-signed registry certificate generated by DHE, and install it
83
-onto the client Docker daemon hosts as shown below.
84
-
85
-### Adding your own Registry certificates to DHE
86
-
87
-Whichever method you use to generate certificates, once you have them
88
-you can set up your DHE server to use them by navigating to the "Settings" page,
89
-going to "Security," and putting the SSL Certificate text (including all
90
-intermediate Certificates, starting with the host) into the
91
-"SSL Certificate" edit box, and the previously generated Private key into
92
-the "SSL Private Key" edit box.
93
-
94
-Click the "Save" button, and then wait for the DHE Admin site to restart and
95
-reload. It should now be using the new certificate.
96
-
97
-Once the "Security" page has reloaded, it will show `#` hashes instead of the
98
-certificate text you pasted in.
99
-
100
-If your certificate is signed by a chain of Certificate Authorities that are
101
-already trusted by your Docker daemon servers, you can skip the "Installing
102
-registry certificates" step below.
103
-
104
-### Installing Registry certificates on client Docker daemons
105
-
106
-If your certificates do not have a trusted Certificate Authority, you will need
107
-to install them on each client Docker daemon host.
108
-
109
-The procedure for installing the DHE certificates on each Linux distribution has
110
-slightly different steps, as shown below.
111
-
112
-You can test this certificate using `curl`:
113
-
114
-```
115
-$ curl https://dhe.yourdomain.com/v2/
116
-curl: (60) SSL certificate problem: self signed certificate
117
-More details here: http://curl.haxx.se/docs/sslcerts.html
118
-
119
-curl performs SSL certificate verification by default, using a "bundle"
120
- of Certificate Authority (CA) public keys (CA certs). If the default
121
- bundle file isn't adequate, you can specify an alternate file
122
- using the --cacert option.
123
-If this HTTPS server uses a certificate signed by a CA represented in
124
- the bundle, the certificate verification probably failed due to a
125
- problem with the certificate (it might be expired, or the name might
126
- not match the domain name in the URL).
127
-If you'd like to turn off curl's verification of the certificate, use
128
- the -k (or --insecure) option.
129
-
130
-$ curl --cacert /usr/local/etc/dhe/ssl/server.pem https://dhe.yourdomain.com/v2/
131
-{"errors":[{"code":"UNAUTHORIZED","message":"access to the requested resource is not authorized","detail":null}]}
132
-```
133
-
134
-Continue by following the steps corresponding to your chosen OS.
135
-
136
-#### Ubuntu/Debian
137
-
138
-```
139
-    $ export DOMAIN_NAME=dhe.yourdomain.com
140
-    $ openssl s_client -connect $DOMAIN_NAME:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM | sudo tee /usr/local/share/ca-certificates/$DOMAIN_NAME.crt
141
-    $ sudo update-ca-certificates
142
-    Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
143
-    Running hooks in /etc/ca-certificates/update.d....done.
144
-    $ sudo service docker restart
145
-    docker stop/waiting
146
-    docker start/running, process 29291
147
-```
148
-
149
-#### RHEL
150
-
151
-```
152
-    $ export DOMAIN_NAME=dhe.yourdomain.com
153
-    $ openssl s_client -connect $DOMAIN_NAME:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM | sudo tee /etc/pki/ca-trust/source/anchors/$DOMAIN_NAME.crt
154
-    $ sudo update-ca-trust
155
-    $ sudo /bin/systemctl restart docker.service
156
-```
157
-
158
-#### Boot2Docker 1.6.0
159
-
160
-Install the CA cert (or the auto-generated cert) by adding the following to
161
-your `/var/lib/boot2docker/bootsync.sh`:
162
-
163
-```
164
-#!/bin/sh
165
-
166
-cat /var/lib/boot2docker/server.pem >> /etc/ssl/certs/ca-certificates.crt
167
-```
168
-
169
-
170
-Then get the certificate from the new DHE server using:
171
-
172
-```
173
-$ openssl s_client -connect dhe.yourdomain.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM | sudo tee -a /var/lib/boot2docker/server.pem
174
-```
175
-
176
-If your certificate chain is complicated, you may want to use the changes in
177
-[Pull request 807](https://github.com/boot2docker/boot2docker/pull/807/files)
178
-
179
-Now you can either reboot your Boot2Docker virtual machine, or run the following to
180
-install the server certificate, and then restart the Docker daemon.
181
-
182
-```
183
-$ sudo chmod 755 /var/lib/boot2docker/bootsync.sh
184
-$ sudo /var/lib/boot2docker/bootsync.sh
185
-$ sudo /etc/init.d/docker restart`.
186
-```
187
-
188
-### If you can't install the certificates
189
-
190
-If for some reason you can't install the certificate chain on a client Docker host,
191
-or your certificates do not have a global CA, you can configure your Docker daemon to run in "insecure" mode. This is done by adding an extra flag,
192
-`--insecure-registry host-ip|domain-name`, to your client Docker daemon startup flags.
193
-You'll need to restart the Docker daemon for the change to take effect.
194
-
195
-This flag means that the communications between your Docker client and the DHE
196
-Registry server are still encrypted, but the client Docker daemon is not
197
-confirming that the Registry connection is not being hijacked or diverted.
198
-
199
-> **Note**: If you enter a "Domain Name" into the "Security" settings, it needs
200
-> to be DNS resolvable on any client Docker daemons that are running in
201
-> "insecure-registry" mode.
202
-
203
-To set the flag, follow the directions below for your operating system.
204
-
205
-#### Ubuntu
206
-
207
-On Ubuntu 14.04 LTS, you customize the Docker daemon configuration with the
208
-`/etc/defaults/docker` file.
209
-
210
-Open or create the `/etc/defaults/docker` file, and add the
211
-`--insecure-registry` flag to the `DOCKER_OPTS` setting (which may need to be
212
-added or uncommented) as follows:
213
-
214
-```
215
-DOCKER_OPTS="--insecure-registry dhe.yourdomain.com"
216
-```
217
-
218
-Then restart the Docker daemon with `sudo service docker restart`.
219
-
220
-#### RHEL
221
-
222
-On RHEL, you customize the Docker daemon configuration with the
223
-`/etc/sysconfig/docker` file.
224
-
225
-Open or create the `/etc/sysconfig/docker` file, and add the
226
-`--insecure-registry` flag to the `OPTIONS` setting (which may need to be
227
-added or uncommented) as follows:
228
-
229
-```
230
-OPTIONS="--insecure-registry dhe.yourdomain.com"
231
-```
232
-
233
-Then restart the Docker daemon with `sudo service docker restart`.
234
-
235
-### Boot2Docker
236
-
237
-On Boot2Docker, you customize the Docker daemon configuration with the
238
-`/var/lib/boot2docker/profile` file.
239
-
240
-Open or create the `/var/lib/boot2docker/profile` file, and add an `EXTRA_ARGS`
241
-setting as follows:
242
-
243
-```
244
-EXTRA_ARGS="--insecure-registry dhe.yourdomain.com"
245
-```
246
-
247
-Then restart the Docker daemon with `sudo /etc/init.d/docker restart`.
248
-
249
-## Image Storage Configuration
250
-
251
-DHE offers multiple methods for image storage, which are defined using specific
252
-storage drivers. Image storage can be local, remote, or on a cloud service such
253
-as S3. Storage drivers can be added or customized via the DHE storage driver
254
-API.
255
-
256
-![Storage settings page</admin/settings#storage>](../assets/admin-settings-storage.png)
257
-
258
-* *Yaml configuration file*: This file (`/usr/local/etc/dhe/storage.yml`) is
259
-used to configure the image storage services. The editable text of the file is
260
-displayed in the dialog box. The schema of this file is identical to that used
261
-by the [Registry 2.0](https://docs.docker.com/registry/configuration/).
262
-* If you are using the file system driver to provide local image storage, you will need to specify a root directory which will get mounted as a sub-path of
263
-`/var/local/dhe/image-storage`. The default value of this root directory is
264
-`/local`, so the full path to it is `/var/local/dhe/image-storage/local`.
265
-
266
-> **Note:**
267
-> Saving changes you've made to settings will restart the Docker Hub Enterprise
268
-> instance. The restart may cause a brief interruption for users of the image
269
-> storage system.
270
-
271
-## Authentication
272
-
273
-The "Authentication" settings tab lets DHE administrators control access
274
-to the DHE web admin tool and to the DHE Registry.
275
-
276
-The current authentication methods are `None`, `Basic` and `LDAP`.
277
-
278
-> **Note**: if you have issues logging into the DHE admin web interface after changing the authentication
279
-> settings, you may need to use the [emergency access to the DHE admin web interface](./adminguide.md#Emergency-access-to-the-dhe-admin-web-interface).
280
-
281
-### No authentication
282
-
283
-No authentication means that everyone that can access your DHE web administration
284
-site. This is not recommended for any use other than testing.
285
-
286
-
287
-### Basic authentication
288
-
289
-The `Basic` authentication setting allows the admin to provide username/password pairs local to DHE.
290
-Any user who can successfully authenticate can use DHE to push and pull Docker images.
291
-You can optionally filter the list of users to a subset of just those users with access to the DHE
292
-admin web interface.
293
-
294
-![Basic authentication settings page</admin/settings#auth>](../assets/admin-settings-authentication-basic.png)
295
-
296
-* A button to add one user, or to upload a CSV file containing username,
297
-password pairs
298
-* A DHE website Administrator Filter, allowing you to either
299
-* * *Allow all authenticated users*: to log into the DHE admin web interface, or
300
-* * *Whitelist usernames*: which allows you to restrict access to the web interface to a listed set of users.
301
-
302
-### LDAP authentication
303
-
304
-Using LDAP authentication allows you to integrate your DHE registry into your
305
-organization's existing user and authentication database.
306
-
307
-As this involves existing infrastructure external to DHE and Docker, you will need to
308
-gather the details required to configure DHE for your organization's particular LDAP
309
-implementation.
310
-
311
-You can test that you have the necessary LDAP server information by using it from
312
-inside a Docker container running on the same server as your DHE:
313
-
314
-> **Note**: if the LDAP server is configured to use *StartTLS*, then you need to add `-Z` to the
315
-> `ldapsearch` command examples below.
316
-
317
-```
318
-docker run --rm -it svendowideit/ldapsearch -h <LDAP Server hostname> -b <User Base DN> -D <Search User DN> -w <Search User Password>
319
-```
320
-
321
-or if the LDAP server is set up to allow anonymous access (which means your *Search User DN* and *Search User Password* settings can remain empty):
322
-
323
-```
324
-docker run --rm -it svendowideit/ldapsearch -h <LDAP Server hostname> -b <User Base DN> -x
325
-```
326
-
327
-The result of these queries should be a (very) long list - if you get an authentication error,
328
-then the details you have been given are not sufficient.
329
-
330
-The *User Login Attribute* key setting must match the field used in the LDAP server
331
-for the user's login-name. On OpenLDAP, it's generally `uid`, and on Microsoft Active Directory
332
-servers, it's `sAMAccountName`. The `ldapsearch` output above should allow you to
333
-confirm which setting you need.
334
-
335
-![LDAP authentication settings page</admin/settings#auth>](../assets/admin-settings-authentication-ldap.png)
336
-
337
-* *Use StartTLS*: defaults to unchecked, check to enable StartTLS
338
-* *LDAP Server URL*: **required** defaults to null, LDAP server URL (e.g., - ldap://example.com)
339
-* *User Base DN*: **required** defaults to null, user base DN in the form (e.g., - dc=example,dc=com)
340
-* *User Login Attribute*: **required** defaults to null, user login attribute (e.g., - uid or sAMAccountName)
341
-* *Search User DN*: **required** defaults to null, search user DN (e.g., - domain\username)
342
-* *Search User Password*: **required** defaults to null, search user password
343
-* A *DHE Registry User filter*: allowing you to either
344
-* * *Allow all authenticated users* to push or pull any images, or
345
-* * *Filter LDAP search results*: which allows you to restrict DHE registry pull and push to users matching the LDAP filter,
346
-* * *Whitelist usernames*: which allows you to restrict DHE registry pull and push to the listed set of users.
347
-* A *DHE website Administrator filter*, allowing you to either
348
-* * *Allow all authenticated users*: to log into the DHE admin web interface, or
349
-* * *Filter LDAP search results*: which allows you to restrict DHE admin web access to users matching the LDAP filter,
350
-* * *Whitelist usernames*: which allows you to restrict access to the web interface to the listed set of users.
351
-
352
-
353
-## Next Steps
354
-
355
-For information on getting support for DHE, take a look at the
356
-[Support information](./support.md).
357
-
358 1
deleted file mode 100644
... ...
@@ -1,331 +0,0 @@
1
-no_version_dropdown: true
2
-page_title: Docker Hub Enterprise: Quick-start: Basic Workflow
3
-page_description: Brief tutorial on the basics of Docker Hub Enterprise user workflow
4
-page_keywords: docker, documentation, about, technology, understanding, enterprise, hub, registry, image, repository
5
-
6
-
7
-# Docker Hub Enterprise Quick Start: Basic User Workflow
8
-
9
-## Overview
10
-
11
-This Quick Start Guide will give you a hands-on look at the basics of using
12
-Docker Hub Enterprise (DHE), Docker's on-premise image storage application.
13
-This guide will walk you through using DHE to complete a typical, and critical,
14
-part of building a development pipeline: setting up a Jenkins instance. Once you
15
-complete the task, you should have a good idea of how DHE works and how it might
16
-be useful to you.
17
-
18
-Specifically, this guide demonstrates the process of retrieving the
19
-[official Docker image for Jenkins](https://registry.hub.docker.com/_/jenkins/),
20
-customizing it to suit your needs, and then hosting it on your private instance
21
-of DHE located inside your enterprise's firewalled environment. Your developers
22
-will then be able to retrieve the custom Jenkins image in order to use it to
23
-build CI/CD infrastructure for their projects, no matter the platform they're
24
-working from, be it a laptop, a VM, or a cloud provider.
25
-
26
-The guide will walk you through the following steps:
27
-
28
-1. Pulling the official Jenkins image from the public Docker Hub
29
-2. Customizing the Jenkins image to suit your needs
30
-3. Pushing the customized image to DHE
31
-4. Pulling the customized image from DHE
32
-4. Launching a container from the custom image
33
-5. Using the new Jenkins container
34
-
35
-You should be able to complete this guide in about thirty minutes.
36
-
37
-> **Note:** This guide assumes you have installed a working instance of DHE
38
-> reachable at dhe.yourdomain.com. If you need help installing and configuring
39
-> DHE, please consult the
40
-[installation instructions](./install.md).
41
-
42
-
43
-## Pulling the official Jenkins image
44
-
45
-> **Note:** This guide assumes you are familiar with basic Docker concepts such
46
-> as images, containers, and registries. If you need to learn more about Docker
47
-> fundamentals, please consult the
48
-> [Docker user guide](https://docs.docker.com/userguide/).
49
-
50
-First, you will retrieve a copy of the official Jenkins image from the Docker Hub. By default, if
51
-Docker can't find an image locally, it will attempt to pull the image from the
52
-Docker Hub. From the CLI of a machine running the Docker Engine on your network, use
53
-the
54
-[`docker pull`](https://docs.docker.com/reference/commandline/cli/#pull)
55
-command to pull the public Jenkins image.
56
-
57
-    $ docker pull jenkins
58
-
59
-> **Note:** This guide assumes you can run Docker commands from a machine where
60
-> you are a member of the `docker` group, or have root privileges. Otherwise, you may
61
-> need to add `sudo` to the example commands below.
62
-
63
-Docker will start the process of pulling the image from the Hub. Once it has completed, the Jenkins image should be visible in the output of a [`docker images`](https://docs.docker.com/reference/commandline/cli/#images) command, which lists your available images:
64
-
65
-    $ docker images
66
-    REPOSITORY  TAG     IMAGE ID      CREATED      VIRTUAL SIZE
67
-    jenkins     latest  1a7cc22b0ee9  6 days ago   662 MB
68
-
69
-> **Note:** Because the `pull` command did not specify any tags, it will pull
70
-> the latest version of the public Jenkins image. If your enterprise environment
71
-> requires you to use a specific version, add the tag for the version you need
72
-> (e.g., `jenkins:1.565`).
73
-
74
-## Customizing the Jenkins image
75
-
76
-Now that you have a local copy of the Jenkins image, you'll customize it so that
77
-the containers it builds will integrate with your infrastructure. To do this,
78
-you'll create a custom Docker image that adds a Jenkins plugin that provides
79
-fine grained user management. You'll also configure Jenkins to be more secure by
80
-disabling HTTP access and forcing it to use HTTPS.
81
-You'll do this by using a `Dockerfile` and the `docker build` command.
82
-
83
-> **Note:** These are obviously just a couple of examples of the many ways you
84
-> can modify and configure Jenkins. Feel free to add or substitute whatever
85
-> customization is necessary to run Jenkins in your environment.
86
-
87
-### Creating a `build` context
88
-
89
-In order to add the new plugin and configure HTTPS access to the custom Jenkins
90
-image, you need to:
91
-
92
-1. Create text file that defines the new plugin
93
-2. Create copies of the private key and certificate
94
-
95
-All of the above files need to be in the same directory as the Dockerfile you
96
-will create in the next step.
97
-
98
-1. Create a build directory called `build`, and change to that new directory:
99
-
100
-    $ mkdir build && cd build
101
-
102
-In this directory, create a new file called `plugins` and add the following
103
-line:
104
-
105
-    role-strategy:2.2.0
106
-
107
-(The plugin version used above was the latest version at the time of writing.)
108
-
109
-2. You will also need to make copies of the server's private key and certificate. Give the copies the following names - `https.key` and `https.pem`.
110
-
111
-> **Note:** Because creating new keys varies widely by platform and
112
-> implementation, this guide won't cover key generation. We assume you have
113
-> access to existing keys. If you don't have access, or can't generate keys
114
-> yourself, feel free to skip the steps involving them and HTTPS config. The
115
-> guide will still walk you through building a custom Jenkins image and pushing
116
-> and pulling that image using DHE.
117
-
118
-### Creating a Dockerfile
119
-
120
-In the same directory as the `plugins` file and the private key and certificate,
121
-create a new [`Dockerfile`](https://docs.docker.com/reference/builder/) with the
122
-following contents:
123
-
124
-     FROM jenkins
125
-
126
-     #New plugins must be placed in the plugins file
127
-     COPY plugins /usr/share/jenkins/plugins
128
-
129
-     #The plugins.sh script will install new plugins
130
-     RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins
131
-
132
-     #Copy private key and cert to image
133
-     COPY https.pem /var/lib/jenkins/cert
134
-     COPY https.key /var/lib/jenkins/pk
135
-
136
-     #Configure HTTP off and HTTPS on, using port 1973
137
-    ENV JENKINS_OPTS --httpPort=-1 --httpsPort=1973 --httpsCertificate=/var/lib/jenkins/cert --httpsPrivateKey=/var/lib/jenkins/pk
138
-
139
-The first `COPY` instruction in the above will copy the `plugin` file created
140
-earlier into the `/usr/share/jenkins` directory within the custom image you are
141
-defining with the `Dockerfile`.
142
-
143
-The `RUN` instruction will execute the `/usr/local/bin/plugins.sh` script with
144
-the newly copied `plugins` file, which will install the listed plugin.
145
-
146
-The next two `COPY` instructions copy the server's private key and certificate
147
-into the required directories within the new image.
148
-
149
-The `ENV` instruction creates an environment variable called `JENKINS_OPT` in
150
-the image you are about to create. This environment variable will be present in
151
-any containers launched form the image and contains the required settings to
152
-tell Jenkins to disable HTTP and operate over HTTPS.
153
-
154
-> **Note:** You can specify any valid port number as part of the `JENKINS_OPT`
155
-> environment variable declared above. The value `1973` used in the example is
156
-> arbitrary.
157
-
158
-The `Dockerfile`, the `plugins` file, as well as the private key and
159
-certificate, must all be in the same directory because the `docker build`
160
-command uses the directory that contains the `Dockerfile` as its "build
161
-context". Only files contained within that "build context" will be included in
162
-the image being built.
163
-
164
-### Building your custom image
165
-
166
-Now that the `Dockerfile`, the `plugins` file, and the files required for HTTPS
167
-operation are created in your current working directory, you can build your
168
-custom image using the
169
-[`docker build` command](https://docs.docker.com/reference/commandline/cli/#build):
170
-
171
-    docker build -t dhe.yourdomain.com/ci-infrastructure/jnkns-img .
172
-
173
-> **Note:** Don't miss the period (`.`) at the end of the command above. This
174
-> tells the `docker build` command to use the current working directory as the
175
-> "build context".
176
-
177
-This command will build a new Docker image called `jnkns-img` which is based on
178
-the public Jenkins image you pulled earlier, but contains all of your
179
-customization.
180
-
181
-Please note the use of the `-t` flag in the `docker build` command above. The
182
-`-t` flag lets you  tag an image so it can be pushed to a custom repository. In
183
-the example above, the new image is tagged so it can be pushed to the
184
-`ci-infrastructure` Repository within the `dhe.yourdomain.com` registry (your
185
-local DHE instance). This will be important when you need to `push` the
186
-customized image to DHE later.
187
-
188
-A `docker images` command will now show the custom image alongside the Jenkins
189
-image pulled earlier:
190
-
191
-    $ sudo docker images
192
-    REPOSITORY   TAG    IMAGE ID    CREATED    VIRTUAL SIZE
193
-    dhe.yourdomain.com/ci-infrastructure/jnkns-img    latest    fc0ab3008d40    2 minutes ago    674.5 MB
194
-    jenkins    latest    1a7cc22b0ee9    6 days ago    662 MB
195
-
196
-## Pushing to Docker Hub Enterprise
197
-
198
-> **Note**: If your DHE instance has authentication enabled, you will need to
199
-> use your command line to `docker login <dhe-hostname>` (e.g., `docker login
200
-> dhe.yourdomain.com`).
201
->
202
-> Failures due to unauthenticated `docker push` and `docker pull` commands will
203
-> look like :
204
->
205
->     $ docker pull dhe.yourdomain.com/hello-world
206
->     Pulling repository dhe.yourdomain.com/hello-world
207
->     FATA[0001] Error: image hello-world:latest not found
208
->
209
->     $ docker push dhe.yourdomain.com/hello-world
210
->     The push refers to a repository [dhe.yourdomain.com/hello-world] (len: 1)
211
->     e45a5af57b00: Image push failed
212
->     FATA[0001] Error pushing to registry: token auth attempt for registry
213
->     https://dhe.yourdomain.com/v2/:
214
->     https://dhe.yourdomain.com/auth/v2/token/
215
->     ?scope=repository%3Ahello-world%3Apull%2Cpush&service=dhe.yourdomain.com
216
->     request failed with status: 401 Unauthorized
217
-
218
-Now that you've created the custom image, it can be pushed to DHE using the
219
-[`docker push`command](https://docs.docker.com/reference/commandline/cli/#push):
220
-
221
-    $ docker push dhe.yourdomain.com/ci-infrastructure/jnkns-img
222
-    511136ea3c5a: Image successfully pushed
223
-    848d84b4b2ab: Image successfully pushed
224
-    71d9d77ae89e: Image already exists
225
-    <truncated ouput...>
226
-    492ed3875e3e: Image successfully pushed
227
-    fc0ab3008d40: Image successfully pushed
228
-
229
-You can view the traffic throughput while the custom image is being pushed from
230
-the `System Health` tab in DHE:
231
-
232
-![DHE console push throughput](../assets/console-push.png)
233
-
234
-Once the image is successfully pushed, it can be downloaded, or pulled, by any
235
-Docker host that has access to DHE.
236
-
237
-## Pulling from Docker Hub Enterprise
238
-To pull the `jnkns-img` image from DHE, run the
239
-[`docker pull`](https://docs.docker.com/reference/commandline/cli/#pull)
240
-command from any Docker Host that has access to your DHE instance:
241
-
242
-    $ docker pull dhe.yourdomain.com/ci-infrastructure/jnkns-img
243
-    latest: Pulling from dhe.yourdomain.com/ci-infrastructure/jnkns-img
244
-    511136ea3c5a: Pull complete
245
-    848d84b4b2ab: Pull complete
246
-    71d9d77ae89e: Pull complete
247
-    <truncated ouput...>
248
-    492ed3875e3e: Pull complete
249
-    fc0ab3008d40: Pull complete
250
-    dhe.yourdomain.com/ci-infrastructure/jnkns-img:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
251
-    Status: Downloaded newer image for dhe.yourdomain.com/ci-infrastructure/jnkns-img:latest
252
-
253
-You can view the traffic throughput while the custom image is being pulled from
254
-the `System Health` tab in DHE:
255
-
256
-![DHE console pull throughput](../assets/console-pull.png)
257
-
258
-Now that the `jnkns-img` image has been pulled locally from DHE, you can view it
259
-in the output of the `docker images` command:
260
-
261
-     $ docker images
262
-    REPOSITORY     TAG    IMAGE ID    CREATED    VIRTUAL SIZE
263
-    dhe.yourdomain.com/ci-infrastructure/jnkns-img    latest  fc0ab3008d40    8 minutes ago    674.5 MB
264
-
265
-## Launching a custom Jenkins container
266
-
267
-Now that you've successfully pulled the customized Jenkins image from DHE, you
268
-can create a container from it with the
269
-[`docker run` command](https://docs.docker.com/reference/commandline/cli/#run):
270
-
271
-
272
-    $ docker run -p 1973:1973 --name jenkins01 dhe.yourdomain.com/ci-infrastructure/jnkns-img
273
-    /usr/share/jenkins/ref/init.groovy.d/tcp-slave-angent-port.groovy
274
-     /usr/share/jenkins/ref/init.groovy.d/tcp-slave-angent-port.groovy -> init.groovy.d/tcp-slave-angent-port.groovy
275
-    copy init.groovy.d/tcp-slave-angent-port.groovy to JENKINS_HOME
276
-    /usr/share/jenkins/ref/plugins/role-strategy.hpi
277
-     /usr/share/jenkins/ref/plugins/role-strategy.hpi -> plugins/role-strategy.hpi
278
-    copy plugins/role-strategy.hpi to JENKINS_HOME
279
-    /usr/share/jenkins/ref/plugins/dockerhub.hpi
280
-     /usr/share/jenkins/ref/plugins/dockerhub.hpi -> plugins/dockerhub.hpi
281
-    copy plugins/dockerhub.hpi to JENKINS_HOME
282
-    <truncated output...>
283
-    INFO: Jenkins is fully up and running
284
-
285
-> **Note:** The `docker run` command above maps port 1973 in the container
286
-> through to port 1973 on the host. This is the HTTPS port you specified in the
287
-> Dockerfile earlier. If you specified a different HTTPS port in your
288
-> Dockerfile, you will need to substitute this with the correct port numbers for
289
-> your environment.
290
-
291
-You can view the newly launched a container, called `jenkins01`, using the
292
-[`docker ps` command](https://docs.docker.com/reference/commandline/cli/#ps):
293
-
294
-    $ docker ps
295
-    CONTAINER ID     IMAGE     COMMAND     CREATED      STATUS  ...PORTS     NAMES
296
-    2e5d2f068504    dhe.yourdomain.com/ci-infrastructure/jnkns-img:latest    "/usr/local/bin/jenk     About a minute ago     Up About a minute     50000/tcp, 0.0.0.0:1973->1973/tcp     jenkins01
297
-
298
-
299
-## Accessing the new Jenkins container
300
-
301
-The previous `docker run` command mapped port `1973` on the container to port
302
-`1973` on the Docker host, so the Jenkins Web UI can be accessed at
303
-`https://<docker-host>:1973` (Don't forget the `s` at the end of `https`.)
304
-
305
-> **Note:** If you are using a self-signed certificate, you may get a security
306
-> warning from your browser telling you that the certificate is self-signed and
307
-> not trusted. You may wish to add the certificate to the trusted store in order
308
-> to prevent further warnings in the future.
309
-
310
-![Jenkins landing page](../assets/jenkins-ui.png)
311
-
312
-From within the Jenkins Web UI, navigate to `Manage Jenkins` (on the left-hand
313
-pane) > `Manage Plugins` > `Installed`. The  `Role-based Authorization Strategy`
314
-plugin should be present with the `Uninstall` button available to the right.
315
-
316
-![Jenkins plugin manager](../assets/jenkins-plugins.png)
317
-
318
-In another browser session, try to access Jenkins via the default HTTP port 8080
319
- `http://<docker-host>:8080`. This should result in a "connection timeout",
320
-showing that Jenkins is not available on its default port 8080 over HTTP.
321
-
322
-This demonstration shows your Jenkins image has been configured correctly for
323
-HTTPS access, your new plugin was added and is ready for use, and HTTP access
324
-has been disabled. At this point, any member of your team can use `docker pull`
325
-to access the image from your DHE instance, allowing them to access a
326
-configured, secured Jenkins instance that can run on any infrastructure.
327
-
328
-## Next Steps
329
-
330
-For more information on using DHE, take a look at the
331
-[User's Guide](./userguide.md).
332 1
deleted file mode 100644
... ...
@@ -1,241 +0,0 @@
1
-no_version_dropdown: true
2
-page_title: Docker Hub Enterprise: Release notes
3
-page_description: Release notes for Docker Hub Enterprise
4
-page_keywords: docker, documentation, about, technology, understanding, enterprise, hub, registry, release
5
-
6
-# Release Notes
7
-
8
-## Docker Hub Enterprise
9
-
10
-### DHE 1.0.1
11
-(11 May 2015)
12
-
13
-- Addresses compatibility issue with 1.6.1 CS Docker Engine
14
-
15
-### DHE 1.0.0
16
-(23 Apr 2015)
17
-
18
-- First release
19
-
20
-## Commercially Supported Docker Engine
21
-
22
-### CS Docker Engine 1.6.2-cs5
23
-(21 May 2015)
24
-
25
-For customers running Docker Engine on [supported versions of Red Hat Enterprise
26
-Linux (RHEL)](https://www.docker.com/enterprise/support/) with [SELinux
27
-enabled](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/
28
-6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux
29
--Enabling_and_Disabling_SELinux.html), the `docker build` and `docker run`
30
-commands will not have DNS host name resolution and bind-mounted volumes may
31
-not be accessible.
32
-As a result, customers with SELinux will be unable to use hostname-based network
33
-access in either `docker build` or `docker run`, nor will they be able to
34
-`docker run` containers
35
-that use `--volume` or `-v` bind-mounts (with an incorrect SELinux label) in
36
-their environment. By installing Docker
37
-Engine 1.6.2-cs5, customers can use Docker as intended on RHEL with SELinux enabled.
38
-
39
-For example, you see will failures like:
40
-
41
-```
42
-[root@dhe ~]# docker -v
43
-Docker version 1.6.0-cs2, build b8dd430
44
-[root@dhe ~]# ping dhe.home.org.au
45
-PING dhe.home.org.au (10.10.10.104) 56(84) bytes of data.
46
-64 bytes from dhe.home.gateway (10.10.10.104): icmp_seq=1 ttl=64 time=0.663 ms
47
-^C
48
-2 packets transmitted, 2 received, 0% packet loss, time 1001ms
49
-rtt min/avg/max/mdev = 0.078/0.370/0.663/0.293 ms
50
-[root@dhe ~]# docker run --rm -it debian ping dhe.home.org.au
51
-ping: unknown host
52
-[root@dhe ~]# docker run --rm -it debian cat /etc/resolv.conf
53
-cat: /etc/resolv.conf: Permission denied
54
-[root@dhe ~]# docker run --rm -it debian apt-get update
55
-Err http://httpredir.debian.org jessie InRelease
56
-
57
-Err http://security.debian.org jessie/updates InRelease
58
-
59
-Err http://httpredir.debian.org jessie-updates InRelease
60
-
61
-Err http://security.debian.org jessie/updates Release.gpg
62
-  Could not resolve 'security.debian.org'
63
-Err http://httpredir.debian.org jessie Release.gpg
64
-  Could not resolve 'httpredir.debian.org'
65
-Err http://httpredir.debian.org jessie-updates Release.gpg
66
-  Could not resolve 'httpredir.debian.org'
67
-[output truncated]
68
-
69
-```
70
-
71
-or when running a `docker build`:
72
-
73
-```
74
-[root@dhe ~]# docker build .
75
-Sending build context to Docker daemon 11.26 kB
76
-Sending build context to Docker daemon
77
-Step 0 : FROM fedora
78
- ---> e26efd418c48
79
-Step 1 : RUN yum install httpd
80
- ---> Running in cf274900ea35
81
-
82
-One of the configured repositories failed (Fedora 21 - x86_64),
83
-and yum doesn't have enough cached data to continue. At this point the only
84
-safe thing yum can do is fail. There are a few ways to work "fix" this:
85
-
86
-[output truncated]
87
-```
88
-
89
-
90
-**Affected Versions**: All previous versions of Docker Engine when SELinux
91
-is enabled.
92
-
93
-Docker **highly recommends** that all customers running previous versions of
94
-Docker Engine update to this release.
95
-
96
-#### **How to workaround this issue**
97
-
98
-Customers who choose not to install this update have two options. The
99
-first option is to disable SELinux. This is *not recommended* for production
100
-systems where SELinux is typically required.
101
-
102
-The second option is to pass the following parameter in to `docker run`.
103
-
104
-  	     --security-opt=label:type:docker_t
105
-
106
-This parameter cannot be passed to the `docker build` command.
107
-
108
-#### **Upgrade notes**
109
-
110
-When upgrading, make sure you stop DHE first, perform the Engine upgrade, and
111
-then restart DHE.
112
-
113
-If you are running with SELinux enabled, previous Docker Engine releases allowed
114
-you to bind-mount additional volumes or files inside the container as follows:
115
-
116
-		$ docker run -it -v /home/user/foo.txt:/foobar.txt:ro <imagename>
117
-
118
-In the 1.6.2-cs5 release, you must ensure additional bind-mounts have the correct
119
-SELinux context. For example, if you want to mount `foobar.txt` as read-only
120
-into the container, do the following to create and test your bind-mount:
121
-
122
-1. Add the `z` option to the bind mount when you specify `docker run`.
123
-
124
-		$ docker run -it -v /home/user/foo.txt:/foobar.txt:ro,z <imagename>
125
-
126
-2. Exec into your new container.
127
-
128
-	For example, if your container is `bashful_curie`, open a shell on the
129
-	container:
130
-
131
-		$ docker exec -it bashful_curie bash
132
-
133
-3. Use `cat` to check the permissions on the mounted file.
134
-
135
-		$ cat /foobar.txt
136
-		the contents of foobar appear
137
-
138
-	If you see the file's contents, your mount succeeded. If you receive a
139
-	`Permission denied` message and/or the `/var/log/audit/audit.log` file on
140
-	your Docker host contains an AVC Denial message, the mount did not succeed.
141
-
142
-		type=AVC msg=audit(1432145409.197:7570): avc:  denied  { read } for  pid=21167 comm="cat" name="foobar.txt" dev="xvda2" ino=17704136 scontext=system_u:system_r:svirt_lxc_net_t:s0:c909,c965 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file
143
-
144
-	Recheck your command line to make sure you passed in the `z` option.
145
-
146
-
147
-### CS Docker Engine 1.6.2-cs4
148
-(13 May 2015)
149
-
150
-Fix mount regression for `/sys`.
151
-
152
-### CS Docker Engine 1.6.1-cs3
153
-(11 May 2015)
154
-
155
-Docker Engine version 1.6.1 has been released to address several vulnerabilities
156
-and is immediately available for all supported platforms. Users are advised to
157
-upgrade existing installations of the Docker Engine and use 1.6.1 for new installations.
158
-
159
-It should be noted that each of the vulnerabilities allowing privilege escalation
160
-may only be exploited by a malicious Dockerfile or image.  Users are advised to
161
-run their own images and/or images built by trusted parties, such as those in
162
-the official images library.
163
-
164
-Please send any questions to security@docker.com.
165
-
166
-
167
-#### **[CVE-2015-3629](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3629) Symlink traversal on container respawn allows local privilege escalation**
168
-
169
-Libcontainer version 1.6.0 introduced changes which facilitated a mount namespace
170
-breakout upon respawn of a container. This allowed malicious images to write
171
-files to the host system and escape containerization.
172
-
173
-Libcontainer and Docker Engine 1.6.1 have been released to address this
174
-vulnerability. Users running untrusted images are encouraged to upgrade Docker Engine.
175
-
176
-Discovered by Tõnis Tiigi.
177
-
178
-
179
-#### **[CVE-2015-3627](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3627) Insecure opening of file-descriptor 1 leading to privilege escalation**
180
-
181
-The file-descriptor passed by libcontainer to the pid-1 process of a container
182
-has been found to be opened prior to performing the chroot, allowing insecure
183
-open and symlink traversal. This allows malicious container images to trigger
184
-a local privilege escalation.
185
-
186
-Libcontainer and Docker Engine 1.6.1 have been released to address this
187
-vulnerability. Users running untrusted images are encouraged to upgrade
188
-Docker Engine.
189
-
190
-Discovered by Tõnis Tiigi.
191
-
192
-#### **[CVE-2015-3630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3630) Read/write proc paths allow host modification & information disclosure**
193
-
194
-Several paths underneath /proc were writable from containers, allowing global
195
-system manipulation and configuration. These paths included `/proc/asound`,
196
-`/proc/timer_stats`, `/proc/latency_stats`, and `/proc/fs`.
197
-
198
-By allowing writes to `/proc/fs`, it has been noted that CIFS volumes could be
199
-forced into a protocol downgrade attack by a root user operating inside of a
200
-container. Machines having loaded the timer_stats module were vulnerable to
201
-having this mechanism enabled and consumed by a container.
202
-
203
-We are releasing Docker Engine 1.6.1 to address this vulnerability. All
204
-versions up to 1.6.1 are believed vulnerable. Users running untrusted
205
-images are encouraged to upgrade.
206
-
207
-Discovered by Eric Windisch of the Docker Security Team.
208
-
209
-#### **[CVE-2015-3631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3631) Volume mounts allow LSM profile escalation**
210
-
211
-By allowing volumes to override files of `/proc` within a mount namespace, a user
212
-could specify arbitrary policies for Linux Security Modules, including setting
213
-an unconfined policy underneath AppArmor, or a `docker_t` policy for processes
214
-managed by SELinux. In all versions of Docker up until 1.6.1, it is possible for
215
-malicious images to configure volume mounts such that files of proc may be overridden.
216
-
217
-We are releasing Docker Engine 1.6.1 to address this vulnerability. All versions
218
-up to 1.6.1 are believed vulnerable. Users running untrusted images are encouraged
219
-to upgrade.
220
-
221
-Discovered by Eric Windisch of the Docker Security Team.
222
-
223
-#### **AppArmor policy improvements**
224
-
225
-The 1.6.1 release also marks preventative additions to the AppArmor policy.
226
-Recently, several CVEs against the kernel have been reported whereby mount
227
-namespaces could be circumvented through the use of the sys_mount syscall from
228
-inside of an unprivileged Docker container. In all reported cases, the
229
-AppArmor policy included in libcontainer and shipped with Docker has been
230
-sufficient to deflect these attacks. However, we have deemed it prudent to
231
-proactively tighten the policy further by outright denying the use of the
232
-`sys_mount` syscall.
233
-
234
-Because this addition is preventative, no CVE-ID is requested.
235
-
236
-### CS Docker Engine 1.6.0-cs2
237
-(23 Apr 2015)
238
-
239
-- First release, please see the [Docker Engine 1.6.0 Release notes](/release-notes/)
240
-  for more details.
241 1
new file mode 100755
... ...
@@ -0,0 +1,20 @@
0
+#!/bin/bash -e
1
+
2
+
3
+# Sed to process GitHub Markdown
4
+# 1-2 Remove comment code from metadata block
5
+# 
6
+for i in ls -l /docs/content/*
7
+  do                 # Line breaks are important
8
+    if [ -d $i ]   # Spaces are important
9
+      then
10
+        y=${i##*/}
11
+        find $i -type f -name "*.md" -exec sed -i.old \
12
+        -e '/^<!.*metadata]>/g' \
13
+        -e '/^<!.*end-metadata.*>/g' {} \;
14
+    fi
15
+done
16
+
17
+
18
+
19
+
... ...
@@ -15,7 +15,9 @@ parent = "smn_applied"
15 15
 Docker allows you to run applications inside containers. Running an
16 16
 application inside a container takes a single command: `docker run`.
17 17
 
18
-{{ include "no-remote-sudo.md" }}
18
+> **Note:** if you are using a remote Docker daemon, such as Boot2Docker, 
19
+> then _do not_ type the `sudo` before the `docker` commands shown in the
20
+> documentation's examples.
19 21
 
20 22
 ## Hello world
21 23
 
... ...
@@ -1,6 +1,5 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-draft = true
4 3
 title = "The Docker user guide"
5 4
 description = "The Docker user guide home page"
6 5
 keywords = ["docker, introduction, documentation, about, technology, docker.io, user, guide, user's, manual, platform, framework, virtualization, home,  intro"]
... ...
@@ -1,11 +1,8 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-draft = true
4 3
 title = "Docker images test"
5 4
 description = "How to work with Docker images."
6 5
 keywords = ["documentation, docs, the docker guide, docker guide, docker, docker platform, virtualization framework, docker.io, Docker images, Docker image, image management, Docker repos, Docker repositories, docker, docker tag, docker tags, Docker Hub,  collaboration"]
7
-[menu.main]
8
-parent = "identifier"
9 6
 +++
10 7
 <![end-metadata]-->
11 8
 
... ...
@@ -1,11 +1,8 @@
1 1
 <!--[metadata]>
2 2
 +++
3
-draft = true
4 3
 title = "Docker images test"
5 4
 description = "How to work with Docker images."
6 5
 keywords = ["documentation, docs, the docker guide, docker guide, docker, docker platform, virtualization framework, docker.io, Docker images, Docker image, image management, Docker repos, Docker repositories, docker, docker tag, docker tags, Docker Hub,  collaboration"]
7
-[menu.main]
8
-parent = "identifier"
9 6
 +++
10 7
 <![end-metadata]-->
11 8