<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../../../img/favicon.ico">

        <title>Docker Container Option - Apache Mynewt</title>

        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../../../css/highlight.css">
        <link href="../../../css/base.css" rel="stylesheet">
        <link href="../../../css/custom.css" rel="stylesheet">
        <link href="../../../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="Docker Container Option">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <div role="search">
            <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
                <div class="form-group">
                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
                </div>
            </form>
        </div>
    </div>
    <ul class="toc-nav">
      <li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest">
    Version: master
  </option>
  <option value="/v1_12_0/" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0/" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0/" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0/" >
    Version: 1.9.0
  </option>
    <option value="/v1_8_0/" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0/" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0/" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0/" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0/" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" selected="selected" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../get_started/">Basic Setup</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../native_install_intro/">Native Install Option</a>
  
  
    </li>

              
          
              
                
  <li class="active">
    <a href="./">Docker Container Option</a>
  </li>

              
          
              
                
  <li >
    <a href="../project_create/">Create Your First Project</a>
  </li>

              
          
              
                
  <li >
    <a href="../serial_access/">Serial Port Setup</a>
  </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  <li >
    <a href="../vocabulary/">Concepts</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../tutorials/tutorials/">Tutorials</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../os_user_guide/">OS User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../network/ble/ble_intro/
">BLE User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../known_issues/">Known Issues</a>
  </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../../faq/go_env/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; <a href="os/get_started/get_started/">Basic Setup</a></li>
        
      
        
          <li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
        
      
      
        <li>&raquo; Docker Container Option</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/os/get_started/docker.md"
            class="icon icon-github"> Edit on GitHub</a>
        
      </li>
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.1.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h2 id="everything-you-need-in-a-docker-container">Everything You Need in a Docker Container</h2>
<p>Docker provides a quick and easy way to get up and running with Mynewt. The
newt command line tool and the entire build toolchain is available in a single
docker container. The container is all that's needed to run your Mynewt based
application in the simulator.  Enabling USB2 with your docker installation will
allow you to load your application on a supported device.</p>
<p>Docker is the only supported option if you are working on a Windows machine. If you are using Mac OS X or Linux, you have the choice of installing a Docker container of tools and toolchains or installing them natively. This chapter describes how to set up the Docker image for all three platforms.</p>
<p><br></p>
<h3 id="install-docker">Install Docker</h3>
<p>Install docker for your platform. <a href="https://www.docker.com/products/docker-toolbox">Mac OS X</a> / <a href="https://www.docker.com/products/docker-toolbox">Windows</a> / <a href="https://docs.docker.com/engine/installation/linux/">Linux</a></p>
<h4 id="mac-and-windows">Mac and Windows</h4>
<p>Mac and Windows require Docker Toolbox to interact with USB devices.  Docker
for Mac and Docker for Windows do not support USB. Docker Toolbox uses
VirtualBox and allows you to map USB devices into docker containers as
described below.</p>
<p>Make sure to double click the Docker Quickstart Terminal application if you're
on Mac or Windows.</p>
<h4 id="linux">Linux</h4>
<p>The docker daemon listens on a Unix domain socket on Linux.  That socket is
owned by root, which means by default you must be root to start a container.
Make sure to follow the optional step of adding yourself to the docker group so
you can start the newt container as yourself.</p>
<p><br></p>
<h3 id="use-the-newt-wrapper-script">Use the newt wrapper script</h3>
<p>Use the newt wrapper script to invoke newt.  Create the following file, name it
<code>newt</code>, make it executable, and put it in your path. This will allow you to run newt as if it was natively installed.  You can now follow the normal tutorials using the newt wrapper script.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">#!/bin/bash</span>

<span style="color: #A90D91">if</span> <span style="color: #000000">[</span> <span style="color: #C41A16">&quot;</span><span style="color: #000000">$1</span><span style="color: #C41A16">&quot;</span> <span style="color: #000000">=</span> <span style="color: #C41A16">&quot;debug&quot;</span> <span style="color: #000000">]</span> <span style="color: #000000">||</span> <span style="color: #000000">[</span> <span style="color: #C41A16">&quot;</span><span style="color: #000000">$1</span><span style="color: #C41A16">&quot;</span> <span style="color: #000000">=</span> <span style="color: #C41A16">&quot;run&quot;</span> <span style="color: #000000">]</span>
<span style="color: #A90D91">then</span>
    <span style="color: #000000">ti=</span><span style="color: #C41A16">&quot;-ti&quot;</span>
