Ubuntu on Windows 10: Docker vs WSL












9















I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:




  1. Using the Windows Subsystem for Linux (WSL).

  2. Installing docker for Windows 10, and use a container with Ubuntu.


However, I could not find an easy to understand explanation of what are the differences between them (talking about applications), as well as advantages and disadvantages.



I found a post talking about using docker on WSL: Ubuntu via (Windows Linux Subsystem) and Docker.
But I'm talking about using it directly on Windows 10. So I will appreciate any information about these two.










share|improve this question























  • I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

    – Hi-Angel
    Nov 1 '17 at 22:16


















9















I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:




  1. Using the Windows Subsystem for Linux (WSL).

  2. Installing docker for Windows 10, and use a container with Ubuntu.


However, I could not find an easy to understand explanation of what are the differences between them (talking about applications), as well as advantages and disadvantages.



I found a post talking about using docker on WSL: Ubuntu via (Windows Linux Subsystem) and Docker.
But I'm talking about using it directly on Windows 10. So I will appreciate any information about these two.










share|improve this question























  • I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

    – Hi-Angel
    Nov 1 '17 at 22:16
















9












9








9


4






I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:




  1. Using the Windows Subsystem for Linux (WSL).

  2. Installing docker for Windows 10, and use a container with Ubuntu.


However, I could not find an easy to understand explanation of what are the differences between them (talking about applications), as well as advantages and disadvantages.



I found a post talking about using docker on WSL: Ubuntu via (Windows Linux Subsystem) and Docker.
But I'm talking about using it directly on Windows 10. So I will appreciate any information about these two.










share|improve this question














I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:




  1. Using the Windows Subsystem for Linux (WSL).

  2. Installing docker for Windows 10, and use a container with Ubuntu.


However, I could not find an easy to understand explanation of what are the differences between them (talking about applications), as well as advantages and disadvantages.



I found a post talking about using docker on WSL: Ubuntu via (Windows Linux Subsystem) and Docker.
But I'm talking about using it directly on Windows 10. So I will appreciate any information about these two.







windows-10 docker windows-subsystem-for-linux






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 27 '17 at 9:27









alvgomalvgom

5526




5526













  • I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

    – Hi-Angel
    Nov 1 '17 at 22:16





















  • I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

    – Hi-Angel
    Nov 1 '17 at 22:16



















I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

– Hi-Angel
Nov 1 '17 at 22:16







I'm no expert in any of them to write an answer, but my vote goes to Docker. The reason is that Docker implies virtualization, so things should just work. WSL on the other hand is full of bugs. It does work for benchmarks, fun, and mostly development; but if you're about to deploy something serious, this is not your choice, at least not yet.

– Hi-Angel
Nov 1 '17 at 22:16












2 Answers
2






active

oldest

votes


















8














Microsoft PM working on WSL & Command Line here.



WSL is primarily designed to bring one or more Linux command-line environments alongside all your favorite Windows tools. WSL runs native Linux ELF-64 binaries directly on Windows, and enables you to run your favorite Linux tools atop your Windows "host" OS, sharing the same underlying filesystem, networking, process list, etc. as the host OS.



Docker, on the other hand, provides a way to quickly & easily create a container that essentially wraps a shared (host) kernel & OS, with additional layers of extra functionality (e.g. adding Java, Ruby, MySQL, etc.). It's also easy to pcakge, deploy, and/or share your Docker containers with others if you wish.



WSL is built as a productivity tool for developers & IT Pro's who need a local, immediate, genuine Linux-compatible environment that integrates with Windows, and allows Linux tools to run alongside and/or interact with Windows files/apps.



Docker is built to enable isolated containers to be quickly, reliably, and repeatedly constructed, deployed and/or shared, but do not integrate deeply with your host machine's OS.



WSL is a local dev productivity feature, but is not suitable as a host for production workloads - that's where Docker and/or VM's shine.



To learn more about WSL, review the videos & docs here: https://aka.ms/learnwsl






