Preparing Windows Server Technical Preview for Windows Containers
msdn.microsoft.com
msdn.microsoft.com
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
windowsservercore latest 9eca9231f4d4 30 hours ago 9.613 GB
windowsservercore 10.0.10254.0 9eca9231f4d4 30 hours ago 9.613 GB
vs REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
alpine latest 31f630c65071 9 weeks ago 5.254 MB
Aren't containers supposed to be small(er)?see https://msdn.microsoft.com/virtualization/windowscontainers/...
*I work for Microsoft on these specifically.
Docker added this concept of a "graphdriver" where things are stored as their delta on disk as they assume you'll use many of them. Obviously your first windows container is gonna use up more blocks in that type of storage than a linux container built specifically to be small[0]
Windows will not run Linux-containers and Windows-containers will not run on Linux, just like the same restriction applies the other way around.
A container typically runs with the same kernel as the host, and therefore is restricted to be the same type of operating-system.
StackOverflow is entirely built on top of Windows and .NET. Its not necessarily an inefficient platform, despite Window's reputation.
"Server Core is a minimal server installation option for computers running on the Windows Server 2008 R2 operating system. Server Core provides a low-maintenance environment capable of providing core server roles"
Basically server core is stripped down version of windows without a GUI[1] that will run most server roles, Powershell etc.
1. Well it kind of has a GUI, but one that is only capable of running cmd.exe and little else.
catch
{
Write-Error $_
}
Powershell is fairly new... I'm surprised Microsoft is using `$_` instead of the common (in UNIX) `$?` to represent the current value in the pipe. It's almost like they go out of their way to not conform to anything other OS' have already done.Whatever you think of Windows/MS/etc, Powershell is a decently-well-designed, complete language with a number of useful, convenient constructs. For example, here is a native Powershell hashmap (that can be looped over, etc.):
$states = @{"Washington" = "Olympia"; "Oregon" = "Salem"; California = "Sacramento"}
Nice, no?Well they don't adhere to Unix because they're trying to be better.
Pipes pass _objects_ around in Powershell, and the entirety of .NET libraries is available for use in Powershell... including plugins and everything.
http://www.tomsitpro.com/articles/powershell-piping-filterin...
New Microsoft features are available too, like V-Server integration, Package Management through Chocolatey and so forth.
I am not exactly a Powershell guru, but its definitely evolving in a way superior to BASH scripting. I mean seriously, BASH is so backwards that I can't imagine why ANYONE would seriously recommend taking cues from it.
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.htm...
But when it comes down to writing something that others use, you can almost always rely on BASH being installed on their machine.
The other shells... not so much. I hear zsh is pretty good though.
Hmmm.....I think PowerShell blurs the line between shell and full blown programming environment (as in I can build complete WinForms apps in PowerShell).
sh, bash, zsh, korn shell,....
> instead of the common (in UNIX) `$?` to represent the current value in the pipe.
Is that common in UNIX? Can you give an example?
AFAIK for OSX the only legal option is colocation - e.g. you provide an actual OSX machine, and it's installed for you somewhere for your use or your team (I'm actually not completely sure there).
I'm talking about OSX, since lots of these tools above are released for Windows and OSX, but not for Linux (yet).
So if you are Mozilla and want your browser to get recompiled for Windows you might use such a service (I don't actually know whether Mozilla is doing this, just giving an idea)
Lack of choice to. Which sounds bad but can be good. For example Linux you have lots of webservers Apache. Nginx, tomcat all with different config methods.
Windows? Add the web server role, use iis and be done with it.
You can run Apache and Tomcat on windows if you so choose. You can even run nginx (albeit on top of Cygwin) [0].
You also don't need IIS to run HTTP endpoints. That said, IIS7+ is a pretty nice web server (I speak from experience as a shared web hoster ops and dev person). It's got a plethora of knobs and dials for tuning and is extensible (via native or managed code modules and handlers). But as always, horses for courses and all that.
IIS is great too and in-box. It's nice having smart defaults but a lot of options.