Ubuntu on Windows 10: Docker vs WSL
I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:
- Using the Windows Subsystem for Linux (WSL).
- 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
add a comment |
I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:
- Using the Windows Subsystem for Linux (WSL).
- 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
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
add a comment |
I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:
- Using the Windows Subsystem for Linux (WSL).
- 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
I understand that it is currently possible to run Ubuntu on Windows 10 in two different ways:
- Using the Windows Subsystem for Linux (WSL).
- 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
windows-10 docker windows-subsystem-for-linux
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
add a comment |
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
add a comment |
2 Answers
2
active
oldest
votes
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
add a comment |
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
edited Dec 18 '17 at 22:44
answered Dec 18 '17 at 21:40
Rich TurnerRich Turner
1,601915
1,601915
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered 5 mins ago
rayjrayj
132
132
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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