Cannot run .exe (unsigned?) applications inside nanoserver - docker

I'm getting hard time finding, what security is in place inside Docker NanoServer Container - when I execute .exe file (for example .net x32 or x64 unsigned application or some other installer) inside - I get absolutely no error or execution flow message.
When I execute signed applications For example Systinternals Nano suite, all of applications from the package can be executed without any issues.
Is there a way for more verbose output or some system logs inside Nanoserver for better diagnosis of this issue ?
My Docker NanoServer Container version:
BuildNumber: 14393
Version: 10.0.14393
64-bit

As mentioned on this answer, Nano server is support only .Net Core, and not full .Net framework.
Also, MS declined request to support full .Net versions in the Nano Server.

Related

Is IntelliJ's support for Dockerized Python environments compatible with Python running on a Windows container?

My Python project is very windows-centric, we want the benefits of containers but we can't give up Windows just yet.
I'd like to be able to use the Dockerized remote python interpreter feature that comes with IntelliJ. This works flawlessly with Python running on a standard Linux container, but appears to work not at all for Python running on a Windows container.
I've built a new image based on a standard Microsoft Server core image. I've installed Miniconda, bootstrapped a Python environment and verified that I can start an interactive Python session from the command prompt.
Whenever I try to set this up I get an error message: "Can't retrieve image ID from build stream". This occurs at the moment when IntelliJ would have normally detected the python interpreter and it's installed libraries.
I also tried giving the full path for the interpreter: c:\miniconda\envs\htp\python.exe
I've never seen any mention that this works in the documentation, but nor have I seen any mention that it does not work. I totally accept that Windows Containers are an oddity, so it's entirely possible that IntelliJ's remote-Python feature was never tested on Python running in Windows containers.
So, has anybody got this feature working with Python running on a Windows container yet? Is there any reason to believe that it does or does not work?
Regrettably, it is not supported yet. Please vote for the feature request https://youtrack.jetbrains.com/issue/PY-45222 in order to increase its priority.

How to run a portable executable in a docker on linux system

I am working on a application to deploy challenges for ctfs.
I want to include windows service type challenges, too.
How can I deploy a Portable Executable file on a linux based server?
You can not use docker to run Microsoft Windows. To run Windows executables on linux, you can try to use wine or rely on Virtualization (with a full windows installation inside).
You could also have a look at .net for linux to implement your challenge. This article should get you started if this is what you chose.

Run asp.net 4.5 in Docker

I have one project base on asp.net 4.5, now I want run it in Docker. As far as I am known, only asp.net 5 be supported this moment, so has any way let me run my project in Docker?
You must read Mono documentation about ASP.NET MVC Support. Mono can handle your needs, running under Docker Linux Containers.
Using Windows Containers (new feature becomes with Windows Server 2016) you will do that without any trick.
About Mono and Docker, that was useful, stable and can solve your requirements, depends exclusivelly what you are using in your project to understand that is compactible with mono runtime.
Mono Docker repository on Github
Mono on Docker Hub
Enjoy and tell us about your experiences.
There are two approaches depending on whether you want to run Linux or Windows containers. For Linux containers, you'd have to port your app to Mono, as laid out by #luiz-carlos-faria
To run in Windows Docker containers, you'd have to create a 4.6/4.5 base image similar to this one: https://github.com/Microsoft/Virtualization-Documentation/blob/master/windows-container-samples/windowsservercore/dotnet35/Dockerfile
You can run that on Windows Server 2016 TP5 (free download) in a VM.

Can I use a Windows .Net app with Docker?

