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


















9














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

































    1














    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|improve this answer
























    • You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

      – Paul-Sebastian Manole
      Feb 9 at 21:34











    • AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

      – Paul-Sebastian Manole
      Feb 9 at 21:35











    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









    9














    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






























      9














      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




























        9












        9








        9







        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,611915




        1,611915

























            1














            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|improve this answer
























            • You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

              – Paul-Sebastian Manole
              Feb 9 at 21:34











            • AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

              – Paul-Sebastian Manole
              Feb 9 at 21:35
















            1














            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|improve this answer
























            • You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

              – Paul-Sebastian Manole
              Feb 9 at 21:34











            • AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

              – Paul-Sebastian Manole
              Feb 9 at 21:35














            1












            1








            1







            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|improve this answer













            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|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jan 23 at 4:38









            rayjrayj

            234




            234













            • You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

              – Paul-Sebastian Manole
              Feb 9 at 21:34











            • AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

              – Paul-Sebastian Manole
              Feb 9 at 21:35



















            • You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

              – Paul-Sebastian Manole
              Feb 9 at 21:34











            • AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

              – Paul-Sebastian Manole
              Feb 9 at 21:35

















            You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

            – Paul-Sebastian Manole
            Feb 9 at 21:34





            You don't need to be toxic, especially at the end. Rather, please tell us what you did to research the cause of the problems you're facing and whether they are known issues or not and if someone is working on fixing them or not. I'm sure they are though. And you don't need to uninstall windows, you just need to install hyper-v manager and quick install Ubuntu and you're set for a Linux development environment if you want to work from inside a virtual Linux Desktop. Otherwise keep using WSL and wait for your issues to be fixed. 97 MB/s is not that slow.

            – Paul-Sebastian Manole
            Feb 9 at 21:34













            AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

            – Paul-Sebastian Manole
            Feb 9 at 21:35





            AFAIK the speed issues are related to Windows file access subsystem and a workaround is in the works.

            – Paul-Sebastian Manole
            Feb 9 at 21:35


















            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

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

             ⁒  ․,‪⁊‑⁙ ⁖, ⁇‒※‌, †,⁖‗‌⁝    ‾‸⁘,‖⁔⁣,⁂‾
”‑,‥–,‬ ,⁀‹⁋‴⁑ ‒ ,‴⁋”‼ ⁨,‷⁔„ ‰′,‐‚ ‥‡‎“‷⁃⁨⁅⁣,⁔
⁇‘⁔⁡⁏⁌⁡‿‶‏⁨ ⁣⁕⁖⁨⁩⁥‽⁀  ‴‬⁜‟ ⁃‣‧⁕‮ …‍⁨‴ ⁩,⁚⁖‫ ,‵ ⁀,‮⁝‣‣ ⁑  ⁂– ․, ‾‽ ‏⁁“⁗‸ ‾… ‹‡⁌⁎‸‘ ‡⁏⁌‪ ‵⁛ ‎⁨ ―⁦⁤⁄⁕