share|improve this answer

































    0














    That is correct. One thing that you do fail to mention is that WSL is currently rather slow in io even with a fast ssd/lots of ram/8-core xeon cpu. This is still a problem in 01/2019. I just did a ray@DESKTOP-O0MT13B:/mnt/c/Users/rayjh$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync on my workstation with a samsung SSD and only got 97.6 MB/s.



    Running bare metal ubuntu LTS this box will get SEVERAL times that. Never mind the endless problems when you try to combine WSL with VSCODE.



    I'm wiping windows 10 off of here and installing ubuntu 18.04LTS.





    share























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "89"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f969810%2fubuntu-on-windows-10-docker-vs-wsl%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      8














      Microsoft PM working on WSL & Command Line here.



      WSL is primarily designed to bring one or more Linux command-line environments alongside all your favorite Windows tools. WSL runs native Linux ELF-64 binaries directly on Windows, and enables you to run your favorite Linux tools atop your Windows "host" OS, sharing the same underlying filesystem, networking, process list, etc. as the host OS.



      Docker, on the other hand, provides a way to quickly & easily create a container that essentially wraps a shared (host) kernel & OS, with additional layers of extra functionality (e.g. adding Java, Ruby, MySQL, etc.). It's also easy to pcakge, deploy, and/or share your Docker containers with others if you wish.



      WSL is built as a productivity tool for developers & IT Pro's who need a local, immediate, genuine Linux-compatible environment that integrates with Windows, and allows Linux tools to run alongside and/or interact with Windows files/apps.



      Docker is built to enable isolated containers to be quickly, reliably, and repeatedly constructed, deployed and/or shared, but do not integrate deeply with your host machine's OS.



      WSL is a local dev productivity feature, but is not suitable as a host for production workloads - that's where Docker and/or VM's shine.



      To learn more about WSL, review the videos & docs here: https://aka.ms/learnwsl






      share|improve this answer






























        8














        Microsoft PM working on WSL & Command Line here.



        WSL is primarily designed to bring one or more Linux command-line environments alongside all your favorite Windows tools. WSL runs native Linux ELF-64 binaries directly on Windows, and enables you to run your favorite Linux tools atop your Windows "host" OS, sharing the same underlying filesystem, networking, process list, etc. as the host OS.



        Docker, on the other hand, provides a way to quickly & easily create a container that essentially wraps a shared (host) kernel & OS, with additional layers of extra functionality (e.g. adding Java, Ruby, MySQL, etc.). It's also easy to pcakge, deploy, and/or share your Docker containers with others if you wish.



        WSL is built as a productivity tool for developers & IT Pro's who need a local, immediate, genuine Linux-compatible environment that integrates with Windows, and allows Linux tools to run alongside and/or interact with Windows files/apps.



        Docker is built to enable isolated containers to be quickly, reliably, and repeatedly constructed, deployed and/or shared, but do not integrate deeply with your host machine's OS.



        WSL is a local dev productivity feature, but is not suitable as a host for production workloads - that's where Docker and/or VM's shine.



        To learn more about WSL, review the videos & docs here: https://aka.ms/learnwsl






        share|improve this answer




























          8












          8








          8







          Microsoft PM working on WSL & Command Line here.



          WSL is primarily designed to bring one or more Linux command-line environments alongside all your favorite Windows tools. WSL runs native Linux ELF-64 binaries directly on Windows, and enables you to run your favorite Linux tools atop your Windows "host" OS, sharing the same underlying filesystem, networking, process list, etc. as the host OS.



          Docker, on the other hand, provides a way to quickly & easily create a container that essentially wraps a shared (host) kernel & OS, with additional layers of extra functionality (e.g. adding Java, Ruby, MySQL, etc.). It's also easy to pcakge, deploy, and/or share your Docker containers with others if you wish.



          WSL is built as a productivity tool for developers & IT Pro's who need a local, immediate, genuine Linux-compatible environment that integrates with Windows, and allows Linux tools to run alongside and/or interact with Windows files/apps.



          Docker is built to enable isolated containers to be quickly, reliably, and repeatedly constructed, deployed and/or shared, but do not integrate deeply with your host machine's OS.



          WSL is a local dev productivity feature, but is not suitable as a host for production workloads - that's where Docker and/or VM's shine.



          To learn more about WSL, review the videos & docs here: https://aka.ms/learnwsl






          share|improve this answer















          Microsoft PM working on WSL & Command Line here.



          WSL is primarily designed to bring one or more Linux command-line environments alongside all your favorite Windows tools. WSL runs native Linux ELF-64 binaries directly on Windows, and enables you to run your favorite Linux tools atop your Windows "host" OS, sharing the same underlying filesystem, networking, process list, etc. as the host OS.



          Docker, on the other hand, provides a way to quickly & easily create a container that essentially wraps a shared (host) kernel & OS, with additional layers of extra functionality (e.g. adding Java, Ruby, MySQL, etc.). It's also easy to pcakge, deploy, and/or share your Docker containers with others if you wish.



          WSL is built as a productivity tool for developers & IT Pro's who need a local, immediate, genuine Linux-compatible environment that integrates with Windows, and allows Linux tools to run alongside and/or interact with Windows files/apps.



          Docker is built to enable isolated containers to be quickly, reliably, and repeatedly constructed, deployed and/or shared, but do not integrate deeply with your host machine's OS.



          WSL is a local dev productivity feature, but is not suitable as a host for production workloads - that's where Docker and/or VM's shine.



          To learn more about WSL, review the videos & docs here: https://aka.ms/learnwsl







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Dec 18 '17 at 22:44

























          answered Dec 18 '17 at 21:40









          Rich TurnerRich Turner

          1,601915




          1,601915

























              0














              That is correct. One thing that you do fail to mention is that WSL is currently rather slow in io even with a fast ssd/lots of ram/8-core xeon cpu. This is still a problem in 01/2019. I just did a ray@DESKTOP-O0MT13B:/mnt/c/Users/rayjh$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync on my workstation with a samsung SSD and only got 97.6 MB/s.



              Running bare metal ubuntu LTS this box will get SEVERAL times that. Never mind the endless problems when you try to combine WSL with VSCODE.



              I'm wiping windows 10 off of here and installing ubuntu 18.04LTS.





              share




























                0














                That is correct. One thing that you do fail to mention is that WSL is currently rather slow in io even with a fast ssd/lots of ram/8-core xeon cpu. This is still a problem in 01/2019. I just did a ray@DESKTOP-O0MT13B:/mnt/c/Users/rayjh$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync on my workstation with a samsung SSD and only got 97.6 MB/s.



                Running bare metal ubuntu LTS this box will get SEVERAL times that. Never mind the endless problems when you try to combine WSL with VSCODE.



                I'm wiping windows 10 off of here and installing ubuntu 18.04LTS.





                share


























                  0












                  0








                  0







                  That is correct. One thing that you do fail to mention is that WSL is currently rather slow in io even with a fast ssd/lots of ram/8-core xeon cpu. This is still a problem in 01/2019. I just did a ray@DESKTOP-O0MT13B:/mnt/c/Users/rayjh$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync on my workstation with a samsung SSD and only got 97.6 MB/s.



                  Running bare metal ubuntu LTS this box will get SEVERAL times that. Never mind the endless problems when you try to combine WSL with VSCODE.



                  I'm wiping windows 10 off of here and installing ubuntu 18.04LTS.





                  share













                  That is correct. One thing that you do fail to mention is that WSL is currently rather slow in io even with a fast ssd/lots of ram/8-core xeon cpu. This is still a problem in 01/2019. I just did a ray@DESKTOP-O0MT13B:/mnt/c/Users/rayjh$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync on my workstation with a samsung SSD and only got 97.6 MB/s.



                  Running bare metal ubuntu LTS this box will get SEVERAL times that. Never mind the endless problems when you try to combine WSL with VSCODE.



                  I'm wiping windows 10 off of here and installing ubuntu 18.04LTS.






                  share











                  share


                  share










                  answered 5 mins ago









                  rayjrayj

                  132




                  132






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Ask Ubuntu!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f969810%2fubuntu-on-windows-10-docker-vs-wsl%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      GameSpot

                      connect to host localhost port 22: Connection refused

                      Getting a Wifi WPA2 wifi connection