I'm a little confused by all the chat about Docker, and how it fits into the virtualisation world. So here's a straight question: can I package up a .Net application (that normally runs on Windows 7 etc) to run in a Docker container, and then execute it on 'any' host supporting Docker?
TIA.
Not today. In future, Microsoft and Docker have announced that you there will be a Windows version of Docker.
Edit: newer info
Note that the base platform and OS have to match - i.e. today you can run ARM Linux containers on ARM Linux and x64 Linux containers on x64 Linux, but you can't mix and match. When Windows is added, the pattern will be the same - you will be able to run Windows containers on Windows OS, but not on Linux. Not without an extra layer of virtualization (like VirtualBox, VMWare, etc).
Edit: respect to the Wine answer, which I hadn't considered. It sort-of fits as "an extra layer of virtualization", but at the OS API level not the hardware level. And somewhat restricted in scope of .Net programs supported.
In a similar vein, you might be able to run your .Net code in Docker using Mono.
Docker builds on Linux. The only way to get the .Net app run in Docker is by using Mono for Linux.
Yes, if you install wine and .NET, here is an example of such a Dockerfile
https://registry.hub.docker.com/u/justmoon/wix/dockerfile/
extract
# Install .NET Framework 4.0
RUN wine wineboot && xvfb-run winetricks --unattended dotnet40 corefonts
This maybe very out of date question, but I think it need a update. Yes you can use docker with .net / .net core and will fully support in Visual Studio 2017.
https://channel9.msdn.com/Events/Connect/2016/172
The be no need to use WINE or Mono.
below is example dockerfile to run .net 4.5 app
FROM microsoft/iis
RUN ["powershell.exe", "Install-WindowsFeature NET-Framework-45-ASPNET"]
RUN ["powershell.exe", "Install-WindowsFeature Web-Asp-Net45"]
ADD publisedDir/ c:\\website
EXPOSE 8081
RUN powershell New-Website -Name 'websiteName' -Port 8081 -PhysicalPath 'c:\website' -ApplicationPool '.NET v4.5'
ENTRYPOINT powershell
A bit late, but still if it helps anyone.
Yes we can run .Net apps on Docker as docker is now supported with Windows natively. But first you have to check your windows version, your windows build must be 14393.233 or greater. Download Docker 1.13.0 or later and then you can easily run a .Net App.
This repository
walks through running a sample .Net App.

Tomcat 5.5 as service on Windows Server 2008 64bit

Has anybody managed to get Tomcat to run as a service on Win2008 64bit? I need it for a 3rd party component that my site relies on. It works fine otherwise, but I just can't get it to run as a service. I've tried all the googling I can, and experimented with various 64bit tomcat.exe / tomcatw.exe without success. Upgrading to Tomcat 6 didn't help either.
I'm running Java 1.5 64bit.
Download apache-tomcat-6.0.30-windows-x64 version.
Extract to c:\Tomcat6
open command prompt run as Adminstrator
and go to Tomcat6\bin directory and run from command prompt>service install
Tomcat6 will install as Windows Service.
again go to Tomcat6\bin and open tomcat6w.exe run as administrator and modify your changes.
it works cool.
Download the latest builds. Your issue was the 64 bit procrun.exe/tomcatw.exe wasn't provided. The newer installers for Tomcat 5.5 and Tomcat 6 include both 32 and 64 bit and deploy the appropriate one
Extracted from http://www.openlogic.com/wazi/bid/188180/
While the Java components of Tomcat run happily under a 64 bit JVM, the installers that build the Windows service are 32 bit executables and won't work correctly under 64 bit Windows operating systems.
Fortunately, the Tomcat team has put together 64 bit versions of these executables, although they only include them in the source distribution for each version of Tomcat. If you've already installed a copy of Tomcat, here's how to update the executables:
1) Download and extract the source distribution for your version of Tomcat from OLEX
2) Find the directory tomcat-X.X.XX-src/connectors/procrun/bin/amd64/
3) Copy the executables from the above directory into the tomcat-X.X.XX/bin, overwriting the 32 bit versions
4) Run the command service.bat install. This will install the service under the displayed name Apache Tomcat (the service name will be Tomcat5)
It worked to me! And I was looking for this solution for a while...

Resources