Browse code

Moving project to docker/opensource

Signed-off-by: Mary Anthony <mary@docker.com>
(cherry picked from commit e400125b662e6ea8605e05772ed79ea2781f6d17)

Mary Anthony authored on 2015/11/01 11:50:19
Showing 54 changed files
1 1
deleted file mode 100644
... ...
@@ -1,159 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Advanced contributing"
4
-description = "Explains workflows for refactor and design proposals"
5
-keywords = ["contribute, project, design, refactor,  proposal"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=6
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Advanced contributing
13
-
14
-In this section, you learn about the more advanced contributions you can make.
15
-They are advanced because they have a more involved workflow or require greater
16
-programming experience. Don't be scared off though, if you like to stretch and
17
-challenge yourself, this is the place for you.
18
-
19
-This section gives generalized instructions for advanced contributions. You'll
20
-read about the workflow but there are not specific descriptions of commands.
21
-Your goal should be to understand the processes described.
22
-
23
-At this point, you should have read and worked through the earlier parts of
24
-the project contributor guide. You should also have
25
-<a href="../make-a-contribution/" target="_blank"> made at least one project contribution</a>.
26
-
27
-## Refactor or cleanup proposal
28
-
29
-A refactor or cleanup proposal changes Docker's internal structure without
30
-altering the external behavior. To make this type of proposal:
31
-
32
-1. Fork `docker/docker`.
33
-
34
-2. Make your changes in a feature branch.
35
-
36
-3. Sync and rebase with `master` as you work.
37
-
38
-3. Run the full test suite.
39
-
40
-4. Submit your code through a pull request (PR).
41
-
42
-    The PR's title should have the format:
43
-
44
-    **Cleanup:** _short title_
45
-
46
-    If your changes required logic changes, note that in your request.
47
-	
48
-5. Work through Docker's review process until merge.
49
-
50
-
51
-## Design proposal
52
-
53
-A design proposal solves a problem or adds a feature to the Docker software.
54
-The process for submitting design proposals requires two pull requests, one
55
-for the design and one for the implementation.
56
-
57
-![Simple process](images/proposal.png)
58
-
59
-The important thing to notice is that both the design pull request and the
60
-implementation pull request go through a review. In other words, there is
61
-considerable time commitment in a design proposal; so, you might want to pair
62
-with someone on design work.
63
-
64
-The following provides greater detail on the process:
65
-
66
-1. Come up with an idea.
67
-
68
-    Ideas usually come from limitations users feel working with a product. So,
69
-    take some time to really use Docker. Try it on different platforms; explore
70
-    how it works with different web applications. Go to some community events
71
-    and find out what other users want.
72
-
73
-2. Review existing issues and proposals to make sure no other user is proposing a similar idea.
74
-
75
-    The design proposals are <a
76
-    href="https://github.com/docker/docker/pulls?q=is%3Aopen+is%3Apr+label%
77
-    3Akind%2Fproposal" target="_blank">all online in our GitHub pull requests</a>. 
78
-    
79
-3. Talk to the community about your idea.
80
-
81
-    We have lots of <a href="../get-help/" target="_blank">community forums</a>
82
-    where you can get feedback on your idea. Float your idea in a forum or two
83
-    to get some commentary going on it.
84
-
85
-4. Fork `docker/docker` and clone the repo to your local host.
86
-
87
-5. Create a new Markdown file in the area you wish to change.  
88
-
89
-    For example, if you want to redesign our daemon create a new file under the
90
-    `daemon/` folder. 
91
-
92
-6. Name the file descriptively, for example `redesign-daemon-proposal.md`.
93
-
94
-7. Write a proposal for your change into the file.
95
-
96
-    This is a Markdown file that describes your idea. Your proposal
97
-    should include information like:
98
-
99
-    * Why is this change needed or what are the use cases?
100
-    * What are the requirements this change should meet?
101
-    * What are some ways to design/implement this feature?
102
-    * Which design/implementation do you think is best and why?
103
-    * What are the risks or limitations of your proposal?
104
-
105
-    This is your chance to convince people your idea is sound. 
106
-
107
-8. Submit your proposal in a pull request to `docker/docker`.
108
-
109
-    The title should have the format:
110
-
111
-    **Proposal:** _short title_
112
-
113
-    The body of the pull request should include a brief summary of your change
114
-    and then say something like "_See the file for a complete description_".
115
-
116
-9. Refine your proposal through review.
117
-
118
-    The maintainers and the community review your proposal. You'll need to
119
-    answer questions and sometimes explain or defend your approach. This is
120
-    chance for everyone to both teach and learn.
121
-
122
-10. Pull request accepted.
123
-
124
-    Your request may also be rejected. Not every idea is a good fit for Docker.
125
-    Let's assume though your proposal succeeded. 
126
-
127
-11. Implement your idea.
128
-
129
-    Implementation uses all the standard practices of any contribution.
130
-
131
-    * fork `docker/docker`
132
-    * create a feature branch
133
-    * sync frequently back to master
134
-    * test as you go and full test before a PR
135
-
136
-    If you run into issues, the community is there to help.
137
-
138
-12. When you have a complete implementation, submit a pull request back to `docker/docker`.
139
-
140
-13. Review and iterate on your code.
141
-
142
-    If you are making a large code change, you can expect greater scrutiny
143
-    during this phase. 
144
-
145
-14. Acceptance and merge!
146
-
147
-## About the advanced process
148
-
149
-Docker is a large project. Our core team gets a great many design proposals.
150
-Design proposal discussions can span days, weeks, and longer. The number of comments can reach the 100s.
151
-In that situation, following the discussion flow and the decisions reached is crucial.
152
-
153
-Making a pull request with a design proposal simplifies this process:
154
-* you can leave comments on specific design proposal line
155
-* replies around line are easy to track
156
-* as a proposal changes and is updated, pages reset as line items resolve
157
-* GitHub maintains the entire history
158
-
159
-While proposals in pull requests do not end up merged into a master repository, they provide a convenient tool for managing the design process.
160 1
deleted file mode 100644
... ...
@@ -1,103 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Coding style checklist"
4
-description = "List of guidelines for coding Docker contributions"
5
-keywords = ["change, commit, squash, request, pull request, test, unit test, integration tests, Go, gofmt,  LGTM"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=7
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Coding style checklist
13
-
14
-This checklist summarizes the material you experienced working through [make a
15
-code contribution](make-a-contribution.md) and [advanced
16
-contributing](advanced-contributing.md). The checklist applies to both 
17
-program code and documentation code.
18
-
19
-## Change and commit code
20
-
21
-* Fork the `docker/docker` repository.
22
-
23
-* Make changes on your fork in a feature branch. Name your branch `XXXX-something`
24
-  where `XXXX` is the issue number you are working on.
25
-
26
-* Run `gofmt -s -w file.go` on each changed file before
27
-  committing your changes. Most editors have plug-ins that do this automatically.
28
-
29
-* Run `golint` on each changed file before
30
-  committing your changes.
31
-
32
-* Update the documentation when creating or modifying features. 
33
-
34
-* Commits that fix or close an issue should reference them in the commit message
35
-  `Closes #XXXX` or `Fixes #XXXX`. Mentions help by automatically closing the
36
-  issue on a merge.
37
-
38
-* After every commit, run the test suite and ensure it is passing.
39
-
40
-* Sync and rebase frequently as you code to keep up with `docker` master.
41
-
42
-* Set your `git` signature and make sure you sign each commit.
43
-
44
-* Do not add yourself to the `AUTHORS` file. This file is autogenerated from the
45
-  Git history.
46
-
47
-## Tests and testing
48
-
49
-* Submit unit tests for your changes. 
50
-
51
-* Make use of the builtin Go test framework built. 
52
-
53
-* Use existing Docker test files (`name_test.go`) for inspiration. 
54
-
55
-* Run <a href="../test-and-docs/" target="_blank">the full test suite</a> on your
56
-  branch before submitting a pull request.
57
-
58
-* Run `make docs` to build the documentation and then check it locally.
59
-
60
-* Use an <a href="http://www.hemingwayapp.com" target="_blank">online grammar
61
-  checker</a> or similar to test you documentation changes for clarity,
62
-  concision, and correctness.
63
-
64
-## Pull requests
65
-
66
-* Sync and cleanly rebase on top of Docker's `master` without multiple branches
67
-  mixed into the PR.
68
-
69
-* Before the pull request, squash your commits into logical units of work using
70
-  `git rebase -i` and `git push -f`. 
71
-
72
-* Include documentation changes in the same commit so that a revert would
73
-  remove all traces of the feature or fix.
74
-
75
-* Reference each issue in your pull request description (`#XXXX`)
76
-
77
-## Respond to pull requests reviews 
78
-
79
-* Docker maintainers use LGTM (**l**ooks-**g**ood-**t**o-**m**e) in PR comments
80
-  to indicate acceptance.
81
-
82
-* Code review comments may be added to your pull request. Discuss, then make
83
-  the suggested modifications and push additional commits to your feature
84
-  branch.
85
-
86
-* Incorporate changes on your feature branch and push to your fork. This
87
-  automatically updates your open pull request.
88
-
89
-* Post a comment after pushing to alert reviewers to PR changes; pushing a
90
-  change does not send notifications.
91
-
92
-* A change requires LGTMs from an absolute majority maintainers of an
93
-  affected component. For example, if you change `docs/` and `registry/` code,
94
-  an absolute majority of the `docs/` and the `registry/` maintainers must
95
-  approve your PR.
96
-
97
-## Merges after pull requests
98
-
99
-* After a merge, [a master build](https://master.dockerproject.org/) is
100
-  available almost immediately.
101
-
102
-* If you made a documentation change, you can see it at
103
-  [docs.master.dockerproject.org](http://docs.master.dockerproject.org/).
104 1
deleted file mode 100644
... ...
@@ -1,138 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Create a pull request (PR)"
4
-description = "Basic workflow for Docker contributions"
5
-keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=4
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Create a pull request (PR)
13
-
14
-A pull request (PR) sends your changes to the Docker maintainers for review. You
15
-create a pull request on GitHub. A pull request "pulls" changes from your forked
16
-repository into the `docker/docker` repository.
17
-
18
-You can see <a href="https://github.com/docker/docker/pulls" target="_blank">the
19
-list of active pull requests to Docker</a> on GitHub.
20
-
21
-## Check your work
22
-
23
-Before you create a pull request, check your work.
24
-
25
-1. In a terminal window, go to the root of your `docker-fork` repository. 
26
-
27
-        $ cd ~/repos/docker-fork
28
-
29
-2. Checkout your feature branch.
30
-
31
-        $ git checkout 11038-fix-rhel-link
32
-        Switched to branch '11038-fix-rhel-link'
33
-
34
-3. Run the full test suite on your branch.
35
-
36
-		$ make test
37
-
38
-	All the tests should pass. If they don't, find out why and correct the
39
-	situation. 
40
-    
41
-4. Optionally, if modified the documentation, build the documentation:
42
-
43
-		$ make docs
44
-
45
-5. Commit and push any changes that result from your checks.
46
-
47
-## Rebase your branch
48
-
49
-Always rebase and squash your commits before making a pull request. 
50
-
51
-1. Checkout your feature branch in your local `docker-fork` repository.
52
-
53
-    This is the branch associated with your request.
54
-
55
-2. Fetch any last minute changes from `docker/docker`.
56
-
57
-        $ git fetch upstream master
58
-        From github.com:docker/docker
59
-         * branch            master     -> FETCH_HEAD
60
-
61
-3. Start an interactive rebase.
62
-
63
-        $ git rebase -i upstream/master
64
-
65
-4. Rebase opens an editor with a list of commits.
66
-
67
-        pick 1a79f55 Tweak some of the other text for grammar
68
-        pick 53e4983 Fix a link
69
-        pick 3ce07bb Add a new line about RHEL
70
-
71
-5. Replace the `pick` keyword with `squash` on all but the first commit.
72
-
73
-        pick 1a79f55 Tweak some of the other text for grammar
74
-        squash 53e4983 Fix a link
75
-        squash 3ce07bb Add a new line about RHEL
76
-
77
-    After you save the changes and quit from the editor, git starts
78
-    the rebase, reporting the progress along the way. Sometimes
79
-    your changes can conflict with the work of others. If git
80
-    encounters a conflict, it stops the rebase, and prints guidance
81
-    for how to correct the conflict.
82
-
83
-6. Edit and save your commit message.
84
-
85
-        $ git commit -s
86
-
87
-    Make sure your message includes <a href="../set-up-git" target="_blank">your signature</a>.
88
-
89
-7. Force push any changes to your fork on GitHub.
90
-
91
-        $ git push -f origin 11038-fix-rhel-link
92
-        
93
-## Create a PR on GitHub
94
-
95
-You create and manage PRs on GitHub:
96
-
97
-1. Open your browser to your fork on GitHub.
98
-
99
-    You should see the latest activity from your branch.
100
-
101
-    ![Latest commits](images/latest_commits.png)
102
-
103
-
104
-2. Click "Compare & pull request."
105
-
106
-    The system displays the pull request dialog. 
107
-
108
-    ![PR dialog](images/to_from_pr.png)
109
-
110
-    The pull request compares your changes to the `master` branch on the
111
-    `docker/docker` repository.
112
-
113
-3. Edit the dialog's description and add a reference to the issue you are fixing.
114
-
115
-    GitHub helps you out by searching for the issue as you type.
116
-
117
-    ![Fixes issue](images/fixes_num.png)
118
-
119
-4. Scroll down and verify the PR contains the commits and changes you expect.
120
-
121
-    For example, is the file count correct? Are the changes in the files what
122
-    you expect?
123
-
124
-    ![Commits](images/commits_expected.png)
125
-
126
-5. Press "Create pull request".
127
-
128
-    The system creates the request and opens it for you in the `docker/docker`
129
-    repository.
130
-
131
-    ![Pull request made](images/pull_request_made.png)
132
-
133
-
134
-## Where to go next
135
-
136
-Congratulations, you've created your first pull request to Docker. The next
137
-step is for you learn how to [participate in your PR's
138
-review](review-pr.md).
139 1
deleted file mode 100644
... ...
@@ -1,283 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Style guide for Docker documentation"
4
-description = "Style guide for Docker documentation describing standards and conventions for contributors"
5
-keywords = ["style, guide, docker,  documentation"]
6
-[menu.main]
7
-parent = "mn_opensource"
8
-weight=100
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Docker documentation: style & grammar conventions
13
-
14
-## Style standards
15
-
16
-Over time, different publishing communities have written standards for the style
17
-and grammar they prefer in their publications. These standards are called
18
-[style guides](http://en.wikipedia.org/wiki/Style_guide). Generally, Docker’s
19
-documentation uses the standards described in the
20
-[Associated Press's (AP) style guide](http://en.wikipedia.org/wiki/AP_Stylebook). 
21
-If a question about syntactical, grammatical, or lexical practice comes up,
22
-refer to the AP guide first. If you don’t have a copy of (or online subscription
23
-to) the AP guide, you can almost always find an answer to a specific question by
24
-searching the web. If you can’t find an answer, please ask a
25
-[maintainer](https://github.com/docker/docker/blob/master/MAINTAINERS) and
26
-we will find the answer.
27
-
28
-That said, please don't get too hung up on using correct style. We'd rather have
29
-you submit good information that doesn't conform to the guide than no
30
-information at all. Docker's tech writers are always happy to help you with the
31
-prose, and we promise not to judge or use a red pen!
32
-
33
-> **Note:**
34
-> The documentation is written with paragraphs wrapped at 80 column lines to
35
-> make it easier for terminal use. You can probably set up your favorite text
36
-> editor to do this automatically for you.
37
-
38
-### Prose style
39
-
40
-In general, try to write simple, declarative prose. We prefer short,
41
-single-clause sentences and brief three-to-five sentence paragraphs. Try to
42
-choose vocabulary that is straightforward and precise. Avoid creating new terms,
43
-using obscure terms or, in particular, using a lot of jargon. For example, use
44
-"use" instead of leveraging "leverage".
45
-
46
-That said, don’t feel like you have to write for localization or for
47
-English-as-a-second-language (ESL) speakers specifically. Assume you are writing
48
-for an ordinary speaker of English with a basic university education. If your
49
-prose is simple, clear, and straightforward it will translate readily.
50
-
51
-One way to think about this is to assume Docker’s users are generally university
52
-educated and read at at least a "16th" grade level (meaning they have a
53
-university degree). You can use a [readability
54
-tester](https://readability-score.com/) to help guide your judgement. For
55
-example, the readability score for the phrase "Containers should be ephemeral"
56
-is around the 13th grade level (first year at university), and so is acceptable.
57
-
58
-In all cases, we prefer clear, concise communication over stilted, formal
59
-language. Don't feel like you have to write documentation that "sounds like
60
-technical writing."
61
-
62
-### Metaphor and figurative language
63
-
64
-One exception to the "don’t write directly for ESL" rule is to avoid the use of
65
-metaphor or other
66
-[figurative language](http://en.wikipedia.org/wiki/Literal_and_figurative_language) to
67
-describe things. There are too many cultural and social issues that can prevent
68
-a reader from correctly interpreting a metaphor.
69
-
70
-## Specific conventions
71
-
72
-Below are some specific recommendations (and a few deviations) from AP style
73
-that we use in our docs.
74
-
75
-### Contractions
76
-
77
-As long as your prose does not become too slangy or informal, it's perfectly
78
-acceptable to use contractions in our documentation. Make sure to use
79
-apostrophes correctly.
80
-
81
-### Use of dashes in a sentence.
82
-
83
-Dashes refers to the en dash (–) and the em dash (—). Dashes can be used to
84
-separate parenthetical material.
85
-
86
-Usage Example: This is an example of a Docker client – which uses the Big Widget
87
-to run – and does x, y, and z.
88
-
89
-Use dashes cautiously and consider whether commas or parentheses would work just
90
-as well. We always emphasize short, succinct sentences.
91
-
92
-More info from the always handy [Grammar Girl site](http://www.quickanddirtytips.com/education/grammar/dashes-parentheses-and-commas).
93
-
94
-### Pronouns
95
-
96
-It's okay to use first and second person pronouns, especially if it lets you avoid a passive construction. Specifically, always use "we" to
97
-refer to Docker and "you" to refer to the user. For example, "We built the
98
-`exec` command so you can resize a TTY session." That said, in general, try to write simple, imperative sentences that avoid the use of pronouns altogether. Say "Now, enter your SSH key" rather than "You can now enter your SSH key."
99
-
100
-As much as possible, avoid using gendered pronouns ("he" and "she", etc.).
101
-Either recast the sentence so the pronoun is not needed or, less preferably,
102
-use "they" instead. If you absolutely can't get around using a gendered pronoun,
103
-pick one and stick to it. Which one you choose is up to you. One common
104
-convention is to use the pronoun of the author's gender, but if you prefer to
105
-default to "he" or "she", that's fine too.
106
-
107
-### Capitalization 
108
-
109
-#### In general
110
-
111
-Only proper nouns should be capitalized in body text. In general, strive to be
112
-as strict as possible in applying this rule. Avoid using capitals for emphasis
113
-or to denote "specialness".
114
-
115
-The word "Docker" should always be capitalized when referring to either the
116
-company or the technology. The only exception is when the term appears in a code
117
-sample.
118
-
119
-#### Starting sentences
120
-
121
-Because code samples should always be written exactly as they would appear
122
-on-screen, you should avoid starting sentences with a code sample.
123
-
124
-#### In headings
125
-
126
-Headings take sentence capitalization, meaning that only the first letter is
127
-capitalized (and words that would normally be capitalized in a sentence, e.g.,
128
-"Docker"). Do not use Title Case (i.e., capitalizing every word) for headings. Generally, we adhere to [AP style
129
-for titles](http://www.quickanddirtytips.com/education/grammar/capitalizing-titles).
130
-
131
-### Periods
132
-
133
-We prefer one space after a period at the end of a sentence, not two. 
134
-
135
-See [lists](#lists) below for how to punctuate list items.
136
-
137
-### Abbreviations and acronyms
138
-
139
-* Exempli gratia (e.g.) and id est ( i.e.): these should always have periods and
140
-are always followed by a comma.
141
-
142
-* Acronyms are pluralized by simply adding "s", e.g., PCs, OSs.
143
-
144
-* On first use on a given page, the complete term should be used, with the
145
-abbreviation or acronym in parentheses. E.g., Red Hat Enterprise Linux (RHEL).
146
-The exception is common, non-technical acronyms like AKA or ASAP. Note that
147
-acronyms other than i.e. and e.g. are capitalized.
148
-
149
-* Other than "e.g." and "i.e." (as discussed above), acronyms do not take
150
-periods, PC not P.C.
151
-
152
-
153
-### Lists
154
-
155
-When writing lists, keep the following in mind:
156
-
157
-Use bullets when the items being listed are independent of each other and the
158
-order of presentation is not important.
159
-
160
-Use numbers for steps that have to happen in order or if you have mentioned the
161
-list in introductory text. For example, if you wrote "There are three config
162
-settings available for SSL, as follows:", you would number each config setting
163
-in the subsequent list.
164
-
165
-In all lists, if an item is a complete sentence, it should end with a
166
-period. Otherwise, we prefer no terminal punctuation for list items.
167
-Each item in a list should start with a capital.
168
-
169
-### Numbers
170
-
171
-Write out numbers in body text and titles from one to ten. From 11 on, use numerals.
172
-
173
-### Notes
174
-
175
-Use notes sparingly and only to bring things to the reader's attention that are
176
-critical or otherwise deserving of being called out from the body text. Please
177
-format all notes as follows:
178
-
179
-    > **Note:**
180
-    > One line of note text
181
-    > another line of note text
182
-
183
-### Avoid excess use of "i.e."
184
-
185
-Minimize your use of "i.e.". It can add an unnecessary interpretive burden on
186
-the reader. Avoid writing "This is a thing, i.e., it is like this". Just
187
-say what it is: "This thing is …"
188
-
189
-### Preferred usages
190
-
191
-#### Login vs. log in. 
192
-
193
-A "login" is a noun (one word), as in "Enter your login". "Log in" is a compound
194
-verb (two words), as in "Log in to the terminal".
195
-
196
-### Oxford comma
197
-
198
-One way in which we differ from AP style is that Docker’s docs use the [Oxford
199
-comma](http://en.wikipedia.org/wiki/Serial_comma) in all cases. That’s our
200
-position on this controversial topic, we won't change our mind, and that’s that!
201
-
202
-### Code and UI text styling
203
-
204
-We require `code font` styling (monospace, sans-serif) for all text that refers
205
-to a command or other input or output from the CLI. This includes file paths
206
-(e.g., `/etc/hosts/docker.conf`). If you enclose text in backticks (`) markdown
207
-will style the text as code. 
208
-
209
-Text from a CLI should be quoted verbatim, even if it contains errors or its
210
-style contradicts this guide. You can add "(sic)" after the quote to indicate
211
-the errors are in the quote and are not errors in our docs.
212
-
213
-Text taken from a GUI (e.g., menu text or button text) should appear in "double
214
-quotes". The text should take the exact same capitalisation, etc. as appears in
215
-the GUI. E.g., Click "Continue" to save the settings.
216
-
217
-Text that refers to a keyboard command or hotkey is capitalized (e.g., Ctrl-D).
218
-
219
-When writing CLI examples, give the user hints by making the examples resemble
220
-exactly what they see in their shell: 
221
-
222
-* Indent shell examples by 4 spaces so they get rendered as code blocks.
223
-* Start typed commands with `$ ` (dollar space), so that they are easily
224
-  differentiated from program output.
225
-* Program output has no prefix.
226
-* Comments begin with # (hash space).
227
-* In-container shell commands, begin with `$$ ` (dollar dollar space).
228
-
229
-Please test all code samples to ensure that they are correct and functional so
230
-that users can successfully cut-and-paste samples directly into the CLI.
231
-
232
-## Pull requests
233
-
234
-The pull request (PR) process is in place so that we can ensure changes made to
235
-the docs are the best changes possible. A good PR will do some or all of the
236
-following:
237
-
238
-* Explain why the change is needed
239
-* Point out potential issues or questions
240
-* Ask for help from experts in the company or the community
241
-* Encourage feedback from core developers and others involved in creating the
242
-  software being documented.
243
-
244
-Writing a PR that is singular in focus and has clear objectives will encourage
245
-all of the above. Done correctly, the process allows reviewers (maintainers and
246
-community members) to validate the claims of the documentation and identify
247
-potential problems in communication or presentation. 
248
-
249
-### Commit messages
250
-
251
-In order to write clear, useful commit messages, please follow these
252
-[recommendations](http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message).
253
-
254
-## Links
255
-
256
-For accessibility and usability reasons, avoid using phrases such as "click
257
-here" for link text. Recast your sentence so that the link text describes the
258
-content of the link, as we did in the
259
-["Commit messages" section](#commit-messages) above.
260
-
261
-You can use relative links (../linkeditem) to link to other pages in Docker's
262
-documentation.
263
-
264
-## Graphics
265
-
266
-When you need to add a graphic, try to make the file-size as small as possible.
267
-If you need help reducing file-size of a high-resolution image, feel free to
268
-contact us for help.
269
-Usually, graphics should go in the same directory as the .md file that
270
-references them, or in a subdirectory for images if one already exists.
271
-
272
-The preferred file format for graphics is PNG, but GIF and JPG are also
273
-acceptable. 
274
-
275
-If you are referring to a specific part of the UI in an image, use
276
-call-outs (circles and arrows or lines) to highlight what you’re referring to.
277
-Line width for call-outs should not exceed five pixels. The preferred color for
278
-call-outs is red.
279
-
280
-Be sure to include descriptive alt-text for the graphic. This greatly helps
281
-users with accessibility issues.
282
-
283
-Lastly, be sure you have permission to use any included graphics.
284 1
\ No newline at end of file
285 2
deleted file mode 100644
... ...
@@ -1,237 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Find and claim an issue"
4
-description = "Basic workflow for Docker contributions"
5
-keywords = ["contribute, issue, review, workflow, beginner, expert, squash, commit"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=2
9
-+++
10
-<![end-metadata]-->
11
-
12
-<style type="text/css">
13
-
14
-.gh-label {
15
-    display: inline-block;
16
-    padding: 3px 4px;
17
-    font-size: 12px;
18
-    font-weight: bold;
19
-    line-height: 1;
20
-    color: #fff;
21
-    border-radius: 2px;
22
-    box-shadow: inset 0 -1px 0 rgba(0,0,0,0.12);
23
-}
24
-.gh-label.beginner { background-color: #B5E0B5; color: #333333; }
25
-.gh-label.expert { background-color: #599898; color: #ffffff; }
26
-.gh-label.master { background-color: #306481; color: #ffffff; }
27
-.gh-label.novice { background-color: #D6F2AC; color: #333333; }
28
-.gh-label.proficient { background-color: #8DC7A9; color: #333333; }
29
-.gh-label.bug { background-color: #FF9DA4; color: #333333; }
30
-.gh-label.cleanup { background-color: #FFB7B3; color: #333333; }
31
-.gh-label.content { background-color: #CDD3C2; color: #333333; }
32
-.gh-label.feature { background-color: #B7BEB7; color: #333333; }
33
-.gh-label.graphics { background-color: #E1EFCB; color: #333333; }
34
-.gh-label.improvement { background-color: #EBD2BB; color: #333333; }
35
-.gh-label.proposal { background-color: #FFD9C0; color: #333333; }
36
-.gh-label.question { background-color: #EEF1D1; color: #333333; }
37
-.gh-label.usecase { background-color: #F0E4C2; color: #333333; }
38
-.gh-label.writing { background-color: #B5E9D5; color: #333333; }
39
-
40
-</style>
41
-
42
-
43
-# Find and claim an issue
44
-
45
-On this page, you choose the issue you want to work on. As a contributor, you can work
46
-on whatever you want. If you are new to contributing, you should start by
47
-working with our known issues.
48
-
49
-## Understand the issue types
50
-
51
-An existing issue is something reported by a Docker user. As issues come in,
52
-our maintainers triage them. Triage is its own topic. For now, it is important
53
-for you to know that triage includes ranking issues according to difficulty. 
54
-
55
-Triaged issues have one of these labels:
56
-
57
-<table class="tg">
58
-  <thead>
59
-    <tr>
60
-      <td class="tg-031e">Label</td>
61
-      <td class="tg-031e">Experience level guideline</td>
62
-    </tr>
63
-  </thead>
64
-  <tbody>
65
-    <tr>
66
-      <td class="tg-031e"><strong class="gh-label beginner">exp/beginner</strong></td>
67
-      <td class="tg-031e">You have made less than ten contributions in your life time to any open source project.</td>
68
-    </tr>
69
-    <tr>
70
-      <td class="tg-031e"><strong class="gh-label novice">exp/novice</strong></td>
71
-      <td class="tg-031e">You have made more than ten contributions to an open source project or at least 5 contributions to Docker.  </td>
72
-    </tr>
73
-    <tr>
74
-      <td class="tg-031e"><strong class="gh-label proficient">exp/proficient</strong></td>
75
-      <td class="tg-031e">You have made more than five contributions to Docker which amount to at least 200 code lines or 1000 documentation lines. </td>
76
-    </tr>
77
-    <tr>
78
-      <td class="tg-031e"><strong class="gh-label expert">exp/expert</strong></td>
79
-      <td class="tg-031e">You have made less than 20 commits to Docker which amount to 500-1000 code lines or 1000-3000 documentation lines. </td>
80
-    </tr>
81
-    <tr>
82
-      <td class="tg-031e"><strong class="gh-label master">exp/master</strong></td>
83
-      <td class="tg-031e">You have made more than 20 commits to Docker and greater than 1000 code lines or 3000 documentation lines.</td>
84
-    </tr>
85
-  </tbody>
86
-</table>
87
-
88
-These labels are guidelines. You might have written a whole plugin for Docker in a personal 
89
-project and never contributed to Docker. With that kind of experience, you could take on an <strong
90
-class="gh-label expert">exp/expert</strong> or <strong class="gh-label
91
-master">exp/master</strong> level issue.
92
-
93
-## Claim a beginner or novice issue
94
-
95
-To claim an issue:
96
-
97
-1. Go to the `docker/docker` <a
98
-	href="https://github.com/docker/docker" target="_blank">repository</a>.
99
-
100
-2. Click the "Issues" link.
101
-
102
-    A list of the open issues appears. 
103
-
104
-    ![Open issues](images/issue_list.png)
105
-
106
-3. From the "Labels" drop-down, select <strong class="gh-label beginner">exp/beginner</strong>.
107
-
108
-    The system filters to show only open <strong class="gh-label beginner">exp/beginner</strong> issues.
109
-
110
-4. Open an issue that interests you.
111
-
112
-    The comments on the issues describe the problem and can provide information for a potential 
113
-    solution.
114
-
115
-5. When you find an open issue that both interests you and is unclaimed, add a
116
-`#dibs` comment. Make sure that no other user has chosen to work on the issue.
117
-
118
-    The project does not permit external contributors to assign issues to themselves. Read 
119
-    the comments to find if a user claimed the issue by leaving a
120
-    `#dibs` comment on the issue.
121
-
122
-7. Your issue # will be different depending on what you claimed. After a moment, Gordon the Docker 
123
-bot, changes the issue status to claimed. The following example shows issue #11038.
124
-
125
-    ![Easy issue](images/easy_issue.png)
126
-
127
-8. Make a note of the issue number; you will need it for later. 
128
-
129
-## Sync your fork and create a new branch
130
-
131
-If you have followed along in this guide, you forked the `docker/docker`
132
-repository. Maybe that was an hour ago or a few days ago. In any case, before
133
-you start working on your issue, sync your repository with the upstream
134
-`docker/docker` master. Syncing ensures your repository has the latest
135
-changes.
136
-
137
-To sync your repository:
138
-
139
-1. Open a terminal on your local host.
140
-
141
-2. Change directory to the `docker-fork` root.
142
-
143
-        $ cd ~/repos/docker-fork
144
-
145
-3. Checkout the master branch.
146
-
147
-        $ git checkout master
148
-        Switched to branch 'master'
149
-        Your branch is up-to-date with 'origin/master'.
150
-
151
-    Recall that `origin/master` is a branch on your remote GitHub repository.
152
-
153
-4. Make sure you have the upstream remote `docker/docker` by listing them.
154
-
155
-        $ git remote -v
156
-        origin	https://github.com/moxiegirl/docker.git (fetch)
157
-        origin	https://github.com/moxiegirl/docker.git (push)
158
-        upstream	https://github.com/docker/docker.git (fetch)
159
-        upstream	https://github.com/docker/docker.git (push)
160
-
161
-    If the `upstream` is missing, add it.
162
-
163
-        $ git remote add upstream https://github.com/docker/docker.git
164
-
165
-5. Fetch all the changes from the `upstream master` branch.
166
-
167
-        $ git fetch upstream master
168
-        remote: Counting objects: 141, done.
169
-        remote: Compressing objects: 100% (29/29), done.
170
-        remote: Total 141 (delta 52), reused 46 (delta 46), pack-reused 66
171
-        Receiving objects: 100% (141/141), 112.43 KiB | 0 bytes/s, done.
172
-        Resolving deltas: 100% (79/79), done.
173
-	    From github.com:docker/docker
174
-	     * branch            master     -> FETCH_HEAD
175
-
176
-    This command says get all the changes from the `master` branch belonging to
177
-    the `upstream` remote.
178
-
179
-7. Rebase your local master with the `upstream/master`.
180
-
181
-        $ git rebase upstream/master
182
-        First, rewinding head to replay your work on top of it...
183
-        Fast-forwarded master to upstream/master.
184
-
185
-    This command applies all the commits from the upstream master to your local
186
-    master.
187
-
188
-8.  Check the status of your local branch.
189
-
190
-        $ git status
191
-        On branch master
192
-        Your branch is ahead of 'origin/master' by 38 commits.
193
-          (use "git push" to publish your local commits)
194
-        nothing to commit, working directory clean
195
-
196
-    Your local repository now has all the changes from the `upstream` remote. You 
197
-    need to push the changes to your own remote fork which is `origin master`.
198
-
199
-9. Push the rebased master to `origin master`.
200
-
201
-        $ git push origin master
202
-        Username for 'https://github.com': moxiegirl
203
-        Password for 'https://moxiegirl@github.com': 
204
-        Counting objects: 223, done.
205
-        Compressing objects: 100% (38/38), done.
206
-        Writing objects: 100% (69/69), 8.76 KiB | 0 bytes/s, done.
207
-        Total 69 (delta 53), reused 47 (delta 31)
208
-        To https://github.com/moxiegirl/docker.git
209
-           8e107a9..5035fa1  master -> master
210
-
211
-9. Create a new feature branch to work on your issue.
212
-
213
-    Your branch name should have the format `XXXX-descriptive` where `XXXX` is
214
-    the issue number you are working on. For example:
215
-
216
-        $ git checkout -b 11038-fix-rhel-link
217
-        Switched to a new branch '11038-fix-rhel-link'
218
-
219
-    Your branch should be up-to-date with the `upstream/master`. Why? Because you
220
-    branched off a freshly synced master.  Let's check this anyway in the next
221
-    step.
222
-
223
-9. Rebase your branch from upstream/master.
224
-
225
-        $ git rebase upstream/master
226
-        Current branch 11038-fix-rhel-link is up to date.
227
-
228
-    At this point, your local branch, your remote repository, and the Docker
229
-    repository all have identical code. You are ready to make changes for your
230
-    issue.
231
-
232
-
233
-## Where to go next
234
-
235
-At this point, you know what you want to work on and you have a branch to do
236
-your work in.  Go onto the next section to learn [how to work on your
237
-changes](work-issue.md).
238 1
deleted file mode 100644
... ...
@@ -1,224 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Where to chat or get help"
4
-description = "Describes Docker's communication channels"
5
-keywords = ["IRC, Google group, Twitter, blog,  Stackoverflow"]
6
-[menu.main]
7
-parent = "mn_opensource"
8
-+++
9
-<![end-metadata]-->
10
-
11
-<style type="text/css">
12
-/* @TODO add 'no-zebra' table-style to the docs-base stylesheet */
13
-/* Table without "zebra" striping */
14
-.content-body table.no-zebra tr {
15
-  background-color: transparent;
16
-}
17
-</style>
18
-
19
-# Where to chat or get help
20
-
21
-There are several communications channels you can use to chat with Docker
22
-community members and developers.
23
-
24
-<table>
25
-  <col width="25%">
26
-  <col width="75%">
27
-  <tr>
28
-    <td>Internet Relay Chat (IRC)</th>
29
-    <td>
30
-      <p>
31
-        IRC a direct line to our most knowledgeable Docker users.
32
-        The <code>#docker</code> and <code>#docker-dev</code> group on 
33
-        <strong>chat.freenode.net</strong>. IRC was first created in 1988. 
34
-        So, it is a rich chat protocol but it can overwhelm new users. You can search
35
-        <a href="https://botbot.me/freenode/docker/#" target="_blank">our chat archives</a>.
36
-      </p>
37
-      Use our IRC quickstart guide below for easy ways to get started with IRC.
38
-    </td>
39
-  </tr>
40
-  <tr>
41
-    <td>Google Groups</td>
42
-    <td>
43
-      There are two groups.
44
-      <a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
45
-      is for people using Docker containers. 
46
-      The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a> 
47
-      group is for contributors and other people contributing to the Docker 
48
-      project.
49
-    </td>
50
-  </tr>
51
-  <tr>
52
-    <td>Twitter</td>
53
-    <td>
54
-      You can follow <a href="https://twitter.com/docker/" target="_blank">Docker's twitter</a>
55
-      to get updates on our products. You can also tweet us questions or just 
56
-      share blogs or stories.
57
-    </td>
58
-  </tr>
59
-  <tr>
60
-    <td>Stack Overflow</td>
61
-    <td>
62
-      Stack Overflow has over 7000K Docker questions listed. We regularly 
63
-      monitor <a href="http://stackoverflow.com/search?tab=newest&q=docker" target="_blank">Docker questions</a>
64
-      and so do many other knowledgeable Docker users.
65
-    </td>
66
-  </tr>
67
-</table>
68
-
69
-
70
-# IRC Quickstart 
71
-
72
-The following instructions show you how to register with two web based IRC
73
-tools. Use one illustrated here or find another. While these instructions are
74
-only for two IRC web clients there are many IRC Clients available on most
75
-platforms.
76
-
77
-## Webchat 
78
-
79
-Using Webchat from Freenode.net is a quick and easy way to get chatting. To
80
-register:
81
-
82
-1. In your browser open <a href="https://webchat.freenode.net" target="_blank">https://webchat.freenode.net</a>
83
-
84
-    ![Login to webchat screen](images/irc_connect.png)
85
-
86
-2. Fill out the form.
87
-
88
-    <table class="no-zebra" style="width: auto">
89
-      <tr>
90
-        <td><b>Nickname</b></td>
91
-        <td>The short name you want to be known as on IRC chat channels.</td>
92
-      </tr>
93
-      <tr>
94
-        <td><b>Channels</b></td>
95
-        <td><code>#docker</code></td>
96
-      </tr>
97
-      <tr>
98
-        <td><b>reCAPTCHA</b></td>
99
-        <td>Use the value provided.</td>
100
-      </tr>
101
-    </table>
102
-
103
-3. Click on the "Connect" button.
104
-
105
-    The browser connects you to Webchat. You'll see a lot of text. At the bottom of
106
-    the Webchat web page is a command line bar. Just above the command line bar
107
-    a message is shown asking you to register.
108
-
109
-    ![Registration needed screen](images/irc_after_login.png)
110
-
111
-4. Register your nickname by entering the following command in the
112
-command line bar:
113
-
114
-        /msg NickServ REGISTER yourpassword youremail@example.com
115
-
116
-    ![Registering screen](images/register_nic.png)
117
-
118
-    This command line bar is also the entry field that you will use for entering 
119
-    chat messages into IRC chat channels after you have registered and joined a
120
-    chat channel. 
121
-    
122
-    After entering the REGISTER command, an email is sent to the email address
123
-    that you provided. This email will contain instructions for completing
124
-    your registration.
125
-
126
-5. Open your email client and look for the email.
127
-
128
-    ![Login screen](images/register_email.png)
129
-
130
-6. Back in the browser, complete the registration according to the email
131
-by entering the following command into the webchat command line bar:
132
-
133
-        /msg NickServ VERIFY REGISTER yournickname somecode
134
-
135
-    Your nickname is now registered to chat on freenode.net.
136
-
137
-[Jump ahead to tips to join a docker channel and start chatting](#tips)  
138
-
139
-## IRCCloud
140
-
141
-IRCCloud is a web-based IRC client service that is hosted in the cloud. This is
142
-a Freemium product, meaning the free version is limited and you can pay for more
143
-features. To use IRCCloud:
144
-
145
-1. Select the following link:
146
-  <a href="https://www.irccloud.com/invite?channel=%23docker&amp;hostname=chat.freenode.net&amp;port=6697" target="_blank">Join the #docker channel on chat.freenode.net</a>
147
-
148
-    The following web page is displayed in your browser:
149
-
150
-    ![IRCCloud Register screen](images/irccloud-join.png)
151
-  
152
-2. If this is your first time using IRCCloud enter a valid email address in the
153
-form. People who have already registered with IRCCloud can select the "sign in
154
-here" link. Additionally, people who are already registered with IRCCloud may
155
-have a cookie stored on their web browser that enables a quick start "let's go"
156
-link to be shown instead of the above form. In this case just select the
157
-"let's go" link and [jump ahead to start chatting](#start-chatting)
158
-
159
-3. After entering your email address in the form, check your email for an invite
160
-from IRCCloud and follow the instructions provided in the email. 
161
-
162
-4. After following the instructions in your email you should have an IRCCloud
163
-Client web page in your browser:
164
-
165
-    ![IRCCloud](images/irccloud-register-nick.png)
166
-
167
-    The message shown above may appear indicating that you need to register your
168
-    nickname. 
169
-
170
-5. To register your nickname enter the following message into the command line bar
171
-at the bottom of the IRCCloud Client:
172
-        
173
-        /msg NickServ REGISTER yourpassword youremail@example.com
174
-
175
-    This command line bar is for chatting and entering in IRC commands.
176
-
177
-6. Check your email for an invite to freenode.net:
178
-
179
-    ![Login screen](images/register_email.png)
180
-
181
-7. Back in the browser, complete the registration according to the email.
182
-
183
-        /msg NickServ VERIFY REGISTER yournickname somecode
184
-
185
-## Tips
186
-
187
-The procedures in this section apply to both IRC clients.
188
-
189
-### Set a nickname 
190
-
191
-Next time you return to log into chat, you may need to re-enter your password 
192
-on the command line using this command:
193
-
194
-      /msg NickServ identify <password>
195
-
196
-With Webchat if you forget or lose your password see <a
197
-href="https://freenode.net/faq.shtml#sendpass" target="_blank">the FAQ on
198
-freenode.net</a> to learn how to recover it.
199
-
200
-### Join a Docker Channel
201
-
202
-Join the `#docker` group using the following command in the command line bar of
203
-your IRC Client:
204
-
205
-        /j #docker
206
-
207
-You can also join the `#docker-dev` group:
208
-
209
-        /j #docker-dev
210
-
211
-### Start chatting
212
-
213
-To ask questions to the group just type messages in the command line bar:
214
-
215
-  ![Web Chat Screen](images/irc_chat.png)
216
-
217
-## Learning more about IRC
218
-
219
-This quickstart was meant to get you up and into IRC very quickly. If you find 
220
-IRC useful there is more to learn. Drupal, another open source project, 
221
-has <a href="https://www.drupal.org/irc/setting-up" target="_blank">
222
-written some documentation about using IRC</a> for their project 
223
-(thanks Drupal!).
224
-
225 1
deleted file mode 100644
226 2
Binary files a/docs/project/images/box.png and /dev/null differ
227 3
deleted file mode 100644
228 4
Binary files a/docs/project/images/branch-sig.png and /dev/null differ
229 5
deleted file mode 100644
230 6
Binary files a/docs/project/images/checked.png and /dev/null differ
231 7
deleted file mode 100644
232 8
Binary files a/docs/project/images/commits_expected.png and /dev/null differ
233 9
deleted file mode 100644
234 10
Binary files a/docs/project/images/contributor-edit.png and /dev/null differ
235 11
deleted file mode 100644
236 12
Binary files a/docs/project/images/copy_url.png and /dev/null differ
237 13
deleted file mode 100644
238 14
Binary files a/docs/project/images/easy_issue.png and /dev/null differ
239 15
deleted file mode 100644
240 16
Binary files a/docs/project/images/existing_issue.png and /dev/null differ
241 17
deleted file mode 100644
242 18
Binary files a/docs/project/images/existing_issue.snagproj and /dev/null differ
243 19
deleted file mode 100644
244 20
Binary files a/docs/project/images/fixes_num.png and /dev/null differ
245 21
deleted file mode 100644
246 22
Binary files a/docs/project/images/fork_docker.png and /dev/null differ
247 23
deleted file mode 100644
248 24
Binary files a/docs/project/images/fresh_container.png and /dev/null differ
249 25
deleted file mode 100644
250 26
Binary files a/docs/project/images/git_bash.png and /dev/null differ
251 27
deleted file mode 100644
252 28
Binary files a/docs/project/images/give_try.png and /dev/null differ
253 29
deleted file mode 100644
254 30
Binary files a/docs/project/images/gordon.jpeg and /dev/null differ
255 31
deleted file mode 100644
256 32
Binary files a/docs/project/images/in_room.png and /dev/null differ
257 33
deleted file mode 100644
258 34
Binary files a/docs/project/images/include_gcc.png and /dev/null differ
259 35
deleted file mode 100644
260 36
Binary files a/docs/project/images/irc_after_login.png and /dev/null differ
261 37
deleted file mode 100644
262 38
Binary files a/docs/project/images/irc_chat.png and /dev/null differ
263 39
deleted file mode 100644
264 40
Binary files a/docs/project/images/irc_connect.png and /dev/null differ
265 41
deleted file mode 100644
266 42
Binary files a/docs/project/images/irc_login.png and /dev/null differ
267 43
deleted file mode 100644
268 44
Binary files a/docs/project/images/irccloud-join.png and /dev/null differ
269 45
deleted file mode 100644
270 46
Binary files a/docs/project/images/irccloud-register-nick.png and /dev/null differ
271 47
deleted file mode 100644
272 48
Binary files a/docs/project/images/issue_list.png and /dev/null differ
273 49
deleted file mode 100644
274 50
Binary files a/docs/project/images/latest_commits.png and /dev/null differ
275 51
deleted file mode 100644
276 52
Binary files a/docs/project/images/list_example.png and /dev/null differ
277 53
deleted file mode 100644
278 54
Binary files a/docs/project/images/locate_branch.png and /dev/null differ
279 55
deleted file mode 100644
280 56
Binary files a/docs/project/images/path_variable.png and /dev/null differ
281 57
deleted file mode 100644
282 58
Binary files a/docs/project/images/proposal.png and /dev/null differ
283 59
deleted file mode 100644
284 60
Binary files a/docs/project/images/proposal.snagproj and /dev/null differ
285 61
deleted file mode 100644
286 62
Binary files a/docs/project/images/pull_request_made.png and /dev/null differ
287 63
deleted file mode 100644
288 64
Binary files a/docs/project/images/red_notice.png and /dev/null differ
289 65
deleted file mode 100644
290 66
Binary files a/docs/project/images/register_email.png and /dev/null differ
291 67
deleted file mode 100644
292 68
Binary files a/docs/project/images/register_nic.png and /dev/null differ
293 69
deleted file mode 100644
294 70
Binary files a/docs/project/images/three_running.png and /dev/null differ
295 71
deleted file mode 100644
296 72
Binary files a/docs/project/images/three_terms.png and /dev/null differ
297 73
deleted file mode 100644
298 74
Binary files a/docs/project/images/to_from_pr.png and /dev/null differ
299 75
deleted file mode 100644
300 76
Binary files a/docs/project/images/windows-env-vars.png and /dev/null differ
301 77
deleted file mode 100644
302 78
Binary files a/docs/project/images/windows-mingw.png and /dev/null differ
303 79
deleted file mode 100644
... ...
@@ -1,41 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Understand how to contribute"
4
-description = "Explains basic workflow for Docker contributions"
5
-keywords = ["contribute, maintainers, review, workflow,  process"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-+++
9
-<![end-metadata]-->
10
-
11
-# Understand how to contribute
12
-
13
-Contributing is a process where you work with Docker maintainers and the
14
-community to improve Docker. The maintainers are experienced contributors
15
-who specialize in one or more Docker components. Maintainers play a big role
16
-in reviewing contributions.
17
-
18
-There is a formal process for contributing. We try to keep our contribution
19
-process simple so you'll want to contribute frequently.
20
-
21
-
22
-## The basic contribution workflow
23
-
24
-In this guide, you work through Docker's basic contribution workflow by fixing a
25
-single *beginner* issue in the `docker/docker` repository. The workflow
26
-for fixing simple issues looks like this:
27
-
28
-![Simple process](images/existing_issue.png)
29
-
30
-All Docker repositories have code and documentation. You use this same workflow
31
-for either content type. For example, you can find and fix doc or code issues.
32
-Also, you can propose a new Docker feature or propose a new Docker tutorial. 
33
-
34
-Some workflow stages do have slight differences for code or documentation
35
-contributions. When you reach that point in the flow, we make sure to tell you.
36
-
37
-
38
-## Where to go next
39
-
40
-Now that you know a little about the contribution process, go to the next section
41
-to [find an issue you want to work on](find-an-issue.md).
42 1
deleted file mode 100644
... ...
@@ -1,141 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Participate in the PR review"
4
-description = "Basic workflow for Docker contributions"
5
-keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=5
9
-+++
10
-<![end-metadata]-->
11
-
12
-
13
-# Participate in the PR review
14
-
15
-Creating a pull request is nearly the end of the contribution process. At this
16
-point, your code is reviewed both by our continuous integration (CI) systems and
17
-by our maintainers. 
18
-
19
-The CI system is an automated system. The maintainers are human beings that also
20
-work on Docker.  You need to understand and work with both the "bots" and the
21
-"beings" to review your contribution.
22
-
23
-
24
-## How we process your review
25
-
26
-First to review your pull request is Gordon. Gordon is fast. He checks your
27
-pull request (PR) for common problems like a missing signature. If Gordon finds a
28
-problem, he'll send an email through your GitHub user account:
29
-
30
-![Gordon](images/gordon.jpeg)
31
-
32
-Our build bot system starts building your changes while Gordon sends any emails. 
33
-
34
-The build system double-checks your work by compiling your code with Docker's master
35
-code. Building includes running the same tests you ran locally. If you forgot
36
-to run tests or missed something in fixing problems, the automated build is our
37
-safety check. 
38
-
39
-After Gordon and the bots, the "beings" review your work. Docker maintainers look
40
-at your pull request and comment on it. The shortest comment you might see is
41
-`LGTM` which means **l**ooks-**g**ood-**t**o-**m**e. If you get an `LGTM`, that
42
-is a good thing, you passed that review. 
43
-
44
-For complex changes, maintainers may ask you questions or ask you to change
45
-something about your submission. All maintainer comments on a PR go to the
46
-email address associated with your GitHub account. Any GitHub user who 
47
-"participates" in a PR receives an email to. Participating means creating or 
48
-commenting on a PR.
49
-
50
-Our maintainers are very experienced Docker users and open source contributors.
51
-So, they value your time and will try to work efficiently with you by keeping
52
-their comments specific and brief. If they ask you to make a change, you'll
53
-need to update your pull request with additional changes.
54
-
55
-## Update an existing pull request
56
-
57
-To update your existing pull request:
58
-
59
-1. Checkout the PR branch in your local `docker-fork` repository.  
60
-
61
-    This is the branch associated with your request.
62
-
63
-2. Change one or more files and then stage your changes.
64
-
65
-    The command syntax is:
66
-
67
-    	git add <path_or_filename>
68
-
69
-3. Commit the change.
70
-
71
-    	$ git commit --amend 
72
-
73
-    Git opens an editor containing your last commit message.
74
-
75
-4. Adjust your last comment to reflect this new change.
76
-
77
-        Added a new sentence per Anaud's suggestion	
78
-
79
-        Signed-off-by: Mary Anthony <mary@docker.com>
80
-
81
-        # Please enter the commit message for your changes. Lines starting
82
-        # with '#' will be ignored, and an empty message aborts the commit.
83
-        # On branch 11038-fix-rhel-link
84
-        # Your branch is up-to-date with 'origin/11038-fix-rhel-link'.
85
-        #
86
-        # Changes to be committed:
87
-        #		modified:   docs/installation/mac.md
88
-        #		modified:   docs/installation/rhel.md
89
-
90
-5. Force push the change to your origin.
91
-
92
-    The command syntax is:
93
-
94
-        git push -f origin <branch_name>
95
-
96
-6. Open your browser to your pull request on GitHub.
97
-
98
-    You should see your pull request now contains your newly pushed code.
99
-
100
-7. Add a comment to your pull request.
101
-
102
-    GitHub only notifies PR participants when you comment. For example, you can
103
-    mention that you updated your PR. Your comment alerts the maintainers that
104
-    you made an update.
105
-
106
-A change requires LGTMs from an absolute majority of an affected component's
107
-maintainers. For example, if you change `docs/` and `registry/` code, an
108
-absolute majority of the `docs/` and the `registry/` maintainers must approve
109
-your PR. Once you get approval, we merge your pull request into Docker's 
110
-`master` code branch. 
111
-
112
-## After the merge
113
-
114
-It can take time to see a merged pull request in Docker's official release. 
115
-A master build is available almost immediately though. Docker builds and
116
-updates its development binaries after each merge to `master`.
117
-
118
-1. Browse to <a href="https://master.dockerproject.org/" target="_blank">https://master.dockerproject.org/</a>.
119
-
120
-2. Look for the binary appropriate to your system.
121
-
122
-3. Download and run the binary.
123
-
124
-    You might want to run the binary in a container though. This
125
-    will keep your local host environment clean.
126
-
127
-4. View any documentation changes at <a href="http://docs.master.dockerproject.org/" target="_blank">docs.master.dockerproject.org</a>. 
128
-
129
-Once you've verified everything merged, feel free to delete your feature branch
130
-from your fork. For information on how to do this, 
131
-<a href="https://help.github.com/articles/deleting-unused-branches/" target="_blank">
132
-see the GitHub help on deleting branches</a>.  
133
-
134
-## Where to go next
135
-
136
-At this point, you have completed all the basic tasks in our contributors guide.
137
-If you enjoyed contributing, let us know by completing another beginner
138
-issue or two. We really appreciate the help. 
139
-
140
-If you are very experienced and want to make a major change, go on to 
141
-[learn about advanced contributing](advanced-contributing.md).
142 1
deleted file mode 100644
... ...
@@ -1,426 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Work with a development container"
4
-description = "How to use Docker's development environment"
5
-keywords = ["development, inception, container, image Dockerfile, dependencies, Go,  artifacts"]
6
-[menu.main]
7
-parent = "smn_develop"
8
-weight=5
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Work with a development container
13
-
14
-In this section, you learn to develop like a member of Docker's core team.
15
-The `docker` repository includes a `Dockerfile` at its root. This file defines
16
-Docker's development environment.  The `Dockerfile` lists the environment's
17
-dependencies: system libraries and binaries, Go environment, Go dependencies,
18
-etc. 
19
-
20
-Docker's development environment is itself, ultimately a Docker container.
21
-You use the `docker` repository and its `Dockerfile` to create a Docker image, 
22
-run a Docker container, and develop code in the container. Docker itself builds,
23
-tests, and releases new Docker versions using this container.
24
-
25
-If you followed the procedures that <a href="/engine/project/set-up-git" target="_blank">
26
-set up Git for contributing</a>, you should have a fork of the `docker/docker`
27
-repository. You also created a branch called `dry-run-test`. In this section,
28
-you continue working with your fork on this branch.
29
-
30
-##  Clean your host of Docker artifacts
31
-
32
-Docker developers run the latest stable release of the Docker software (with Docker Machine if their machine is Mac OS X). They clean their local
33
-hosts of unnecessary Docker artifacts such as stopped containers or unused
34
-images. Cleaning unnecessary artifacts isn't strictly necessary, but it is
35
-good practice, so it is included here.
36
-
37
-To remove unnecessary artifacts:
38
-
39
-1. Verify that you have no unnecessary containers running on your host.
40
-
41
-        $ docker ps
42
-
43
-    You should see something similar to the following:
44
-
45
-    <table class="code">
46
-      <tr>
47
-        <th>CONTAINER ID</th>
48
-        <th>IMAGE</th>
49
-        <th>COMMAND</th>
50
-        <th>CREATED</th>
51
-        <th>STATUS</th>
52
-        <th>PORTS</th>
53
-        <th>NAMES</th>
54
-      </tr>
55
-    </table>
56
-
57
-    There are no running containers on this host. If you have running but unused
58
-    containers, stop and then remove them with the `docker stop` and `docker rm`
59
-    commands.
60
-
61
-2. Verify that your host has no dangling images.
62
-
63
-        $ docker images
64
-
65
-    You should see something similar to the following:
66
-
67
-    <table class="code">
68
-      <tr>
69
-        <th>REPOSITORY</th>
70
-        <th>TAG</th>
71
-        <th>IMAGE ID</th>
72
-        <th>CREATED</th>
73
-        <th>VIRTUAL SIZE</th>
74
-      </tr>
75
-    </table>
76
-
77
-    This host has no images. You may have one or more _dangling_ images. A
78
-    dangling image is not used by a running container and is not an ancestor of
79
-    another image on your system. A fast way to remove dangling containers is
80
-    the following:
81
-
82
-        $ docker rmi -f $(docker images -q -a -f dangling=true)
83
-
84
-    This command uses `docker images` to list all images (`-a` flag) by numeric
85
-    IDs (`-q` flag) and filter them to find dangling images (`-f dangling=true`).
86
-    Then, the `docker rmi` command forcibly (`-f` flag) removes
87
-    the resulting list. To remove just one image, use the `docker rmi ID`
88
-    command.
89
-
90
-	
91
-## Build an image
92
-
93
-If you followed the last procedure, your host is clean of unnecessary images 
94
-and containers. In this section, you build an image from the Docker development
95
-environment.
96
-
97
-1. Open a terminal.
98
-
99
-    Mac users, use `docker-machine status your_vm_name` to make sure your VM is running. You
100
-    may need to run `eval "$(docker-machine env your_vm_name)"` to initialize your
101
-    shell environment.
102
-
103
-3. Change into the root of your forked repository.
104
-
105
-        $ cd ~/repos/docker-fork 
106
-        
107
-	If you are following along with this guide, you created a `dry-run-test`
108
-	branch when you <a href="/engine/project/set-up-git" target="_blank"> set up Git for
109
-	contributing</a>.
110
-
111
-4. Ensure you are on your `dry-run-test` branch.
112
-
113
-        $ git checkout dry-run-test
114
-        
115
-    If you get a message that the branch doesn't exist, add the `-b` flag (git checkout -b dry-run-test) so the
116
-    command both creates the branch and checks it out.
117
-
118
-5. Compile your development environment container into an image.
119
-
120
-        $ docker build -t dry-run-test .
121
-
122
-    The `docker build` command returns informational message as it runs. The
123
-    first build may take a few minutes to create an image. Using the
124
-    instructions in the `Dockerfile`, the build may need to download source and
125
-    other images. A successful build returns a final status message similar to
126
-    the following:
127
-
128
-        Successfully built 676815d59283
129
-
130
-6. List your Docker images again.
131
-
132
-        $ docker images
133
-
134
-    You should see something similar to this:
135
-
136
-    <table class="code">
137
-      <tr>
138
-        <th>REPOSTITORY</th>
139
-        <th>TAG</th>
140
-        <th>IMAGE ID</th>
141
-        <th>CREATED</th>
142
-        <th>VIRTUAL SIZE</th>
143
-      </tr>
144
-      <tr>
145
-        <td>dry-run-test</td>
146
-        <td>latest</td>
147
-        <td>663fbee70028</td>
148
-        <td>About a minute ago</td>
149
-        <td></td>
150
-      </tr>
151
-      <tr>
152
-        <td>ubuntu</td>
153
-        <td>trusty</td>
154
-        <td>2d24f826cb16</td>
155
-        <td>2 days ago</td>
156
-        <td>188.3 MB</td>
157
-      </tr>
158
-      <tr>
159
-        <td>ubuntu</td>
160
-        <td>trusty-20150218.1</td>
161
-        <td>2d24f826cb16</td>
162
-        <td>2 days ago</td>
163
-        <td>188.3 MB</td>
164
-      </tr>
165
-      <tr>
166
-        <td>ubuntu</td>
167
-        <td>14.04</td>
168
-        <td>2d24f826cb16</td>
169
-        <td>2 days ago</td>
170
-        <td>188.3 MB</td>
171
-      </tr>
172
-      <tr>
173
-        <td>ubuntu</td>
174
-        <td>14.04.2</td>
175
-        <td>2d24f826cb16</td>
176
-        <td>2 days ago</td>
177
-        <td>188.3 MB</td>
178
-      </tr>
179
-      <tr>
180
-        <td>ubuntu</td>
181
-        <td>latest</td>
182
-        <td>2d24f826cb16</td>
183
-        <td>2 days ago</td>
184
-        <td>188.3 MB</td>
185
-      </tr>
186
-    </table>
187
-
188
-    Locate your new `dry-run-test` image in the list. You should also see a
189
-    number of `ubuntu` images. The build process creates these. They are the
190
-    ancestors of your new Docker development image. When you next rebuild your
191
-    image, the build process reuses these ancestors images if they exist. 
192
-
193
-    Keeping the ancestor images improves the build performance. When you rebuild
194
-    the child image, the build process uses the local ancestors rather than
195
-    retrieving them from the Hub. The build process gets new ancestors only if
196
-    Docker Hub has updated versions.
197
-
198
-## Start a container and run a test
199
-
200
-At this point, you have created a new Docker development environment image. Now,
201
-you'll use this image to create a Docker container to develop in. Then, you'll
202
-build and run a `docker` binary in your container.
203
-
204
-1. Open two additional terminals on your host.
205
-
206
-    At this point, you'll have about three terminals open.
207
-
208
-    ![Multiple terminals](images/three_terms.png)
209
-
210
-    Mac OS X users, make sure you run `eval "$(docker-machine env your_vm_name)"` in
211
-    any new terminals.
212
-
213
-2. In a terminal, create a new container from your `dry-run-test` image.
214
-
215
-        $ docker run --privileged --rm -ti dry-run-test /bin/bash
216
-        root@5f8630b873fe:/go/src/github.com/docker/docker# 
217
-
218
-    The command creates a container from your `dry-run-test` image. It opens an
219
-    interactive terminal (`-ti`) running a `/bin/bash` shell.  The
220
-    `--privileged` flag gives the container access to kernel features and device
221
-    access. This flag allows you to run a container in a container.
222
-    Finally, the `-rm` flag instructs Docker to remove the container when you
223
-    exit the `/bin/bash` shell.
224
-
225
-    The container includes the source of your image repository in the
226
-    `/go/src/github.com/docker/docker` directory. Try listing the contents to
227
-    verify they are the same as that of your `docker-fork` repo.
228
-
229
-    ![List example](images/list_example.png)
230
-
231
-
232
-3. Investigate your container bit. 
233
-
234
-    If you do a `go version` you'll find the `go` language is part of the
235
-    container. 
236
-
237
-        root@31ed86e9ddcf:/go/src/github.com/docker/docker# go version
238
-        go version go1.4.2 linux/amd64
239
-
240
-    Similarly, if you do a `docker version` you find the container
241
-    has no `docker` binary. 
242
-
243
-        root@31ed86e9ddcf:/go/src/github.com/docker/docker# docker version
244
-        bash: docker: command not found
245
-
246
-    You will create one in the next steps.
247
-
248
-4. From the `/go/src/github.com/docker/docker` directory make a `docker` binary
249
-with the `make.sh` script.
250
-
251
-        root@5f8630b873fe:/go/src/github.com/docker/docker# hack/make.sh binary
252
-
253
-    You only call `hack/make.sh` to build a binary _inside_ a Docker
254
-    development container as you are now. On your host, you'll use `make`
255
-    commands (more about this later). 
256
-
257
-    As it makes the binary, the `make.sh` script reports the build's progress.
258
-    When the command completes successfully, you should see the following
259
-    output:
260
-
261
-	---> Making bundle: binary (in bundles/1.5.0-dev/binary)
262
-	Created binary: /go/src/github.com/docker/docker/bundles/1.5.0-dev/binary/docker-1.5.0-dev
263
-	
264
-5. List all the contents of the `binary` directory.
265
-
266
-        root@5f8630b873fe:/go/src/github.com/docker/docker#  ls bundles/1.5.0-dev/binary/
267
-        docker  docker-1.5.0-dev  docker-1.5.0-dev.md5  docker-1.5.0-dev.sha256
268
-
269
-    You should see that `binary` directory, just as it sounds, contains the
270
-    made binaries.
271
-
272
-
273
-6. Copy the `docker` binary to the `/usr/bin` of your container.
274
-
275
-        root@5f8630b873fe:/go/src/github.com/docker/docker#  cp bundles/1.5.0-dev/binary/docker /usr/bin
276
-
277
-7. Inside your container, check your Docker version.
278
-
279
-        root@5f8630b873fe:/go/src/github.com/docker/docker# docker --version
280
-        Docker version 1.5.0-dev, build 6e728fb
281
-
282
-    Inside the container you are running a development version. This is the version
283
-    on the current branch. It reflects the value of the `VERSION` file at the
284
-    root of your `docker-fork` repository.
285
-
286
-8. Start a `docker` daemon running inside your container.
287
-
288
-        root@5f8630b873fe:/go/src/github.com/docker/docker#  docker daemon -D
289
-
290
-    The `-D` flag starts the daemon in debug mode. You'll find this useful
291
-    when debugging your code.
292
-
293
-9. Bring up one of the terminals on your local host.
294
-
295
-
296
-10. List your containers and look for the container running the `dry-run-test` image.
297
-
298
-        $ docker ps
299
-
300
-    <table class="code">
301
-      <tr>
302
-        <th>CONTAINER ID</th>
303
-        <th>IMAGE</th>
304
-        <th>COMMAND</th>
305
-        <th>CREATED</th>
306
-        <th>STATUS</th>
307
-        <th>PORTS</th>
308
-        <th>NAMES</th>
309
-      </tr>
310
-      <tr>
311
-        <td>474f07652525</td>
312
-        <td>dry-run-test:latest</td>
313
-        <td>"hack/dind /bin/bash</td>
314
-        <td>14 minutes ago</td>
315
-        <td>Up 14 minutes</td>
316
-        <td></td>
317
-        <td>tender_shockley</td>
318
-      </tr>
319
-    </table>
320
-
321
-    In this example, the container's name is `tender_shockley`; yours will be
322
-    different.
323
-
324
-11. From the terminal, start another shell on your Docker development container.
325
-
326
-        $ docker exec -it tender_shockley bash
327
-
328
-    At this point, you have two terminals both with a shell open into your
329
-    development container. One terminal is running a debug session. The other
330
-    terminal is displaying a `bash` prompt.
331
-
332
-12. At the prompt, test the Docker client by running the `hello-world` container.	
333
-
334
-        root@9337c96e017a:/go/src/github.com/docker/docker#  docker run hello-world
335
-
336
-    You should see the image load and return. Meanwhile, you
337
-    can see the calls made via the debug session in your other terminal.
338
-
339
-    ![List example](images/three_running.png)
340
-
341
-
342
-## Restart a container with your source
343
-
344
-At this point, you have experienced the "Docker inception" technique. That is,
345
-you have:
346
-
347
-* built a Docker image from the Docker repository
348
-* created and started a Docker development container from that image
349
-* built a Docker binary inside of your Docker development container
350
-* launched a `docker` daemon using your newly compiled binary
351
-* called the `docker` client to run a `hello-world` container inside
352
-  your development container
353
-
354
-When you really get to developing code though, you'll want to iterate code
355
-changes and builds inside the container. For that you need to mount your local
356
-Docker repository source into your Docker container. Try that now.
357
-
358
-1. If you haven't already, exit out of BASH shells in your running Docker
359
-container.
360
-
361
-    If you have followed this guide exactly, exiting out your BASH shells stops
362
-    the running container. You can use the `docker ps` command to verify the
363
-    development container is stopped. All of your terminals should be at the
364
-    local host prompt.
365
-
366
-2. Choose a terminal and make sure you are in your `docker-fork` repository.
367
-
368
-        $ pwd
369
-        /Users/mary/go/src/github.com/moxiegirl/docker-fork
370
-
371
-    Your location will be different because it reflects your environment. 
372
-
373
-3. Create a container using `dry-run-test`, but this time, mount your repository
374
-onto the `/go` directory inside the container.
375
-
376
-        $  docker run --privileged --rm -ti -v `pwd`:/go/src/github.com/docker/docker dry-run-test /bin/bash
377
-
378
-    When you pass `pwd`, `docker` resolves it to your current directory.
379
-
380
-4. From inside the container, list your `binary` directory.
381
-
382
-        root@074626fc4b43:/go/src/github.com/docker/docker# ls bundles/1.5.0-dev/binary
383
-        ls: cannot access binary: No such file or directory
384
-
385
-    Your `dry-run-test` image does not retain any of the changes you made inside
386
-    the container.  This is the expected behavior for a container. 
387
-
388
-5. In a fresh terminal on your local host, change to the `docker-fork` root.
389
-
390
-        $ cd ~/repos/docker-fork/
391
-
392
-6. Create a fresh binary, but this time, use the `make` command.
393
-
394
-        $ make BINDDIR=. binary
395
-
396
-    The `BINDDIR` flag is only necessary on Mac OS X but it won't hurt to pass
397
-    it on Linux command line. The `make` command, like the `make.sh` script
398
-    inside the container, reports its progress. When the make succeeds, it
399
-    returns the location of the new binary.
400
-
401
-
402
-7. Back in the terminal running the container, list your `binary` directory.
403
-
404
-        root@074626fc4b43:/go/src/github.com/docker/docker# ls bundles/1.5.0-dev/binary
405
-        docker	docker-1.5.0-dev  docker-1.5.0-dev.md5	docker-1.5.0-dev.sha256 
406
-
407
-    The compiled binaries created from your repository on your local host are
408
-    now available inside your running Docker development container.
409
-
410
-8. Repeat the steps you ran in the previous procedure.
411
-
412
-    * copy the binary inside the development container using
413
-      `cp bundles/1.5.0-dev/binary/docker /usr/bin`
414
-    * start `docker daemon -D` to launch the Docker daemon inside the container
415
-    * run `docker ps` on local host to get the development container's name
416
-    * connect to your running container `docker exec -it container_name bash`
417
-    * use the `docker run hello-world` command to create and run a container 
418
-      inside your development container
419
-
420
-## Where to go next
421
-
422
-Congratulations, you have successfully achieved Docker inception. At this point,
423
-you've set up your development environment and verified almost all the essential
424
-processes you need to contribute. Of course, before you start contributing, 
425
-[you'll need to learn one more piece of the development environment, the test
426
-framework](test-and-docs.md).
427 1
deleted file mode 100644
... ...
@@ -1,248 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Configure Git for contributing"
4
-description = "Describes how to set up your local machine and repository"
5
-keywords = ["GitHub account, repository, clone, fork, branch, upstream, Git, Go, make "]
6
-[menu.main]
7
-parent = "smn_develop"
8
-weight=4
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Configure Git for contributing
13
-
14
-Work through this page to configure Git and a repository you'll use throughout
15
-the Contributor Guide. The work you do further in the guide, depends on the work
16
-you do here. 
17
-
18
-## Fork and clone the Docker code
19
-
20
-Before contributing, you first fork the Docker code repository. A fork copies
21
-a repository at a particular point in time. GitHub tracks for you where a fork
22
-originates.
23
-
24
-As you make contributions, you change your fork's code. When you are ready,
25
-you make a pull request back to the original Docker repository. If you aren't
26
-familiar with this workflow, don't worry, this guide walks you through all the
27
-steps. 
28
-
29
-To fork and clone Docker:
30
-
31
-1. Open a browser and log into GitHub with your account.
32
-
33
-2. Go to the <a href="https://github.com/docker/docker"
34
-target="_blank">docker/docker repository</a>.
35
-
36
-3. Click the "Fork" button in the upper right corner of the GitHub interface.
37
-
38
-    ![Branch Signature](images/fork_docker.png)
39
-
40
-    GitHub forks the repository to your GitHub account. The original
41
-    `docker/docker` repository becomes a new fork `YOUR_ACCOUNT/docker` under
42
-    your account.
43
-
44
-4. Copy your fork's clone URL from GitHub.
45
-
46
-    GitHub allows you to use HTTPS or SSH protocols for clones. You can use the
47
-    `git` command line or clients like Subversion to clone a repository. 
48
-
49
-    ![Copy clone URL](images/copy_url.png)
50
-
51
-    This guide assume you are using the HTTPS protocol and the `git` command
52
-    line. If you are comfortable with SSH and some other tool, feel free to use
53
-    that instead. You'll need to convert what you see in the guide to what is
54
-    appropriate to your tool.
55
-
56
-5. Open a terminal window on your local host and change to your home directory. 
57
-
58
-        $ cd ~
59
-        
60
-    In Windows, you'll work in your Docker Quickstart Terminal window instead of
61
-    Powershell or a `cmd` window.
62
-
63
-6. Create a `repos` directory.
64
-
65
-        $ mkdir repos
66
-
67
-7. Change into your `repos` directory.
68
-
69
-        $ cd repos
70
-
71
-5. Clone the fork to your local host into a repository called `docker-fork`.
72
-
73
-        $ git clone https://github.com/moxiegirl/docker.git docker-fork
74
-
75
-    Naming your local repo `docker-fork` should help make these instructions
76
-    easier to follow; experienced coders don't typically change the name.
77
-
78
-6. Change directory into your new `docker-fork` directory.
79
-
80
-        $ cd docker-fork
81
-
82
-    Take a moment to familiarize yourself with the repository's contents. List
83
-    the contents. 
84
-
85
-##  Set your signature and an upstream remote
86
-
87
-When you contribute to Docker, you must certify you agree with the 
88
-<a href="http://developercertificate.org/" target="_blank">Developer Certificate of Origin</a>.
89
-You indicate your agreement by signing your `git` commits like this:
90
-
91
-    Signed-off-by: Pat Smith <pat.smith@email.com>
92
-
93
-To create a signature, you configure your username and email address in Git.
94
-You can set these globally or locally on just your `docker-fork` repository.
95
-You must sign with your real name. We don't accept anonymous contributions or
96
-contributions through pseudonyms.
97
-
98
-As you change code in your fork, you'll want to keep it in sync with the changes
99
-others make in the `docker/docker` repository. To make syncing easier, you'll
100
-also add a _remote_ called `upstream` that points to `docker/docker`. A remote
101
-is just another project version hosted on the internet or network.
102
-
103
-To configure your username, email, and add a remote:
104
-
105
-1. Change to the root of your `docker-fork` repository.
106
-
107
-        $ cd docker-fork
108
-
109
-2. Set your `user.name` for the repository.
110
-
111
-        $ git config --local user.name "FirstName LastName"
112
-
113
-3. Set your `user.email` for the repository.
114
-
115
-        $ git config --local user.email "emailname@mycompany.com"
116
-
117
-4. Set your local repo to track changes upstream, on the `docker` repository. 
118
-
119
-        $ git remote add upstream https://github.com/docker/docker.git
120
-
121
-7. Check the result in your `git` configuration.
122
-
123
-        $ git config --local -l
124
-        core.repositoryformatversion=0
125
-        core.filemode=true
126
-        core.bare=false
127
-        core.logallrefupdates=true
128
-        remote.origin.url=https://github.com/moxiegirl/docker.git
129
-        remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
130
-        branch.master.remote=origin
131
-        branch.master.merge=refs/heads/master
132
-        user.name=Mary Anthony
133
-        user.email=mary@docker.com
134
-        remote.upstream.url=https://github.com/docker/docker.git
135
-        remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
136
-
137
-	To list just the remotes use:
138
-
139
-        $ git remote -v
140
-        origin	https://github.com/moxiegirl/docker.git (fetch)
141
-        origin	https://github.com/moxiegirl/docker.git (push)
142
-        upstream	https://github.com/docker/docker.git (fetch)
143
-        upstream	https://github.com/docker/docker.git (push)
144
-
145
-## Create and push a branch
146
-
147
-As you change code in your fork, make your changes on a repository branch.
148
-The branch name should reflect what you are working on. In this section, you
149
-create a branch, make a change, and push it up to your fork. 
150
-
151
-This branch is just for testing your config for this guide. The changes are part
152
-of a dry run, so the branch name will be dry-run-test. To create and push
153
-the branch to your fork on GitHub:
154
-
155
-1. Open a terminal and go to the root of your `docker-fork`.
156
-
157
-        $ cd docker-fork
158
-
159
-2. Create a `dry-run-test` branch.
160
-
161
-        $ git checkout -b dry-run-test
162
-
163
-    This command creates the branch and switches the repository to it.
164
-
165
-3. Verify you are in your new branch.
166
-
167
-        $ git branch
168
-        * dry-run-test
169
-          master
170
-
171
-    The current branch has an * (asterisk) marker. So, these results shows you
172
-    are on the right branch. 
173
-
174
-4. Create a `TEST.md` file in the repository's root.
175
-
176
-        $ touch TEST.md
177
-	
178
-5. Edit the file and add your email and location.
179
-
180
-    ![Add your information](images/contributor-edit.png)
181
-
182
-    You can use any text editor you are comfortable with.
183
-
184
-6. Save and close the file.
185
-
186
-7. Check the status of your branch. 
187
-
188
-        $ git status
189
-        On branch dry-run-test
190
-        Untracked files:
191
-          (use "git add <file>..." to include in what will be committed)
192
-    
193
-            TEST.md
194
-    
195
-        nothing added to commit but untracked files present (use "git add" to track)
196
-
197
-	You've only changed the one file. It is untracked so far by git.
198
-
199
-8. Add your file.
200
-
201
-        $ git add TEST.md
202
-
203
-    That is the only _staged_ file. Stage is fancy word for work that Git is
204
-    tracking.
205
-
206
-9. Sign and commit your change.
207
-
208
-        $ git commit -s -m "Making a dry run test."
209
-        [dry-run-test 6e728fb] Making a dry run test
210
-         1 file changed, 1 insertion(+)
211
-         create mode 100644 TEST.md
212
-
213
-    Commit messages should have a short summary sentence of no more than 50
214
-    characters. Optionally, you can also include a more detailed explanation
215
-    after the summary. Separate the summary from any explanation with an empty
216
-    line.
217
-
218
-8. Push your changes to GitHub.
219
-
220
-        $ git push --set-upstream origin dry-run-test
221
-        Username for 'https://github.com': moxiegirl
222
-        Password for 'https://moxiegirl@github.com': 
223
-
224
-    Git prompts you for your GitHub username and password. Then, the command
225
-    returns a result.
226
-
227
-        Counting objects: 13, done.
228
-        Compressing objects: 100% (2/2), done.
229
-        Writing objects: 100% (3/3), 320 bytes | 0 bytes/s, done.
230
-        Total 3 (delta 1), reused 0 (delta 0)
231
-        To https://github.com/moxiegirl/docker.git
232
-         * [new branch]      dry-run-test -> dry-run-test
233
-        Branch dry-run-test set up to track remote branch dry-run-test from origin.
234
-
235
-9. Open your browser to GitHub.
236
-
237
-10. Navigate to your Docker fork.
238
-
239
-11. Make sure the `dry-run-test` branch exists, that it has your commit, and the
240
-commit is signed.
241
-
242
-    ![Branch Signature](images/branch-sig.png)
243
-
244
-## Where to go next
245
-
246
-Congratulations, you have finished configuring both your local host environment
247
-and Git for contributing. In the next section you'll [learn how to set up and
248
-work in a Docker development container](set-up-dev-env.md).
249 1
deleted file mode 100644
... ...
@@ -1,265 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Set up for development on Windows"
4
-description = "How to set up a server to test Docker Windows client"
5
-keywords = ["development, inception, container, image Dockerfile, dependencies, Go, artifacts,  windows"]
6
-[menu.main]
7
-parent = "smn_develop"
8
-weight=3
9
-+++
10
-<![end-metadata]-->
11
-
12
-
13
-# Get the required software for Windows
14
-
15
-This page explains how to get the software you need to use a  a Windows Server
16
-2012 or Windows 8 machine for Docker development. Before you begin contributing
17
-you must have:
18
-
19
-- a GitHub account
20
-- Git for Windows (msysGit)
21
-- TDM-GCC, a compiler suite for Windows
22
-- MinGW (tar and xz)
23
-- Go language
24
-
25
-> **Note**: This installation procedure refers to the `C:\` drive. If you system's main drive
26
-is `D:\` you'll need to substitute that in where appropriate in these
27
-instructions.
28
-
29
-### Get a GitHub account
30
-
31
-To contribute to the Docker project, you will need a <a
32
-href="https://github.com" target="_blank">GitHub account</a>. A free account is
33
-fine. All the Docker project repositories are public and visible to everyone.
34
-
35
-You should also have some experience using both the GitHub application and `git`
36
-on the command line. 
37
-
38
-## Install Git for Windows
39
-
40
-Git for Windows includes several tools including msysGit, which is a build
41
-environment. The environment contains the tools you need for development such as
42
-Git and a Git Bash shell.
43
-
44
-1. Browse to the [Git for Windows](https://msysgit.github.io/) download page.
45
-
46
-2. Click **Download**.
47
-
48
-	Windows prompts you to save the file to your machine.
49
-
50
-3. Run the saved file.
51
-
52
-	The system displays the **Git Setup** wizard.
53
-
54
-4. Click the **Next** button to move through the wizard and accept all the defaults.
55
-
56
-5. Click **Finish** when you are done.
57
-
58
-## Installing TDM-GCC
59
-
60
-TDM-GCC is a compiler suite for Windows. You'll use this suite to compile the
61
-Docker Go code as you develop.
62
-
63
-1. Browse to
64
-   [tdm-gcc download page](http://tdm-gcc.tdragon.net/download).
65
-
66
-2. Click on the latest 64-bit version of the package.
67
-
68
-	Windows prompts you to save the file to your machine
69
-
70
-3. Set up the suite by running the downloaded file.
71
-
72
-	The system opens the **TDM-GCC Setup** wizard.
73
-	
74
-4. Click **Create**.
75
-
76
-5. Click the **Next** button to move through the wizard and accept all the defaults.
77
-
78
-6. Click **Finish** when you are done.
79
-
80
-
81
-## Installing MinGW (tar and xz)
82
-
83
-MinGW is a minimalist port of the GNU Compiler Collection (GCC). In this
84
-procedure, you first download and install the MinGW installation manager. Then,
85
-you use the manager to install the `tar` and `xz` tools from the collection.
86
-
87
-1. Browse to MinGW 
88
-   [SourceForge](http://sourceforge.net/projects/mingw/).
89
-
90
-2. Click **Download**.
91
-
92
-	 Windows prompts you to save the file to your machine
93
-
94
-3. Run the downloaded file.
95
-
96
-   The system opens the **MinGW Installation Manager Setup Tool**
97
-
98
-4. Choose **Install**  install the MinGW Installation Manager.
99
-
100
-5. Press **Continue**.
101
-
102
-	The system installs and then opens the MinGW Installation Manager.
103
-	
104
-6. Press **Continue** after the install completes to open the manager.
105
-
106
-7. Select **All Packages > MSYS Base System** from the left hand menu.
107
-
108
-	The system displays the available packages.
109
-
110
-8. Click on the the **msys-tar bin** package and choose **Mark for Installation**.
111
-
112
-9. Click on the **msys-xz bin** package and choose **Mark for Installation**.
113
-  
114
-10. Select **Installation > Apply Changes**, to install the selected packages.
115
-
116
-	The system displays the **Schedule of Pending Actions Dialog**.
117
-
118
-    ![windows-mingw](images/windows-mingw.png)
119
-    
120
-11. Press **Apply**
121
-
122
-	MingGW installs the packages for you.
123
-
124
-12. Close the dialog and the MinGW Installation Manager.
125
-
126
-
127
-## Set up your environment variables
128
-
129
-You'll need to add the compiler to your `Path` environment variable. 
130
-
131
-1. Open the **Control Panel**.
132
-
133
-2. Choose **System and Security > System**. 
134
-
135
-3. Click the **Advanced system settings** link in the sidebar.
136
-
137
-	The system opens the **System Properties** dialog.
138
-
139
-3. Select the **Advanced** tab.
140
-
141
-4. Click **Environment Variables**. 
142
-
143
-	The system opens the **Environment Variables dialog** dialog.
144
-
145
-5. Locate the **System variables** area and scroll to the **Path**
146
-   variable.
147
-
148
-    ![windows-mingw](images/path_variable.png)
149
-
150
-6. Click **Edit** to edit the variable (you can also double-click it).
151
-
152
-	The system opens the **Edit System Variable** dialog.
153
-
154
-7. Make sure the `Path` includes `C:\TDM-GCC64\bin` 
155
-
156
-	 ![include gcc](images/include_gcc.png)
157
-	 
158
-	 If you don't see `C:\TDM-GCC64\bin`, add it.
159
-		
160
-8. Press **OK** to close this dialog.
161
-	
162
-9. Press **OK** twice to close out of the remaining dialogs.
163
-
164
-## Install Go and cross-compile it
165
-
166
-In this section, you install the Go language. Then, you build the source so that it can cross-compile for `linux/amd64` architectures.
167
-
168
-1. Open [Go Language download](http://golang.org/dl/) page in your browser.
169
-
170
-2. Locate and click the latest `.msi` installer.
171
-
172
-	The system prompts you to save the file.
173
-
174
-3. Run the installer.
175
-
176
-	The system opens the **Go Programming Language Setup** dialog.
177
-
178
-4. Select all the defaults to install.
179
-
180
-5. Press **Finish** to close the installation dialog.
181
-
182
-6. Start a command prompt.
183
-
184
-7. Change to the Go `src` directory.
185
-
186
-		cd c:\Go\src 
187
-
188
-8. Set the following Go variables
189
-
190
-		c:\Go\src> set GOOS=linux
191
-		c:\Go\src> set GOARCH=amd64
192
-     
193
-9. Compile the source.
194
-
195
-		c:\Go\src> make.bat
196
-    
197
-	Compiling the source also adds a number of variables to your Windows environment.
198
-
199
-## Get the Docker repository
200
-
201
-In this step, you start a Git `bash` terminal and get the Docker source code 
202
-from GitHub. 
203
-
204
-1. Locate the **Git Bash** program and start it.
205
-
206
-	Recall that **Git Bash** came with the Git for Windows installation.  **Git
207
-	Bash** just as it sounds allows you to run a Bash terminal on Windows.
208
-	
209
-	![Git Bash](images/git_bash.png)
210
-
211
-2. Change to the root directory.
212
-
213
-		$ cd /c/
214
-				
215
-3. Make a `gopath` directory.
216
-
217
-		$ mkdir gopath
218
-
219
-4. Go get the `docker/docker` repository.
220
-
221
-		$ go.exe get github.com/docker/docker package github.com/docker/docker
222
-        imports github.com/docker/docker
223
-        imports github.com/docker/docker: no buildable Go source files in C:\gopath\src\github.com\docker\docker
224
-
225
-	In the next steps, you create environment variables for you Go paths.
226
-	
227
-5. Open the **Control Panel** on your system.
228
-
229
-6. Choose **System and Security > System**. 
230
-
231
-7. Click the **Advanced system settings** link in the sidebar.
232
-
233
-	The system opens the **System Properties** dialog.
234
-
235
-8. Select the **Advanced** tab.
236
-
237
-9. Click **Environment Variables**. 
238
-
239
-	The system opens the **Environment Variables dialog** dialog.
240
-
241
-10. Locate the **System variables** area and scroll to the **Path**
242
-   variable.
243
-
244
-11. Click **New**.
245
-
246
-	Now you are going to create some new variables. These paths you'll create in the next procedure; but you can set them now.
247
-
248
-12. Enter `GOPATH` for the **Variable Name**.
249
-
250
-13. For the **Variable Value** enter the following:
251
- 
252
-		C:\gopath;C:\gopath\src\github.com\docker\docker\vendor
253
-		
254
-	
255
-14. Press **OK** to close this dialog.
256
-
257
-	The system adds `GOPATH` to the list of **System Variables**.
258
-	
259
-15. Press **OK** twice to close out of the remaining dialogs.
260
-
261
-
262
-## Where to go next
263
-
264
-In the next section, you'll [learn how to set up and configure Git for
265
-contributing to Docker](set-up-git.md).
266 1
\ No newline at end of file
267 2
deleted file mode 100644
... ...
@@ -1,98 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Get the required software"
4
-description = "Describes the software required to contribute to Docker"
5
-keywords = ["GitHub account, repository, Docker, Git, Go, make,  "]
6
-[menu.main]
7
-parent = "smn_develop"
8
-weight=2
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Get the required software for Linux or OS X
13
-
14
-This page explains how to get the software you need to use a Linux or OS X
15
-machine for Docker development. Before you begin contributing you must have:
16
-
17
-*  a GitHub account
18
-* `git`
19
-* `make` 
20
-* `docker`
21
-
22
-You'll notice that `go`, the language that Docker is written in, is not listed.
23
-That's because you don't need it installed; Docker's development environment
24
-provides it for you. You'll learn more about the development environment later.
25
-
26
-### Get a GitHub account
27
-
28
-To contribute to the Docker project, you will need a <a
29
-href="https://github.com" target="_blank">GitHub account</a>. A free account is
30
-fine. All the Docker project repositories are public and visible to everyone.
31
-
32
-You should also have some experience using both the GitHub application and `git`
33
-on the command line. 
34
-
35
-### Install git
36
-
37
-Install `git` on your local system. You can check if `git` is on already on your
38
-system and properly installed with the following command:
39
-
40
-    $ git --version 
41
-
42
-
43
-This documentation is written using `git` version 2.2.2. Your version may be
44
-different depending on your OS.
45
-
46
-### Install make
47
-
48
-Install `make`. You can check if `make` is on your system with the following
49
-command:
50
-
51
-    $ make -v 
52
-
53
-This documentation is written using GNU Make 3.81. Your version may be different
54
-depending on your OS.
55
-
56
-### Install or upgrade Docker 
57
-
58
-If you haven't already, install the Docker software using the 
59
-<a href="/engine/installation" target="_blank">instructions for your operating system</a>.
60
-If you have an existing installation, check your version and make sure you have
61
-the latest Docker. 
62
-
63
-To check if `docker` is already installed on Linux:
64
-
65
-    $ docker --version
66
-    Docker version 1.5.0, build a8a31ef
67
-
68
-On Mac OS X or Windows, you should have installed Docker Toolbox which includes
69
-Docker. You'll need to verify both Docker Machine and Docker. This
70
-documentation was written on OS X using the following versions.
71
-
72
-    $ docker-machine --version
73
-    docker-machine version 0.3.0 (0a251fe)
74
-
75
-    $ docker --version
76
-    Docker version 1.7.0, build a8a31ef
77
-
78
-## Linux users and sudo
79
-
80
-This guide assumes you have added your user to the `docker` group on your system.
81
-To check, list the group's contents:
82
-
83
-    $ getent group docker
84
-    docker:x:999:ubuntu
85
-
86
-If the command returns no matches, you have two choices. You can preface this
87
-guide's `docker` commands with `sudo` as you work. Alternatively, you can add
88
-your user to the `docker` group as follows:
89
-
90
-    $ sudo usermod -aG docker ubuntu
91
-
92
-You must log out and log back in for this modification to take effect.
93
-
94
-
95
-## Where to go next
96
-
97
-In the next section, you'll [learn how to set up and configure Git for
98
-contributing to Docker](set-up-git.md).
99 1
deleted file mode 100644
... ...
@@ -1,331 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Run tests and test documentation"
4
-description = "Describes Docker's testing infrastructure"
5
-keywords = ["make test, make docs, Go tests, gofmt, contributing,  running tests"]
6
-[menu.main]
7
-parent = "smn_develop"
8
-weight=6
9
-+++
10
-<![end-metadata]-->
11
-
12
-# Run tests and test documentation
13
-
14
-Contributing includes testing your changes. If you change the Docker code, you
15
-may need to add a new test or modify an existing one. Your contribution could
16
-even be adding tests to Docker. For this reason, you need to know a little
17
-about Docker's test infrastructure.
18
-
19
-Many contributors contribute documentation only. Or, a contributor makes a code
20
-contribution that changes how Docker behaves and that change needs
21
-documentation. For these reasons, you also need to know how to build, view, and
22
-test the Docker documentation.
23
-
24
-In this section, you run tests in the `dry-run-test` branch of your Docker
25
-fork. If you have followed along in this guide, you already have this branch.
26
-If you don't have this branch, you can create it or simply use another of your
27
-branches.
28
-
29
-## Understand testing at Docker
30
-
31
-Docker tests use the Go language's test framework. In this framework, files
32
-whose names end in `_test.go` contain test code; you'll find test files like
33
-this throughout the Docker repo. Use these files for inspiration when writing
34
-your own tests. For information on Go's test framework, see <a
35
-href="http://golang.org/pkg/testing/" target="_blank">Go's testing package
36
-documentation</a> and the <a href="http://golang.org/cmd/go/#hdr-Test_packages"
37
-target="_blank">go test help</a>. 
38
-
39
-You are responsible for _unit testing_ your contribution when you add new or
40
-change existing Docker code. A unit test is a piece of code that invokes a
41
-single, small piece of code ( _unit of work_ ) to verify the unit works as
42
-expected.
43
-
44
-Depending on your contribution, you may need to add _integration tests_. These
45
-are tests that combine two or more work units into one component. These work
46
-units each have unit tests and then, together, integration tests that test the
47
-interface between the components. The `integration` and `integration-cli`
48
-directories in the Docker repository contain integration test code.
49
-
50
-Testing is its own specialty. If you aren't familiar with testing techniques,
51
-there is a lot of information available to you on the Web. For now, you should
52
-understand that, the Docker maintainers may ask you to write a new test or
53
-change an existing one.
54
-
55
-### Run tests on your local host
56
-
57
-Before submitting any code change, you should run the entire Docker test suite.
58
-The `Makefile` contains a target for the entire test suite. The target's name
59
-is simply `test`. The `Makefile` contains several targets for testing:
60
-
61
-<style type="text/css">
62
-.monospaced {font-family: Monaco, Consolas, "Lucida Console", monospace !important;}
63
-</style>
64
-<table>
65
-  <tr>
66
-    <th>Target</th>
67
-    <th>What this target does</th>
68
-  </tr>
69
-  <tr>
70
-    <td class="monospaced">test</td>
71
-    <td>Run all the tests.</td>
72
-  </tr>
73
-  <tr>
74
-    <td class="monospaced">test-unit</td>
75
-    <td>Run just the unit tests.</td>
76
-  </tr>
77
-  <tr>
78
-    <td class="monospaced">test-integration-cli</td>
79
-    <td>Run the test for the integration command line interface.</td>
80
-  </tr>
81
-  <tr>
82
-    <td class="monospaced">test-docker-py</td>
83
-    <td>Run the tests for Docker API client.</td>
84
-  </tr>
85
-</table>
86
-
87
-Run the entire test suite on your current repository:
88
-
89
-1. Open a terminal on your local host.
90
-
91
-2. Change to the root your Docker repository.
92
-
93
-        $ cd docker-fork
94
-
95
-3. Make sure you are in your development branch.
96
-
97
-        $ git checkout dry-run-test
98
-
99
-4. Run the `make test` command.
100
-
101
-        $ make test
102
-
103
-    This command does several things, it creates a container temporarily for
104
-    testing. Inside that container, the `make`:
105
-
106
-    * creates a new binary
107
-    * cross-compiles all the binaries for the various operating systems
108
-    * runs all the tests in the system
109
-
110
-    It can take approximate one hour to run all the tests. The time depends
111
-    on your host performance. The default timeout is 60 minutes, which is
112
-    defined in hack/make.sh(${TIMEOUT:=60m}). You can modify the timeout
113
-    value on the basis of your host performance. When they complete
114
-    successfully, you see the output concludes with something like this:
115
-
116
-
117
-        PASS: docker_cli_pull_test.go:133: DockerHubPullSuite.TestPullClientDisconnect	1.127s
118
-        PASS: docker_cli_pull_test.go:16: DockerHubPullSuite.TestPullFromCentralRegistry	1.049s
119
-        PASS: docker_cli_pull_test.go:65: DockerHubPullSuite.TestPullFromCentralRegistryImplicitRefParts	9.795s
120
-        PASS: docker_cli_pull_test.go:42: DockerHubPullSuite.TestPullNonExistingImage	2.158s
121
-        PASS: docker_cli_pull_test.go:92: DockerHubPullSuite.TestPullScratchNotAllowed	0.044s
122
-        OK: 918 passed, 13 skipped
123
-        PASS
124
-        coverage: 72.9% of statements
125
-        ok  	github.com/docker/docker/integration-cli	1638.553s
126
-        ---> Making bundle: .integration-daemon-stop (in bundles/1.9.0-dev/test-integration-cli)
127
-        ++++ cat bundles/1.9.0-dev/test-integration-cli/docker.pid
128
-        +++ kill 9453
129
-        +++ /etc/init.d/apparmor stop
130
-         * Clearing AppArmor profiles cache
131
-           ...done.
132
-        All profile caches have been cleared, but no profiles have been unloaded.
133
-        Unloading profiles will leave already running processes permanently
134
-        unconfined, which can lead to unexpected situations.
135
-
136
-        To set a process to complain mode, use the command line tool
137
-        'aa-complain'. To really tear down all profiles, run the init script
138
-        with the 'teardown' option."
139
-
140
-        ---> Making bundle: test-docker-py (in bundles/1.9.0-dev/test-docker-py)
141
-        ---> Making bundle: .integration-daemon-start (in bundles/1.9.0-dev/test-docker-py)
142
-        +++ /etc/init.d/apparmor start
143
-         * Starting AppArmor profiles
144
-        Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
145
-           ...done.
146
-        +++ exec docker daemon --debug --host unix:///go/src/github.com/docker/docker/bundles/1.9.0-dev/test-docker-py/docker.sock --storage-driver overlay --exec-driver native --pidfile bundles/1.9.0-dev/test-docker-py/docker.pid --userland-proxy=true
147
-        ..............s..............s......................................
148
-        ----------------------------------------------------------------------
149
-        Ran 68 tests in 79.135s
150
- 
151
-
152
-### Run test targets inside the development container
153
-
154
-If you are working inside a Docker development container, you use the
155
-`hack/make.sh` script to run tests. The `hack/make.sh` script doesn't
156
-have a single target that runs all the tests. Instead, you provide a single
157
-command line with multiple targets that does the same thing.
158
-
159
-Try this now.
160
-
161
-1. Open a terminal and change to the `docker-fork` root.
162
-
163
-2. Start a Docker development image.
164
-
165
-    If you are following along with this guide, you should have a
166
-    `dry-run-test` image.
167
-
168
-        $ docker run --privileged --rm -ti -v `pwd`:/go/src/github.com/docker/docker dry-run-test /bin/bash
169
-
170
-3. Run the tests using the `hack/make.sh` script.
171
-
172
-        root@5f8630b873fe:/go/src/github.com/docker/docker# hack/make.sh dynbinary binary cross test-unit test-integration-cli test-docker-py
173
-
174
-    The tests run just as they did within your local host.
175
-
176
-
177
-Of course, you can also run a subset of these targets too. For example, to run
178
-just the unit tests:
179
-
180
-    root@5f8630b873fe:/go/src/github.com/docker/docker# hack/make.sh dynbinary binary cross test-unit
181
-
182
-Most test targets require that you build these precursor targets first:
183
-`dynbinary binary cross`
184
-
185
-
186
-## Running individual or multiple named tests 
187
-
188
-### Unit tests 
189
-
190
-We use golang standard [testing](https://golang.org/pkg/testing/)
191
-package or [gocheck](https://labix.org/gocheck) for our unit tests. 
192
-
193
-You can use the `TESTDIRS` environment variable to run unit tests for
194
-a single package.
195
-
196
-    $ TESTDIRS='opts' make test-unit
197
-
198
-You can also use the `TESTFLAGS` environment variable to run a single test. The
199
-flag's value is passed as arguments to the `go test` command. For example, from
200
-your local host you can run the `TestBuild` test with this command:
201
-
202
-    $ TESTFLAGS='-test.run ^TestValidateIPAddress$' make test-unit
203
-
204
-On unit tests, it's better to use `TESTFLAGS` in combination with
205
-`TESTDIRS` to make it quicker to run a specific test.
206
-
207
-    $ TESTDIRS='opts' TESTFLAGS='-test.run ^TestValidateIPAddress$' make test-unit
208
-
209
-### Integration tests 
210
-
211
-We use [gocheck](https://labix.org/gocheck) for our integration-cli tests. 
212
-You can use the `TESTFLAGS` environment variable to run a single test. The
213
-flag's value is passed as arguments to the `go test` command. For example, from
214
-your local host you can run the `TestBuild` test with this command:
215
-
216
-    $ TESTFLAGS='-check.f DockerSuite.TestBuild*' make test-integration-cli
217
-
218
-To run the same test inside your Docker development container, you do this:
219
-
220
-    root@5f8630b873fe:/go/src/github.com/docker/docker# TESTFLAGS='-check.f TestBuild*' hack/make.sh binary test-integration-cli
221
-
222
-## Testing the Windows binary against a Linux daemon
223
-
224
-This explains how to test the Windows binary on a Windows machine set up as a
225
-development environment.  The tests will be run against a docker daemon 
226
-running on a remote Linux machine. You'll use  **Git Bash** that came with the 
227
-Git for Windows installation.  **Git Bash**, just as it sounds, allows you to
228
-run a Bash terminal on Windows. 
229
-
230
-1.  If you don't have one open already, start a Git Bash terminal.
231
-
232
-	 ![Git Bash](images/git_bash.png)
233
-
234
-2. Change to the `docker` source directory.
235
-
236
-		$ cd /c/gopath/src/github.com/docker/docker
237
-    
238
-3. Set `DOCKER_REMOTE_DAEMON` as follows:
239
-
240
-		$ export DOCKER_REMOTE_DAEMON=1
241
-
242
-4. Set `DOCKER_TEST_HOST` to the `tcp://IP_ADDRESS:2376` value; substitute your
243
-Linux machines actual IP address. For example:
244
-
245
-		$ export DOCKER_TEST_HOST=tcp://213.124.23.200:2376
246
-
247
-5. Make the binary and run the tests:
248
-
249
-		$ hack/make.sh binary test-integration-cli
250
-  	
251
-   Some tests are skipped on Windows for various reasons. You can see which
252
-   tests were skipped by re-running the make and passing in the 
253
-   `TESTFLAGS='-test.v'` value. For example 
254
-
255
-		$ TESTFLAGS='-test.v' hack/make.sh binary test-integration-cli
256
-		
257
-	Should you wish to run a single test such as one with the name 
258
-	'TestExample', you can pass in `TESTFLAGS='-check.f TestExample'`. For
259
-	example 
260
-	
261
-		$TESTFLAGS='-check.f TestExample' hack/make.sh binary test-integration-cli
262
-        
263
-You can now choose to make changes to the Docker source or the tests. If you
264
-make any changes just run these commands again.
265
-
266
-
267
-## Build and test the documentation
268
-
269
-The Docker documentation source files are under `docs`. The content is
270
-written using extended Markdown. We use the static generator <a
271
-href="http://www.mkdocs.org/" target="_blank">MkDocs</a> to build Docker's
272
-documentation. Of course, you don't need to install this generator
273
-to build the documentation, it is included with container.
274
-
275
-You should always check your documentation for grammar and spelling. The best
276
-way to do this is with <a href="http://www.hemingwayapp.com/"
277
-target="_blank">an online grammar checker</a>.
278
-
279
-When you change a documentation source file, you should test your change
280
-locally to make sure your content is there and any links work correctly. You
281
-can build the documentation from the local host. The build starts a container
282
-and loads the documentation into a server. As long as this container runs, you
283
-can browse the docs.
284
-
285
-1. In a terminal, change to the root of your `docker-fork` repository.
286
-
287
-        $ cd ~/repos/docker-fork
288
-
289
-2. Make sure you are in your feature branch.
290
-
291
-        $ git status
292
-        On branch dry-run-test
293
-        Your branch is up-to-date with 'origin/dry-run-test'.
294
-        nothing to commit, working directory clean
295
-
296
-3. Build the documentation.
297
-
298
-        $ make docs
299
-
300
-    When the build completes, you'll see a final output message similar to the
301
-    following:
302
-
303
-        Successfully built ee7fe7553123
304
-        docker run --rm -it  -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 "docker-docs:dry-run-test" mkdocs serve
305
-        Running at: http://0.0.0.0:8000/
306
-        Live reload enabled.
307
-        Hold ctrl+c to quit.
308
-
309
-4. Enter the URL in your browser.
310
-
311
-    If you are using Docker Machine, replace the default localhost address
312
-    (0.0.0.0) with your DOCKERHOST value. You can get this value at any time by
313
-    entering `docker-machine ip <machine-name>` at the command line.
314
-
315
-5. Once in the documentation, look for the red notice to verify you are seeing the correct build.
316
-
317
-    ![Beta documentation](images/red_notice.png)
318
-
319
-6. Navigate to your new or changed document.
320
-
321
-7. Review both the content and the links.
322
-
323
-8. Return to your terminal and exit out of the running documentation container.
324
-
325
-
326
-## Where to go next
327
-
328
-Congratulations, you have successfully completed the basics you need to
329
-understand the Docker test framework. In the next steps, you use what you have
330
-learned so far to [contribute to Docker by working on an
331
-issue](make-a-contribution.md).
332 1
deleted file mode 100644
... ...
@@ -1,63 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "README first"
4
-description = "Introduction to project contribution at Docker"
5
-keywords = ["Gordon, introduction, turtle, machine, libcontainer,  how to"]
6
-[menu.main]
7
-parent = "smn_develop"
8
-+++
9
-<![end-metadata]-->
10
-
11
-# README first
12
-
13
-This section of the documentation contains a guide for Docker users who want to
14
-contribute code or documentation to the Docker project. As a community, we
15
-share rules of behavior and interaction. Make sure you are familiar with the <a
16
-href="https://github.com/docker/docker/blob/master/CONTRIBUTING.md#docker-community-guidelines"
17
-target="_blank">community guidelines</a> before continuing.
18
-
19
-## Where and what you can contribute
20
-
21
-The Docker project consists of not just one but several repositories on GitHub.
22
-So, in addition to the `docker/docker` repository, there is the
23
-`docker/compose` repo, the `docker/machine` repo, and several more.
24
-Contribute to any of these and you contribute to the Docker project.
25
-
26
-Not all Docker repositories use the Go language. Also, each repository has its
27
-own focus area. So, if you are an experienced contributor, think about
28
-contributing to a Docker repository that has a language or a focus area you are
29
-familiar with.
30
-
31
-If you are new to the open source community, to Docker, or to formal
32
-programming, you should start out contributing to the `docker/docker`
33
-repository. Why? Because this guide is written for that repository specifically.
34
-
35
-Finally, code or documentation isn't the only way to contribute. You can report
36
-an issue, add to discussions in our community channel, write a blog post, or
37
-take a usability test. You can even propose your own type of contribution.
38
-Right now we don't have a lot written about this yet, so just email
39
-<mailto:feedback@docker.com> if this type of contributing interests you.
40
-
41
-## A turtle is involved
42
-
43
-![Gordon](images/gordon.jpeg)
44
-
45
-Enough said.
46
-
47
-## How to use this guide
48
-
49
-This is written for the distracted, the overworked, the sloppy reader with fair
50
-`git` skills and a failing memory for the GitHub GUI. The guide attempts to
51
-explain how to use the Docker environment as precisely, predictably, and
52
-procedurally as possible.
53
-
54
-Users who are new to the Docker development environment should start by setting
55
-up their environment. Then, they should try a simple code change. After that,
56
-you should find something to work on or propose at totally new change.
57
-
58
-If you are a programming prodigy, you still may find this documentation useful.
59
-Please feel free to skim past information you find obvious or boring.
60
-
61
-## How to get started
62
-
63
-Start by [getting the software you need to contribute](software-required.md).
64 1
deleted file mode 100644
... ...
@@ -1,200 +0,0 @@
1
-<!--[metadata]>
2
-+++
3
-title = "Work on your issue"
4
-description = "Basic workflow for Docker contributions"
5
-keywords = ["contribute, pull request, review, workflow, beginner, squash,  commit"]
6
-[menu.main]
7
-parent = "smn_contribute"
8
-weight=3
9
-+++
10
-<![end-metadata]-->
11
-
12
-
13
-# Work on your issue
14
-
15
-The work you do for your issue depends on the specific issue you picked.
16
-This section gives you a step-by-step workflow. Where appropriate, it provides
17
-command examples. 
18
-
19
-However, this is a generalized workflow, depending on your issue you may repeat
20
-steps or even skip some. How much time the work takes depends on you --- you
21
-could spend days or 30 minutes of your time.
22
-
23
-## How to work on your local branch
24
-
25
-Follow this workflow as you work:
26
-
27
-1. Review the appropriate style guide.
28
-
29
-    If you are changing code, review the <a href="../coding-style"
30
-    target="_blank">coding style guide</a>. Changing documentation? Review the
31
-    <a href="../doc-style" target="_blank">documentation style guide</a>. 
32
-	
33
-2. Make changes in your feature branch.
34
-
35
-    Your feature branch you created in the last section. Here you use the
36
-    development container. If you are making a code change, you can mount your
37
-    source into a development container and iterate that way. For documentation
38
-    alone, you can work on your local host. 
39
-
40
-    Make sure you don't change files in the `vendor` directory and its
41
-    subdirectories; they contain third-party dependency code. Review <a
42
-    href="../set-up-dev-env" target="_blank">if you forgot the details of
43
-    working with a container</a>.
44
-
45
-
46
-3. Test your changes as you work.
47
-
48
-    If you have followed along with the guide, you know the `make test` target
49
-    runs the entire test suite and `make docs` builds the documentation. If you
50
-    forgot the other test targets, see the documentation for <a
51
-    href="../test-and-docs" target="_blank">testing both code and
52
-    documentation</a>.  
53
-	
54
-4. For code changes, add unit tests if appropriate.
55
-
56
-    If you add new functionality or change existing functionality, you should
57
-    add a unit test also. Use the existing test files for inspiration. Aren't
58
-    sure if you need tests? Skip this step; you can add them later in the
59
-    process if necessary.
60
-	
61
-5. Format your source files correctly.
62
-
63
-    <table>
64
-      <thead>
65
-      <tr>
66
-        <th>File type</th>
67
-        <th>How to format</th>
68
-      </tr>
69
-      </thead>
70
-      <tbody>
71
-      <tr>
72
-        <td><code>.go</code></td>
73
-        <td>
74
-            <p>
75
-            Format <code>.go</code> files using the <code>gofmt</code> command.
76
-            For example, if you edited the `docker.go` file you would format the file
77
-            like this:
78
-            </p>
79
-            <p><code>$ gofmt -s -w docker.go</code></p>
80
-            <p>
81
-            Most file editors have a plugin to format for you. Check your editor's
82
-            documentation.
83
-            </p>
84
-        </td>
85
-      </tr>
86
-      <tr>
87
-        <td style="white-space: nowrap"><code>.md</code> and non-<code>.go</code> files</td>
88
-        <td>Wrap lines to 80 characters.</td>
89
-      </tr>
90
-      </tbody>
91
-    </table>
92
-
93
-6. List your changes.
94
-
95
-        $ git status
96
-        On branch 11038-fix-rhel-link
97
-        Changes not staged for commit:
98
-          (use "git add <file>..." to update what will be committed)
99
-          (use "git checkout -- <file>..." to discard changes in working directory)
100
-
101
-        modified:   docs/installation/mac.md
102
-        modified:   docs/installation/rhel.md
103
-
104
-    The `status` command lists what changed in the repository. Make sure you see
105
-    the changes you expect.
106
-
107
-7. Add your change to Git.
108
-
109
-        $ git add docs/installation/mac.md
110
-        $ git add docs/installation/rhel.md
111
-
112
-
113
-8. Commit your changes making sure you use the `-s` flag to sign your work.
114
-
115
-        $ git commit -s -m "Fixing RHEL link"
116
-
117
-9. Push your change to your repository.
118
-
119
-        $ git push origin 11038-fix-rhel-link
120
-        Username for 'https://github.com': moxiegirl
121
-        Password for 'https://moxiegirl@github.com': 
122
-        Counting objects: 60, done.
123
-        Compressing objects: 100% (7/7), done.
124
-        Writing objects: 100% (7/7), 582 bytes | 0 bytes/s, done.
125
-        Total 7 (delta 6), reused 0 (delta 0)
126
-        To https://github.com/moxiegirl/docker.git
127
-         * [new branch]      11038-fix-rhel-link -> 11038-fix-rhel-link
128
-        Branch 11038-fix-rhel-link set up to track remote branch 11038-fix-rhel-link from origin.
129
-
130
-## Review your branch on GitHub
131
-
132
-After you push a new branch, you should verify it on GitHub:
133
-
134
-1. Open your browser to <a href="https://github.com" target="_blank">GitHub</a>.
135
-
136
-2. Go to your Docker fork.
137
-
138
-3. Select your branch from the dropdown.
139
-
140
-	![Find branch](images/locate_branch.png)
141
-	
142
-4. Use the "Compare" button to compare the differences between your branch and master.
143
-
144
-	 Depending how long you've been working on your branch, your branch maybe
145
-	 behind Docker's upstream repository. 
146
-	 
147
-5. Review the commits.
148
-
149
-	 Make sure your branch only shows the work you've done.
150
-	 
151
-## Pull and rebase frequently
152
-
153
-You should pull and rebase frequently as you work.  
154
-
155
-1. Return to the terminal on your local machine and checkout your
156
-    feature branch in your local `docker-fork` repository.   
157
-
158
-2. Fetch any last minute changes from `docker/docker`.
159
-
160
-        $ git fetch upstream master
161
-        From github.com:docker/docker
162
-         * branch            master     -> FETCH_HEAD
163
-
164
-3. Start an interactive rebase.
165
-
166
-        $ git rebase -i upstream/master
167
-
168
-4. Rebase opens an editor with a list of commits.
169
-
170
-        pick 1a79f55 Tweak some of the other text for grammar
171
-        pick 53e4983 Fix a link
172
-        pick 3ce07bb Add a new line about RHEL
173
-
174
-5. Replace the `pick` keyword with `squash` on all but the first commit.
175
-
176
-        pick 1a79f55 Tweak some of the other text for grammar
177
-        squash 53e4983 Fix a link
178
-        squash 3ce07bb Add a new line about RHEL
179
-
180
-    After you save the changes and quit from the editor, git starts
181
-    the rebase, reporting the progress along the way. Sometimes
182
-    your changes can conflict with the work of others. If git
183
-    encounters a conflict, it stops the rebase, and prints guidance
184
-    for how to correct the conflict.
185
-
186
-6. Edit and save your commit message.
187
-
188
-        $ git commit -s
189
-
190
-    Make sure your message includes <a href="../set-up-git" target="_blank">your signature</a>.
191
-
192
-7. Force push any changes to your fork on GitHub.
193
-
194
-        $ git push -f origin 11038-fix-rhel-link
195
-
196
-
197
-## Where to go next
198
-
199
-At this point, you should understand how to work on an issue. In the next
200
-section, you [learn how to make a pull request](create-pr.md).