Browse code

surfacing Learn by example topics to top level of Docker Engine docs fixing links after moving surfacing tutorials

fixing more links for the newly located tutorials

WIP: merging 3 getting started tutorials into one to cover all platforms, added new files

fixing broken images and links in 3-in-1 getting started, re-wrote story flow, linked to Toolbox, d4mac,d4win

Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
(cherry picked from commit 0254c12e1e0be7a93e3b28e61586ac66168a9b7c)

Victoria Bialas authored on 2016/06/14 03:08:11
Showing 18 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,42 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/started/",
3
+"/windows/started/",
4
+"/linux/started/",
5
+]
6
+title = "Get Started with Docker"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_all"
11
+parent = "engine_use"
12
+weight="-80"
13
+<![end-metadata]-->
14
+
15
+
16
+# Get Started with Docker
17
+
18
+This tutorial is a for non-technical users who are interested in learning more about Docker. By following these steps, you'll learn fundamental Docker features while working through some simple tasks. You'll learn how to:
19
+
20
+* install Docker software for your platform
21
+* run a software image in a container
22
+* browse for an image on Docker Hub
23
+* create your own image and run it in a container
24
+* create a Docker Hub account and an image repository
25
+* create an image of your own
26
+* push your image to Docker Hub for others to use
27
+
28
+The getting started was user tested to reduce the chance of users having problems. For the best chance of success, follow the steps as written the first time before exploring on your own. It takes approximately 45 minutes to complete.
29
+
30
+
31
+### Make sure you understand...
32
+
33
+This getting started uses Docker Engine CLI commands entered on the command line of a terminal window. You don't need to be a wizard at the command line, but you should be familiar with how to open your favorite shell or terminal, and run basic commands in that environment. It helps (but isn't required) to know how to navigate a directory tree, manipulate files, list running process, and so forth.
34
+
35
+
36
+Go to [the next page to install](step_one.md).
37
+
38
+
39
+&nbsp;
0 40
new file mode 100644
... ...
@@ -0,0 +1,69 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/last_page/",
3
+"/windows/last_page/",
4
+"/linux/last_page/",
5
+]
6
+title = "Learning more"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_learn_more"
11
+parent = "getstart_all"
12
+weight = 7
13
+<![end-metadata]-->
14
+
15
+# Learning more
16
+
17
+This getting started provided very basic essentials for using Docker on Mac, Windows, and Linux. If you want to learn more with regard to end-to-end development, start with the full install instructions and feature overviews, then follow up with more advanced tutorials and user guides.
18
+
19
+Depending on your interest, the Docker documentation contains a wealth of information.  Here are some places to start:
20
+
21
+<style type="text/css">
22
+</style>
23
+<table class="tutorial">
24
+  <tr>
25
+    <th class="tg-031e">If you are looking for</th>
26
+    <th class="tg-031e">Where to find it</th>
27
+  </tr>
28
+  <tr>
29
+    <td class="tg-031e">More about Docker for Mac, features, examples, FAQs, relationship to Docker Machine and Docker Toolbox, and how this fits in the Docker ecosystem</td>
30
+    <td class="tg-031e"><a href="https://docs.docker.com/docker-for-mac/">Getting Started with Docker for Mac</a></td>
31
+  </tr>
32
+  <tr>
33
+    <td class="tg-031e">More about Docker for Windows, More about Docker for Mac, features, examples, FAQs, relationship to Docker Machine and Docker Toolbox, and how this fits in the Docker ecosystem</td>
34
+    <td class="tg-031e"><a href="https://docs.docker.com/docker-for-windows/">Getting Started with Docker for Windows</a></td>
35
+  </tr>
36
+  <tr>
37
+    <td class="tg-031e">More about Docker Toolbox</td>
38
+    <td class="tg-031e"><a href="https://docs.docker.com/toolbox/overview/">Docker Toolbox Overview</a></td>
39
+  </tr>
40
+  <tr>
41
+    <td class="tg-031e">More about Docker for Linux distributions</td>
42
+    <td class="tg-031e"><a href="https://docs.docker.com//engine/installation/linux/">Install Docker Engine on Linux</a></td>
43
+  </tr>
44
+  <tr>
45
+    <td class="tg-031e">More advanced tutorials on running containers, building your own images, networking containers, managing data for containers, and storing images on Docker Hub</td>
46
+    <td class="tg-031e"> <a href="http://www.docker.com//engine/tutorials/">Learn by example</a></td>
47
+  </tr>
48
+  <tr>
49
+    <td class="tg-031e">Information about the Docker product line</td>
50
+    <td class="tg-031e"><a href="http://www.docker.com/products">The product explainer is a good place to start.</a></td>
51
+  </tr>
52
+
53
+  <tr>
54
+    <td class="tg-031e">How to set up an automated build on Docker Hub</td>
55
+    <td class="tg-031e"><a href="https://docs.docker.com/docker-hub/">Docker Hub documentation</a></td>
56
+  </tr>
57
+  <tr>
58
+    <td class="tg-031e">How to run a multi-container application with Compose</td>
59
+    <td class="tg-031e"><a href="https://docs.docker.com/compose/gettingstarted/">Docker Compose documentation</a></td>
60
+  </tr>
61
+</table>
62
+
63
+
64
+
65
+
66
+&nbsp;
0 67
new file mode 100644
... ...
@@ -0,0 +1,44 @@
0
+<!--[metadata]>
1
+aliases = ["/mac/started/"]
2
+title = "Install Docker and run hello-world"
3
+description = "Getting started with Docker"
4
+keywords = ["beginner, getting started, Docker, install"]
5
+identifier = "getstart_linux_install"
6
+parent = "getstart_all"
7
+weight="-80"
8
+<![end-metadata]-->
9
+
10
+# Example: Install Docker on Ubuntu Linux
11
+
12
+This installation procedure for users who are unfamiliar with package
13
+managers, and just want to try out the Getting Started tutorial while running Docker on Linux. If you are comfortable with package managers, prefer not to use
14
+`curl`, or have problems installing and want to troubleshoot, please use our
15
+`apt` and `yum` <a href="https://docs.docker.com/engine/installation/"
16
+target="_blank">repositories instead for your installation</a>.
17
+
18
+1. Log into your Ubuntu installation as a user with `sudo` privileges.
19
+
20
+2. Verify that you have `curl` installed.
21
+
22
+        $ which curl
23
+
24
+    If `curl` isn't installed, install it after updating your manager:
25
+
26
+        $ sudo apt-get update
27
+        $ sudo apt-get install curl
28
+
29
+3. Get the latest Docker package.
30
+
31
+        $ curl -fsSL https://get.docker.com/ | sh
32
+
33
+    The system prompts you for your `sudo` password. Then, it downloads and
34
+    installs Docker and its dependencies.
35
+
36
+    >**Note**: If your company is behind a filtering proxy, you may find that the
37
+    >`apt-key`
38
+    >command fails for the Docker repo during installation. To work around this,
39
+    >add the key directly using the following:
40
+    >
41
+    >       $ curl -fsSL https://get.docker.com/gpg | sudo apt-key add -
0 42
new file mode 100644
... ...
@@ -0,0 +1,78 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_five/",
3
+"/windows/step_five/",
4
+"/linux/step_five/",
5
+]
6
+title = "Create a Docker Hub account & repository"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_docker_hub"
11
+parent = "getstart_all"
12
+weight = 5
13
+<![end-metadata]-->
14
+
15
+# Create a Docker Hub account & repository
16
+
17
+You've built something really cool, you should share it. In this next section,
18
+you'll do just that. You'll need a Docker Hub account. Then, you'll push your
19
+image up to it so other people with Docker Engine can run it.
20
+
21
+
22
+## Step 1: Sign up for an account
23
+
24
+1. Use your browser to navigate to <a href="https://hub.docker.com/?utm_source=getting_started_guide&utm_medium=embedded_MacOSX&utm_campaign=create_docker_hub_account" target="_blank">the Docker Hub signup page</a>.
25
+
26
+	Your browser displays the page.
27
+
28
+	![Docker Hub signup](tutimg/hub_signup.png)
29
+
30
+2. Fill out the form on the signup page.
31
+
32
+	Docker Hub is free. Docker does need a name, password, and email address.
33
+
34
+3. Press **Signup**.
35
+
36
+	The browser displays the welcome to Docker Hub page.
37
+
38
+## Step 2: Verify your email and add a repository
39
+
40
+Before you can share anything on the hub, you need to verify your email address.
41
+
42
+1. Open your email inbox.
43
+
44
+2. Look for the email titled `Please confirm email for your Docker Hub account`.
45
+
46
+	  If you don't see the email, check your Spam folder or wait a moment for the email to arrive.
47
+
48
+2. Open the email and click the **Confirm Your Email** button.
49
+
50
+	 The browser opens Docker Hub to your profile page.
51
+
52
+4. Choose **Create Repository**.
53
+
54
+	The browser opens the **Create Repository** page.
55
+
56
+5. Provide a Repository Name and Short Description.
57
+
58
+6. Make sure Visibility is set to **Public**.
59
+
60
+    When you are done, your form should look similar to the following:
61
+
62
+	![Add repo](tutimg/add_repository.png)
63
+
64
+6. Press **Create** when you are done.
65
+
66
+	Docker Hub creates your new repository.
67
+
68
+## Where to go next
69
+
70
+On this page, you opened an account on Docker Hub and created a new repository.
71
+In the next section, you populate the repository [by tagging and pushing the
72
+image you created earlier](step_six.md).
73
+
74
+
75
+&nbsp;
0 76
new file mode 100644
... ...
@@ -0,0 +1,227 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_four/",
3
+"/windows/step_four/",
4
+"/linux/step_four/",
5
+]
6
+title = "Build your own image"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_build_image"
11
+parent = "getstart_all"
12
+weight = 4
13
+<![end-metadata]-->
14
+
15
+# Build your own image
16
+
17
+The `whalesay` image could be improved. It would be nice if you didn't have to
18
+think of something to say. And you type a lot to get `whalesay` to talk.
19
+
20
+    docker run docker/whalesay cowsay boo-boo
21
+
22
+In this next section, you will improve the `whalesay` image by building a new version that "talks on its own" and requires fewer words to run.
23
+
24
+## Step 1: Write a Dockerfile
25
+
26
+In this step, you use your favorite text editor to write a short Dockerfile.  A
27
+Dockerfile describes the software that is "baked" into an image. It isn't just
28
+ingredients tho, it can tell the software what environment to use or what
29
+commands to run. Your recipe is going to be very short.
30
+
31
+1. Go back to your command terminal window.
32
+
33
+2. Make a new directory by typing `mkdir mydockerbuild` and pressing RETURN.
34
+
35
+        $ mkdir mydockerbuild
36
+
37
+    This directory serves as the "context" for your build. The context just means it contains all the things you need to build your image.
38
+
39
+3. Change to your new directory.
40
+
41
+        $ cd mydockerbuild
42
+
43
+    Right now the directory is empty.
44
+
45
+4. Create a Dockerfile in the directory by typing `touch Dockerfile` and pressing RETURN.
46
+
47
+        $ touch Dockerfile
48
+
49
+    The command appears to do nothing but it actually creates the Dockerfile in the current directory.  Just type `ls Dockerfile` to see it.
50
+
51
+        $ ls Dockerfile
52
+        Dockerfile
53
+
54
+5. Open the `Dockerfile` in a visual text editor like <a href="https://atom.io/" target="_blank">Atom</a> or <a href="https://www.sublimetext.com/" target="_blank">Sublime</a>, or a text based editor like `vi`, or `nano` (https://www.nano-editor.org/).
55
+
56
+6. Add a line to the file like this:
57
+
58
+        FROM docker/whalesay:latest
59
+
60
+  The `FROM` keyword tells Docker which image your image is based on. Whalesay is cute and has the `cowsay` program already, so we'll start there.
61
+
62
+7. Now, add the `fortunes` program to the image.
63
+
64
+        RUN apt-get -y update && apt-get install -y fortunes
65
+
66
+  The `fortunes` program has a command that prints out wise sayings for our
67
+  whale to say. So, the first step is to install it. This line installs the
68
+  software into the image.
69
+
70
+8. Once the image has the software it needs, you instruct the software to run
71
+    when the image is loaded.
72
+
73
+          CMD /usr/games/fortune -a | cowsay
74
+
75
+    This line tells the `fortune` program to pass a nifty quote to the `cowsay` program.
76
+
77
+9. Check your work, your file should look like this:
78
+
79
+        FROM docker/whalesay:latest
80
+        RUN apt-get -y update && apt-get install -y fortunes
81
+        CMD /usr/games/fortune -a | cowsay
82
+
83
+10. Save and close your Dockerfile.
84
+
85
+    At this point, you have all your software ingredients and behaviors described in a Dockerfile. You are ready to build a new image.
86
+
87
+## Step 2: Build an image from your Dockerfile
88
+
89
+1. At the command line, make sure the Dockerfile is in the current directory by typing `cat Dockerfile`
90
+
91
+        $ cat Dockerfile
92
+        FROM docker/whalesay:latest
93
+
94
+        RUN apt-get -y update && apt-get install -y fortunes
95
+
96
+        CMD /usr/games/fortune -a | cowsay
97
+
98
+2. Now, build your new image by typing the `docker build -t docker-whale .` command in your terminal (don't forget the . period).
99
+
100
+        $ docker build -t docker-whale .
101
+        Sending build context to Docker daemon 158.8 MB
102
+        ...snip...
103
+        Removing intermediate container a8e6faa88df3
104
+        Successfully built 7d9495d03763
105
+
106
+	  The command takes several seconds to run and reports its outcome. Before
107
+    you do anything with the new image, take a minute to learn about the
108
+    Dockerfile build process.
109
+
110
+## Step 3: Learn about the build process
111
+
112
+The `docker build -t docker-whale .` command takes the `Dockerfile` in the
113
+current directory, and builds an image called `docker-whale` on your local
114
+machine. The command takes about a minute and its output looks really long and
115
+complex. In this section, you learn what each message means.
116
+
117
+First Docker checks to make sure it has everything it needs to build.
118
+
119
+    Sending build context to Docker daemon 158.8 MB
120
+
121
+Then, Docker loads with the `whalesay` image.	It already has this image
122
+locally as you might recall from the last page. So, Docker doesn't need to
123
+download it.
124
+
125
+    Step 0 : FROM docker/whalesay:latest
126
+     ---> fb434121fc77
127
+
128
+Docker moves onto the next step which is to update the `apt-get` package
129
+manager. This takes a lot of lines, no need to list them all again here.
130
+
131
+    Step 1 : RUN apt-get -y update && apt-get install -y fortunes
132
+     ---> Running in 27d224dfa5b2
133
+    Ign http://archive.ubuntu.com trusty InRelease
134
+    Ign http://archive.ubuntu.com trusty-updates InRelease
135
+    Ign http://archive.ubuntu.com trusty-security InRelease
136
+    Hit http://archive.ubuntu.com trusty Release.gpg
137
+    ....snip...
138
+    Get:15 http://archive.ubuntu.com trusty-security/restricted amd64 Packages [14.8 kB]
139
+    Get:16 http://archive.ubuntu.com trusty-security/universe amd64 Packages [134 kB]
140
+    Reading package lists...
141
+    ---> eb06e47a01d2
142
+
143
+Then, Docker installs the new `fortunes` software.
144
+
145
+    Removing intermediate container e2a84b5f390f
146
+    Step 2 : RUN apt-get install -y fortunes
147
+     ---> Running in 23aa52c1897c
148
+    Reading package lists...
149
+    Building dependency tree...
150
+    Reading state information...
151
+    The following extra packages will be installed:
152
+      fortune-mod fortunes-min librecode0
153
+    Suggested packages:
154
+      x11-utils bsdmainutils
155
+    The following NEW packages will be installed:
156
+      fortune-mod fortunes fortunes-min librecode0
157
+    0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
158
+    Need to get 1961 kB of archives.
159
+    After this operation, 4817 kB of additional disk space will be used.
160
+    Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main librecode0 amd64 3.6-21 [771 kB]
161
+    ...snip......
162
+    Setting up fortunes (1:1.99.1-7) ...
163
+    Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
164
+     ---> c81071adeeb5
165
+    Removing intermediate container 23aa52c1897c
166
+
167
+Finally, Docker finishes the build and reports its outcome.		
168
+
169
+    Step 3 : CMD /usr/games/fortune -a | cowsay
170
+     ---> Running in a8e6faa88df3
171
+     ---> 7d9495d03763
172
+    Removing intermediate container a8e6faa88df3
173
+    Successfully built 7d9495d03763
174
+
175
+
176
+## Step 4: Run your new docker-whale
177
+
178
+In this step, you verify the new images is on your computer and then you run your new image.
179
+
180
+1. Open a command line terminal.
181
+
182
+2. Type `docker images` and press RETURN.
183
+
184
+    This command, you might remember, lists the images you have locally.
185
+
186
+        $ docker images
187
+        REPOSITORY           TAG          IMAGE ID          CREATED             VIRTUAL SIZE
188
+        docker-whale         latest       7d9495d03763      4 minutes ago       273.7 MB
189
+        docker/whalesay      latest       fb434121fc77      4 hours ago         247 MB
190
+        hello-world          latest       91c95931e552      5 weeks ago         910 B
191
+
192
+3. Run your new image by typing `docker run docker-whale` and pressing RETURN.
193
+
194
+        $ docker run docker-whale
195
+         _________________________________________
196
+        / "He was a modest, good-humored boy. It  \
197
+        \ was Oxford that made him insufferable." /
198
+         -----------------------------------------
199
+                  \
200
+                   \
201
+                    \     
202
+                                  ##        .            
203
+                            ## ## ##       ==            
204
+                         ## ## ## ##      ===            
205
+                     /""""""""""""""""___/ ===        
206
+                ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
207
+                     \______ o          __/            
208
+                      \    \        __/             
209
+                        \____\______/   
210
+
211
+As you can see, you've made the whale a lot smarter. It finds its own
212
+things to say and the command line is a lot shorter!  You may also notice
213
+that Docker didn't have to download anything.  That is because the image was
214
+built locally and is already available.
215
+
216
+## Where to go next
217
+
218
+On this page, you learned to build an image by writing your own Dockerfile.
219
+You ran your image in a container. You also just used Linux from your Mac yet
220
+again. In the next section, you take the first step in sharing your image by
221
+[creating a Docker Hub account](step_five.md).
222
+
223
+
224
+&nbsp;
0 225
new file mode 100644
... ...
@@ -0,0 +1,141 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_one/",
3
+"/windows/step_one/",
4
+"/linux/step_one/",
5
+]
6
+title = "Install Docker and run hello-world"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker, install"]
9
+[menu.main]
10
+identifier = "getstart_all_install"
11
+parent = "getstart_all"
12
+weight = 1
13
+<![end-metadata]-->
14
+
15
+# Install Docker
16
+
17
+## Step 1: Get Docker
18
+
19
+### Docker for Mac
20
+
21
+Docker for Mac is our newest offering for the Mac. It runs as a native Mac application and uses <a href="https://github.com/mist64/xhyve/" target="_blank">xhyve</a> to virutalize the Docker Engine environment and Linux kernel-specific features for the Docker daemon.
22
+
23
+<a class="button" href="https://download.docker.com/mac/beta/Docker.dmg">Get Docker for Mac</a>
24
+
25
+#### Install Prequisites
26
+
27
+- Mac must be a 2010 or newer model, with Intel's hardware support for memory management unit (MMU) virtualization; i.e., Extended Page Tables (EPT)
28
+
29
+- OS X 10.10.3 Yosemite or newer
30
+
31
+- At least 4GB of RAM
32
+
33
+- VirtualBox prior to version 4.3.30 must NOT be installed (it is incompatible with Docker for Mac). Docker for Mac will error out on install in this case. Uninstall the older version of VirtualBox and re-try the install.
34
+
35
+#### Docker Toolbox for the Mac
36
+
37
+If you have an earlier Mac that doesn't meet the Docker for Mac prerequisites, <a href="https://www.docker.com/products/docker-toolbox" target="_blank">get Docker Toolbox</a> for the Mac.
38
+
39
+See [Docker Toolbox Overview](toolbox/overview/) for help on installing Docker with Toolbox.
40
+
41
+### Docker for Windows
42
+
43
+Docker for Windows is our newest offering for PCs. It runs as a native Windows application and uses Hyper-V to virutalize the Docker Engine environment and Linux kernel-specific features for the Docker daemon.
44
+
45
+<a class="button" href="https://download.docker.com/win/beta/InstallDocker.msi">Get Docker for Windows</a>
46
+
47
+
48
+#### Install Prequisites
49
+
50
+* 64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later). In the future we will support more versions of Windows 10.
51
+
52
+* The Hyper-V package must be enabled. The Docker for Windows installer will enable it for you, if needed. (This requires a reboot).
53
+
54
+#### Docker Toolbox for Windows
55
+
56
+If you have an earlier Windows system that doesn't meet the Docker for Windows prerequisites, <a href="https://www.docker.com/products/docker-toolbox" target="_blank">get Docker Toolbox</a>.
57
+
58
+See [Docker Toolbox Overview](toolbox/overview/) for help on installing Docker with Toolbox.
59
+
60
+### Docker for Linux
61
+Docker Engine runs navitvely on Linux distributions.
62
+
63
+For full instructions on getting Docker for various Linux distributions, see [Install Docker Engine](/engine/installation/).
64
+
65
+## Step 2: Install Docker
66
+
67
+* For install instructions for Docker for Mac, see [Getting Started with Docker for Mac](/docker-for-mac/).
68
+
69
+* For install instructions for Docker for Windows, see [Getting Started with Docker for Windows](/docker-for-windows/).
70
+
71
+* For install instructions for Docker Toolbox, see [Docker Toolbox Overview](toolbox/overview/).
72
+
73
+* For a simple example of installing Docker on Ubuntu Linux so that you can work through this tutorial, see [Installing Docker on Ubuntu Linux (Example)](linux_install_help.md).
74
+
75
+  For full install instructions for Docker on Linux, see [Install Docker Engine](/engine/installation/) and select the flavor of Linux you want to use.
76
+
77
+## Step 3: Verify your installation
78
+
79
+1. Open a command-line terminal, and run some Docker commands to verify that Docker is working as expected.
80
+
81
+  Some good commands to try are `docker version` to check that you have the latest release installed and `docker ps` to see if you have any running containers. (Probably not, since you just started.)
82
+
83
+2. Type the `docker run hello-world` command and press RETURN.
84
+
85
+    The command does some work for you, if everything runs well, the command's
86
+    output looks like this:
87
+
88
+        $ docker run hello-world
89
+        Unable to find image 'hello-world:latest' locally
90
+        latest: Pulling from library/hello-world
91
+        535020c3e8ad: Pull complete
92
+        af340544ed62: Pull complete
93
+        Digest: sha256:a68868bfe696c00866942e8f5ca39e3e31b79c1e50feaee4ce5e28df2f051d5c
94
+        Status: Downloaded newer image for hello-world:latest
95
+
96
+        Hello from Docker.
97
+        This message shows that your installation appears to be working correctly.
98
+
99
+        To generate this message, Docker took the following steps:
100
+        1. The Docker Engine CLI client contacted the Docker Engine daemon.
101
+        2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
102
+        3. The Docker Engine daemon created a new container from that image which runs the
103
+           executable that produces the output you are currently reading.
104
+        4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
105
+           to your terminal.
106
+
107
+        To try something more ambitious, you can run an Ubuntu container with:
108
+        $ docker run -it ubuntu bash
109
+
110
+        Share images, automate workflows, and more with a free Docker Hub account:
111
+        https://hub.docker.com
112
+
113
+        For more examples and ideas, visit:
114
+        https://docs.docker.com/userguide/
115
+
116
+3. Run `docker ps -a` to show all containers on the system.
117
+
118
+        $ docker ps -a
119
+
120
+        CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
121
+        592376ff3eb8        hello-world         "/hello"            25 seconds ago      Exited (0) 24 seconds ago                       prickly_wozniak
122
+
123
+    You should see your `hello-world` container listed in the output for the `docker ps -a` command.
124
+
125
+    The command `docker ps` shows only currently running containers. Since `hello-world` already ran and exited, it wouldn't show up with a `docker ps`.
126
+
127
+## Looking for troubleshooting help?
128
+
129
+Typically, the above steps work out-of-the-box, but some scenarios can cause problems. If your `docker run hello-world` didn't work and resulted in errors, check out [Troubleshooting](/tutorials/faqs/troubleshoot.md) for quick fixes to common problems.
130
+
131
+## Where to go next
132
+
133
+At this point, you have successfully installed the Docker software. Leave the
134
+Docker Quickstart Terminal window open. Now, go to the next page to [read a very
135
+short introduction Docker images and containers](step_two.md).
136
+
137
+
138
+&nbsp;
0 139
new file mode 100644
... ...
@@ -0,0 +1,205 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_six/",
3
+"/windows/step_six/",
4
+"/linux/step_six/",
5
+]
6
+title = "Tag, push, & pull your image"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_tag_push_pull"
11
+parent = "getstart_all"
12
+weight = 6
13
+<![end-metadata]-->
14
+
15
+
16
+# Tag, push, and pull your image
17
+
18
+In this section, you tag and push your `docker-whale` image to your newly
19
+created repository. When you are done, you test the repository by pulling your
20
+new image.
21
+
22
+## Step 1: Tag and push the image
23
+
24
+If you don't already have a terminal open, open one now:
25
+
26
+1. Go back to your command line terminal.
27
+
28
+2. At the prompt, type `docker images` to list the images you currently have:
29
+
30
+        $ docker images
31
+        REPOSITORY           TAG          IMAGE ID            CREATED             VIRTUAL SIZE
32
+        docker-whale         latest       7d9495d03763        38 minutes ago      273.7 MB
33
+        <none>               <none>       5dac217f722c        45 minutes ago      273.7 MB
34
+        docker/whalesay      latest       fb434121fc77        4 hours ago         247 MB
35
+        hello-world          latest       91c95931e552        5 weeks ago         910 B
36
+
37
+5. Find the `IMAGE ID` for your `docker-whale` image.
38
+
39
+  	 In this example, the id is `7d9495d03763`.
40
+
41
+     Notice that currently, the `REPOSITORY` shows the repo name `docker-whale`
42
+     but not the namespace. You need to include the `namespace` for Docker Hub to
43
+     associate it with your account. The `namespace` is the same as your Docker
44
+     Hub account name. You need to rename the image to
45
+     `YOUR_DOCKERHUB_NAME/docker-whale`.
46
+
47
+6. Use `IMAGE ID` and the `docker tag` command to tag your `docker-whale` image.
48
+
49
+    The command you type looks like this:
50
+
51
+    ![Docker tag command](tutimg/tagger.png)
52
+
53
+    Of course, your account name will be your own. So, you type the command with
54
+    your image's ID and your account name and press RETURN.
55
+
56
+		$ docker tag 7d9495d03763 maryatdocker/docker-whale:latest
57
+
58
+7. Type the `docker images` command again to see your newly tagged image.
59
+
60
+        $ docker images
61
+        REPOSITORY                  TAG       IMAGE ID        CREATED          VIRTUAL SIZE
62
+        maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
63
+        docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
64
+        <none>                      <none>    5dac217f722c    5 hours ago      273.7 MB
65
+        docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
66
+        hello-world                 latest    91c95931e552    5 weeks ago      910 B
67
+
68
+8. Use the `docker login` command to log into the Docker Hub from the command line.
69
+
70
+    The format for the login command is:
71
+
72
+        docker login --username=yourhubusername --email=youremail@company.com
73
+
74
+    When prompted, enter your password and press enter. So, for example:
75
+
76
+        $ docker login --username=maryatdocker --email=mary@docker.com
77
+        Password:
78
+        WARNING: login credentials saved in C:\Users\sven\.docker\config.json
79
+        Login Succeeded
80
+
81
+9. Type the `docker push` command to push your image to your new repository.
82
+
83
+		$ docker push maryatdocker/docker-whale
84
+			The push refers to a repository [maryatdocker/docker-whale] (len: 1)
85
+			7d9495d03763: Image already exists
86
+			c81071adeeb5: Image successfully pushed
87
+			eb06e47a01d2: Image successfully pushed
88
+			fb434121fc77: Image successfully pushed
89
+			5d5bd9951e26: Image successfully pushed
90
+			99da72cfe067: Image successfully pushed
91
+			1722f41ddcb5: Image successfully pushed
92
+			5b74edbcaa5b: Image successfully pushed
93
+			676c4a1897e6: Image successfully pushed
94
+			07f8e8c5e660: Image successfully pushed
95
+			37bea4ee0c81: Image successfully pushed
96
+			a82efea989f9: Image successfully pushed
97
+			e9e06b06e14c: Image successfully pushed
98
+			Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
99
+
100
+10. Return to your profile on Docker Hub to see your new image.
101
+
102
+  ![Docker tag command](tutimg/new_image.png)
103
+
104
+## Step 2: Pull your new image
105
+
106
+In this last section, you'll pull the image you just pushed to hub. Before you
107
+do that though, you'll need to remove the original image from your local
108
+machine. If you left the original image on your machine. Docker would not pull
109
+from the hub &mdash; why would it? The two images are identical.
110
+
111
+1. Make sure Docker is running, and open a command line terminal.
112
+
113
+2. At the prompt, type `docker images` to list the images you currently have on your local machine.
114
+
115
+		$ docker images
116
+		REPOSITORY                  TAG       IMAGE ID        CREATED          VIRTUAL SIZE
117
+		maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
118
+		docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
119
+		<none>                      <none>    5dac217f722c    5 hours ago      273.7 MB
120
+		docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
121
+		hello-world                 latest    91c95931e552    5 weeks ago      910 B
122
+
123
+    To make a good test, you need to remove the `maryatdocker/docker-whale` and
124
+   `docker-whale` images from your local system. Removing them forces the next
125
+   `docker pull` to get the image from your repository.
126
+
127
+3. Use the `docker rmi` to remove the `maryatdocker/docker-whale` and `docker-whale`
128
+images.
129
+
130
+	You can use an ID or the name to remove an image.
131
+
132
+		$ docker rmi -f 7d9495d03763
133
+		$ docker rmi -f docker-whale
134
+
135
+4. Pull and load a new image from your repository using the `docker run` command.
136
+
137
+    The command you type should include your username from Docker Hub.
138
+
139
+         docker run yourusername/docker-whale
140
+
141
+	Since the image is no longer available on your local system, Docker downloads it.
142
+
143
+		$ docker run maryatdocker/docker-whale
144
+		Unable to find image 'maryatdocker/docker-whale:latest' locally
145
+		latest: Pulling from maryatdocker/docker-whale
146
+		eb06e47a01d2: Pull complete
147
+		c81071adeeb5: Pull complete
148
+		7d9495d03763: Already exists
149
+		e9e06b06e14c: Already exists
150
+		a82efea989f9: Already exists
151
+		37bea4ee0c81: Already exists
152
+		07f8e8c5e660: Already exists
153
+		676c4a1897e6: Already exists
154
+		5b74edbcaa5b: Already exists
155
+		1722f41ddcb5: Already exists
156
+		99da72cfe067: Already exists
157
+		5d5bd9951e26: Already exists
158
+		fb434121fc77: Already exists
159
+		Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
160
+		Status: Downloaded newer image for maryatdocker/docker-whale:latest
161
+         ________________________________________
162
+        / Having wandered helplessly into a      \
163
+        | blinding snowstorm Sam was greatly     |
164
+        | relieved to see a sturdy Saint Bernard |
165
+        | dog bounding toward him with the       |
166
+        | traditional keg of brandy strapped to  |
167
+        | his collar.                            |
168
+        |                                        |
169
+        | "At last," cried Sam, "man's best      |
170
+        \ friend -- and a great big dog, too!"   /
171
+         ----------------------------------------
172
+                        \
173
+                         \
174
+                          \
175
+                                  ##        .
176
+                            ## ## ##       ==
177
+                         ## ## ## ##      ===
178
+                     /""""""""""""""""___/ ===
179
+                ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
180
+                     \______ o          __/
181
+                      \    \        __/
182
+                        \____\______/
183
+
184
+## Where to go next
185
+
186
+You've done a lot, you've done all of the following fundamental Docker tasks.
187
+
188
+* installed Docker
189
+* run a software image in a container
190
+* located an interesting image on Docker Hub
191
+* run the image on your own machine
192
+* modified an image to create your own and run it
193
+* create a Docker Hub account and repository
194
+* pushed your image to Docker Hub for others to share
195
+
196
+<a href="https://twitter.com/intent/tweet?button_hashtag=dockerdocs&text=Just%20ran%20a%20container%20with%20an%20image%20I%20built.%20Find%20it%20on%20%23dockerhub.%20Build%20your%20own%3A%20http%3A%2F%2Fgoo.gl%2FMUi7cA" class="twitter-hashtag-button" data-size="large" data-related="docker" target="_blank">Tweet your accomplishment!</a>
197
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
198
+
199
+You've only scratched the surface of what Docker can do. Go to the next page to [learn more](last_page.md).
200
+
201
+
202
+&nbsp;
0 203
new file mode 100644
... ...
@@ -0,0 +1,143 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_three/",
3
+"/windows/step_three/",
4
+"/linux/step_three/",
5
+]
6
+title = "Find & run the whalesay image"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_locate"
11
+parent = "getstart_all"
12
+weight = 3
13
+<![end-metadata]-->
14
+
15
+# Find and run the whalesay image
16
+
17
+People all over the world create Docker images. You can find these images by
18
+browsing the Docker Hub. In this next section, you'll search for and find the
19
+image you'll use in the rest of this getting started.
20
+
21
+## Step 1: Locate the whalesay image
22
+
23
+1. Open your browser and  <a href="https://hub.docker.com/?utm_source=getting_started_guide&utm_medium=embedded_MacOSX&utm_campaign=find_whalesay" target=_blank> browse to the Docker Hub</a>.
24
+
25
+    ![Browse Docker Hub](tutimg/browse_and_search.png)
26
+
27
+	The Docker Hub contains images from individuals like you and official images
28
+	from organizations like RedHat, IBM, Google, and a whole lot more.
29
+
30
+2. Click **Browse & Search**.
31
+
32
+    The browser opens the search page.
33
+
34
+3. Enter the word `whalesay` in the search bar.
35
+
36
+    ![Browse Docker Hub](tutimg/image_found.png)
37
+
38
+4. Click on the **docker/whalesay** image in the results.
39
+
40
+    The browser displays the repository for the **whalesay** image.
41
+
42
+    ![Browse Docker Hub](tutimg/whale_repo.png)
43
+
44
+	  Each image repository contains information about an image. It should
45
+    include information such as what kind of software the image contains and
46
+    how to use it. You may notice that the **whalesay** image is based on a
47
+    Linux distribution called Ubuntu. In the next step, you run the **whalesay** image on your machine.
48
+
49
+## Step 2: Run the whalesay image
50
+
51
+Make sure Docker is running. On Docker for Mac and Docker for Windows, this is indicated by the Docker whale showing in the status bar.
52
+
53
+1. Open a command-line terminal.
54
+
55
+2. Type the `docker run docker/whalesay cowsay boo` command and press RETURN.
56
+
57
+    This command runs the **whalesay** image in a container. Your terminal should look like the following:
58
+
59
+        $ docker run docker/whalesay cowsay boo
60
+        Unable to find image 'docker/whalesay:latest' locally
61
+        latest: Pulling from docker/whalesay
62
+        e9e06b06e14c: Pull complete
63
+        a82efea989f9: Pull complete
64
+        37bea4ee0c81: Pull complete
65
+        07f8e8c5e660: Pull complete
66
+        676c4a1897e6: Pull complete
67
+        5b74edbcaa5b: Pull complete
68
+        1722f41ddcb5: Pull complete
69
+        99da72cfe067: Pull complete
70
+        5d5bd9951e26: Pull complete
71
+        fb434121fc77: Already exists
72
+        Digest: sha256:d6ee73f978a366cf97974115abe9c4099ed59c6f75c23d03c64446bb9cd49163
73
+        Status: Downloaded newer image for docker/whalesay:latest
74
+         _____
75
+        < boo >
76
+         -----
77
+            \
78
+             \
79
+              \     
80
+                            ##        .            
81
+                      ## ## ##       ==            
82
+                   ## ## ## ##      ===            
83
+               /""""""""""""""""___/ ===        
84
+          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
85
+               \______ o          __/            
86
+                \    \        __/             
87
+                  \____\______/   
88
+
89
+	The first time you run a software image, the `docker` command looks for it
90
+	on your local system. If the image isn't there, then `docker` gets it from
91
+	the hub.
92
+
93
+5. While still in the command line terminal, type `docker images` command and press RETURN.
94
+
95
+    The command lists all the images on your local system. You should see
96
+    `docker/whalesay` in the list.
97
+
98
+        $ docker images
99
+        REPOSITORY           TAG         IMAGE ID            CREATED            VIRTUAL SIZE
100
+        docker/whalesay      latest      fb434121fc77        3 hours ago        247 MB
101
+        hello-world          latest      91c95931e552        5 weeks ago        910 B
102
+
103
+    When you run an image in a container, Docker downloads the image to your
104
+    computer. This local copy of the image saves you time.  Docker only
105
+    downloads the image again if the image's source changes on the hub.  You
106
+    can, of course, delete the image yourself. You'll learn more about that
107
+    later. Let's leave the image there for now because we are going to use it
108
+    later.
109
+
110
+6. Take a moment to play with the **whalesay** container a bit.
111
+
112
+    Try running the `whalesay` image again with a word or phrase. Try a long or
113
+    short phrase.  Can you break the cow?
114
+
115
+        $ docker run docker/whalesay cowsay boo-boo
116
+         _________
117
+        < boo-boo >
118
+         ---------
119
+            \
120
+             \
121
+              \     
122
+                            ##        .            
123
+                      ## ## ##       ==            
124
+                   ## ## ## ##      ===            
125
+               /""""""""""""""""___/ ===        
126
+          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
127
+               \______ o          __/            
128
+                \    \        __/             
129
+                  \____\______/   
130
+
131
+## Where to go next
132
+
133
+On this page, you learned to search for images on Docker Hub. You used your
134
+command line to run an image. Think about it, effectively you ran a piece of
135
+Linux software on your Mac computer.  You learned that running an image copies
136
+it on your computer.  Now, you are ready to create your own Docker image.
137
+Go on to the next part [to build your own image](step_four.md).
138
+
139
+
140
+&nbsp;
0 141
new file mode 100644
... ...
@@ -0,0 +1,46 @@
0
+<!--[metadata]>
1
+aliases = [
2
+"/mac/step_two/",
3
+"/windows/step_two/",
4
+"/linux/step_two/",
5
+]
6
+title = "Understand images & containers"
7
+description = "Getting started with Docker"
8
+keywords = ["beginner, getting started, Docker"]
9
+[menu.main]
10
+identifier = "getstart_understand"
11
+parent = "getstart_all"
12
+weight = 2
13
+<![end-metadata]-->
14
+
15
+#  Learn about images & containers
16
+
17
+Docker Engine provides the core Docker technology that enables images and
18
+containers. As the last step in your installation, you ran the
19
+`docker run hello-world` command. The command you ran had three parts.
20
+
21
+![Container Explainer](tutimg/container_explainer.png)
22
+
23
+An *image* is a filesystem and parameters to use at runtime. It doesn't have
24
+state and never changes. A *container* is a running instance of an image.
25
+When you ran the command, Docker Engine:
26
+
27
+* checked to see if you had the `hello-world` software image
28
+* downloaded the image from the Docker Hub (more about the hub later)
29
+* loaded the image into the container and "ran" it
30
+
31
+Depending on how it was built, an image might run a simple, single command and then exit. This is what `Hello-World` did.
32
+
33
+A Docker image, though, is capable of much more. An image can start software as complex as a database, wait for you (or someone else) to add data, store the data for later use, and then wait for the next person.
34
+
35
+Who built the `hello-world` software image though? In this case, Docker did but anyone can. Docker Engine lets people (or companies) create and share software through Docker images. Using Docker Engine, you don't have to worry about whether your computer can run the software in a Docker image &mdash; a Docker container *can always run it*.
36
+
37
+## Where to go next
38
+
39
+See, that was quick wasn't it? Now, you are ready to do some really fun stuff with Docker.
40
+Go on to the next part [to find and run the whalesay image](step_three.md).
41
+
42
+
43
+&nbsp;
0 44
new file mode 100644
1 45
Binary files /dev/null and b/docs/getstarted/tutimg/add_repository.png differ
2 46
new file mode 100644
3 47
Binary files /dev/null and b/docs/getstarted/tutimg/browse_and_search.png differ
4 48
new file mode 100644
5 49
Binary files /dev/null and b/docs/getstarted/tutimg/container_explainer.png differ
6 50
new file mode 100644
7 51
Binary files /dev/null and b/docs/getstarted/tutimg/hub_signup.png differ
8 52
new file mode 100644
9 53
Binary files /dev/null and b/docs/getstarted/tutimg/image_found.png differ
10 54
new file mode 100644
11 55
Binary files /dev/null and b/docs/getstarted/tutimg/line_one.png differ
12 56
new file mode 100644
13 57
Binary files /dev/null and b/docs/getstarted/tutimg/new_image.png differ
14 58
new file mode 100644
15 59
Binary files /dev/null and b/docs/getstarted/tutimg/tagger.png differ
16 60
new file mode 100644
17 61
Binary files /dev/null and b/docs/getstarted/tutimg/whale_repo.png differ