<span style="color: #A90D91">fi</span>

docker run -e <span style="color: #000000">NEWT_USER=</span><span style="color: #A90D91">$(</span>id -u<span style="color: #A90D91">)</span> -e <span style="color: #000000">NEWT_GROUP=</span><span style="color: #A90D91">$(</span>id -g<span style="color: #A90D91">)</span> -e <span style="color: #000000">NEWT_HOST=</span><span style="color: #A90D91">$(</span>uname<span style="color: #A90D91">)</span> <span style="color: #000000">$ti</span> --rm --device<span style="color: #000000">=</span>/dev/bus/usb --privileged -v <span style="color: #A90D91">$(pwd)</span>:/workspace -w /workspace mynewt/newt:latest /newt <span style="color: #C41A16">&quot;</span><span style="color: #000000">$@</span><span style="color: #C41A16">&quot;</span>
</code></pre></div>

<p><br></p>
<p><strong>Note 1:</strong> Remember to point to the correct subdirectory level when invoking <code>newt</code>. For example, invoke it using <code>../newt</code> in the example below.</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>user@~/dockertest$ ls
myproj  newt
user@~/dockertest$ cd myproj
<span style="background-color: #ffffcc">user@~/dockertest/myproj$ ../newt version
</span>Apache Newt version: 1.1.0
</code></pre></div>

<p><br></p>
<p><strong>Note 2:</strong> You can upgrade your container by running <code>docker pull mynewt/newt:latest</code> when updates are made available.</p>
<p><br></p>
<h3 id="enable-usb2-support-for-mac-or-windows">Enable USB2 Support for Mac or Windows</h3>
<p>If you plan on loading your application on an actual device, do the steps below.</p>
<p><br></p>
<h4 id="install-virtualbox-extension-pack">Install VirtualBox extension pack</h4>
<p>Docker uses a VirtualBox Linux VM to run containers.  A free VirtualBox
extension pack is required to enable USB2 support.  Download the <a href="http://download.virtualbox.org/virtualbox/5.0.16/Oracle_VM_VirtualBox_Extension_Pack-5.0.16-105871.vbox-extpack">VirtualBox
5.0.16 Oracle VM VirtualBox Extension
Pack</a>
and double click to install</p>
<p><br></p>
<h4 id="enable-usb2-and-select-your-device">Enable USB2 and select your device</h4>
<ul>
<li>
<p>The "default" VM created by docker-machine must first be stopped before you
  can enable USB2.  You have two options:</p>
<ul>
<li>Run the command <code>docker-machine stop default</code> in the terminal window or</li>
<li>Use the VirtualBox UI. Right click on <code>default</code> -&gt; Close -&gt; Power Off</li>
</ul>
</li>
<li>
<p>Enable USB2 using the VirtualBox UI. Select the "default"
  VM-&gt;Settings-&gt;Ports-&gt;USB2 to enable USB2.   Add your device to the USB Device
  Filters to make the device visible in the docker container.  See the image below.</p>
</li>
</ul>
<p><img src="../pics/virtualbox_usb.jpg" width="728px" /></p>
<ul>
<li>Restart the "default" VM. You have two options:</li>
<li>Run <code>docker-machine start default</code> in the terminal window or </li>
<li>Use the VirtualBox UI. Make sure the "default" machine is highlighted. Click the green "Start" button. Select "Headless Start".</li>
</ul>
<p><br></p>
<p><strong>Note 3</strong>: When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be able to see the board correctly. For example, you may see an error message like <code>Error: unable to find CMSIS-DAP device</code> when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. "Atmel Corp. EDBG CMSIS-DAP[0101]") by clicking on the "Removes selected USB filter" button, and add a new filter by clicking on the "Adds new USB filter" button.</p>
<p><br></p>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    </li>
    <li class="pull-right">
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
                    </div>
                </div>
            
            
        </div>

        <script src="../../../js/jquery-1.10.2.min.js"></script>
        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
        <script src="../../../js/highlight.pack.js"></script>
        <script src="../../../js/base.js"></script>
        <script src="../../../js/custom.js"></script>
            <script src="search/main.js"></script>

    </body>
</html>