github.com/guilhermebr/docker@v1.4.2-0.20150428121140-67da055cebca/docs/sources/project/software-req-win.md (about)

     1  page_title: Set up for development on Windows
     2  page_description: How to set up a server to test Docker Windows client
     3  page_keywords: development, inception, container, image Dockerfile, dependencies, Go, artifacts, windows
     4  
     5  
     6  # Get the required software for Windows
     7  
     8  This page explains how to get the software you need to use a  a Windows Server
     9  2012 or Windows 8 machine for Docker development. Before you begin contributing
    10  you must have:
    11  
    12  - a GitHub account
    13  - Git for Windows (msysGit)
    14  - TDM-GCC, a compiler suite for Windows
    15  - MinGW (tar and xz)
    16  - Go language
    17  
    18  > **Note**: This installation prcedure refers to the `C:\` drive. If you system's main drive
    19  is `D:\` you'll need to substitute that in where appropriate in these
    20  instructions.
    21  
    22  ### Get a GitHub account
    23  
    24  To contribute to the Docker project, you will need a <a
    25  href="https://github.com" target="_blank">GitHub account</a>. A free account is
    26  fine. All the Docker project repositories are public and visible to everyone.
    27  
    28  You should also have some experience using both the GitHub application and `git`
    29  on the command line. 
    30  
    31  ## Install Git for Windows
    32  
    33  Git for Windows includes several tools including msysGit, which is a build
    34  environment. The environment contains the tools you need for development such as
    35  Git and a Git Bash shell.
    36  
    37  1. Browse to the [Git for Windows](https://msysgit.github.io/) download page.
    38  
    39  2. Click **Download**.
    40  
    41  	Windows prompts you to save the file to your machine.
    42  
    43  3. Run the saved file.
    44  
    45  	The system displays the **Git Setup** wizard.
    46  
    47  4. Click the **Next** button to move through the wizard and accept all the defaults.
    48  
    49  5. Click **Finish** when you are done.
    50  
    51  ## Installing TDM-GCC
    52  
    53  TDM-GCC is a compiler suite for Windows. You'll use this suite to compile the
    54  Docker Go code as you develop.
    55  
    56  1. Browse to
    57     [tdm-gcc download page](http://tdm-gcc.tdragon.net/download).
    58  
    59  2. Click on the lastest 64-bit version of the package.
    60  
    61  	Windows prompts you to save the file to your machine
    62  
    63  3. Set up the suite by running the downloaded file.
    64  
    65  	The system opens the **TDM-GCC Setup** wizard.
    66  	
    67  4. Click **Create**.
    68  
    69  5. Click the **Next** button to move through the wizard and accept all the defaults.
    70  
    71  6. Click **Finish** when you are done.
    72  
    73  
    74  ## Installing MinGW (tar and xz)
    75  
    76  MinGW is a minimalist port of the GNU Compiler Collection (GCC). In this
    77  procedure, you first download and install the MinGW installation manager. Then,
    78  you use the manager to install the `tar` and `xz` tools from the collection.
    79  
    80  1. Browse to MinGW 
    81     [SourceForge](http://sourceforge.net/projects/mingw/).
    82  
    83  2. Click **Download**.
    84  
    85  	 Windows prompts you to save the file to your machine
    86  
    87  3. Run the downloaded file.
    88  
    89     The system opens the **MinGW Installation Manager Setup Tool**
    90  
    91  4. Choose **Install**  install the MinGW Installation Manager.
    92  
    93  5. Press **Continue**.
    94  
    95  	The system installs and then opens the MinGW Installation Manager.
    96  	
    97  6. Press **Continue** after the install completes to open the manager.
    98  
    99  7. Select **All Packages > MSYS Base System** from the left hand menu.
   100  
   101  	The system displays the available packages.
   102  
   103  8. Click on the the **msys-tar bin** package and choose **Mark for Installation**.
   104  
   105  9. Click on the **msys-xz bin** package and choose **Mark for Installation**.
   106    
   107  10. Select **Installation > Apply Changes**, to install the selected packages.
   108  
   109  	The system displays the **Schedule of Pending Actions Dialog**.
   110  
   111      ![windows-mingw](/project/images/windows-mingw.png)
   112      
   113  11. Press **Apply**
   114  
   115  	MingGW installs the packages for you.
   116  
   117  12. Close the dialog and the MinGW Installation Manager.
   118  
   119  
   120  ## Set up your environment variables
   121  
   122  You'll need to add the compiler to your `Path` environment variable. 
   123  
   124  1. Open the **Control Panel**.
   125  
   126  2. Choose **System and Security > System**. 
   127  
   128  3. Click the **Advanced system settings** link in the sidebar.
   129  
   130  	The system opens the **System Properties** dialog.
   131  
   132  3. Select the **Advanced** tab.
   133  
   134  4. Click **Environment Variables**. 
   135  
   136  	The system opens the **Environment Variables dialog** dialog.
   137  
   138  5. Locate the **System variables** area and scroll to the **Path**
   139     variable.
   140  
   141      ![windows-mingw](/project/images/path_variable.png)
   142  
   143  6. Click **Edit** to edit the variable (you can also double-click it).
   144  
   145  	The system opens the **Edit System Variable** dialog.
   146  
   147  7. Make sure the `Path` includes `C:\TDM-GCC64\bin` 
   148  
   149  	 ![include gcc](/project/images/include_gcc.png)
   150  	 
   151  	 If you don't see `C:\TDM-GCC64\bin`, add it.
   152  		
   153  8. Press **OK** to close this dialog.
   154  	
   155  9. Press **OK** twice to close out of the remaining dialogs.
   156  
   157  ## Install Go and cross-compile it
   158  
   159  In this section, you install the Go language. Then, you build the source so that it can cross-compile for `linux/amd64` architectures.
   160  
   161  1. Open [Go Language download](http://golang.org/dl/) page in your browser.
   162  
   163  2. Locate and click the latest `.msi` installer.
   164  
   165  	The system prompts you to save the file.
   166  
   167  3. Run the installer.
   168  
   169  	The system opens the **Go Programming Langauge Setup** dialog.
   170  
   171  4. Select all the defaults to install.
   172  
   173  5. Press **Finish** to close the installation dialog.
   174  
   175  6. Start a command prompt.
   176  
   177  7. Change to the Go `src` directory.
   178  
   179  		cd c:\Go\src 
   180  
   181  8. Set the following Go variables
   182  
   183  		c:\Go\src> set GOOS=linux
   184  		c:\Go\src> set GOARCH=amd64
   185       
   186  9. Compile the source.
   187  
   188  		c:\Go\src> make.bat
   189      
   190  	Compiling the source also adds a number of variables to your Windows environment.
   191  
   192  ## Get the Docker repository
   193  
   194  In this step, you start a Git `bash` terminal and get the Docker source code from
   195  Github. 
   196  
   197  1. Locate the **Git Bash** program and start it.
   198  
   199  	Recall that **Git Bash** came with the Git for Windows installation.  **Git
   200  	Bash** just as it sounds allows you to run a Bash terminal on Windows.
   201  	
   202  	![Git Bash](/project/images/git_bash.png)
   203  
   204  2. Change to the root directory.
   205  
   206  		$ cd /c/
   207  				
   208  3. Make a `gopath` directory.
   209  
   210  		$ mkdir gopath
   211  
   212  4. Go get the `docker/docker` repository.
   213  
   214  		$ go.exe get github.com/docker/docker package github.com/docker/docker
   215          imports github.com/docker/docker
   216          imports github.com/docker/docker: no buildable Go source files in C:\gopath\src\github.com\docker\docker
   217  
   218  	In the next steps, you create environment variables for you Go paths.
   219  	
   220  5. Open the **Control Panel** on your system.
   221  
   222  6. Choose **System and Security > System**. 
   223  
   224  7. Click the **Advanced system settings** link in the sidebar.
   225  
   226  	The system opens the **System Properties** dialog.
   227  
   228  8. Select the **Advanced** tab.
   229  
   230  9. Click **Environment Variables**. 
   231  
   232  	The system opens the **Environment Variables dialog** dialog.
   233  
   234  10. Locate the **System variables** area and scroll to the **Path**
   235     variable.
   236  
   237  11. Click **New**.
   238  
   239  	Now you are going to create some new variables. These paths you'll create in the next procedure; but you can set them now.
   240  
   241  12. Enter `GOPATH` for the **Variable Name**.
   242  
   243  13. For the **Variable Value** enter the following:
   244   
   245  		C:\gopath;C:\gopath\src\github.com\docker\docker\vendor
   246  		
   247  	
   248  14. Press **OK** to close this dialog.
   249  
   250  	The system adds `GOPATH` to the list of **System Variables**.
   251  	
   252  15. Press **OK** twice to close out of the remaining dialogs.
   253  
   254  
   255  ## Where to go next
   256  
   257  In the next section, you'll [learn how to set up and configure Git for
   258  contributing to Docker](/project/set-up-git/).