Docker image for windows 64bit - docker

I got my Docker up and running on windows,
Now I want to make a container from my application that needs to be installed on a windows server 64bit.
Is there a clean image of windows server that I can use?
I looked in dockerhub and saw some images that I can use like this one.
But I want to make sure I'm doing it right, Can I work with this image to install my app?

I believe the question that you are asking here is, what Windows Server base image should you use to create your new image from? This really depends on the requirements of the application that you are running in the container, but Microsoft has official base images for both Windows Server Core and Nano Server available on Docker Hub, the links are as follows:
Server Core base image - https://hub.docker.com/r/microsoft/windowsservercore/
Nano Server base image - https://hub.docker.com/r/microsoft/nanoserver/
Please also note that Microsoft have other images available which are based on the above images, such as one which includes ASP.Net Core ( https://hub.docker.com/r/microsoft/aspnetcore/ ) which may make a better base image for you, it really depends on the requirements of your application.
Finally - the full list of Microsoft provided images can be found at https://hub.docker.com/u/microsoft/
I hope the above is helpful.

Related

How to ccreate Windows10 GUI docker image

Is it possible to create a docker image for Windows 10 with GUI support? I want to run the browser and some stand-alone app on windows GUI. So far I have found the same for CentOS for not for windows.
Thanks
I am not sure if windows has allowed to use its kernel for free images as its the revenue generating platform for them.
Rancher group works on making GUI based docker images you can refer there site for such information link : https://rancher.com/
Rancher has also few images of windows on hub.docker.com for demonstration purpose which you can checkout freely. The only concern is they are large in size around 2.5 Gigs
This may not be relevant but ios images are already available if you want to try you can refer the link : https://github.com/sickcodes/Docker-OSX

Is Docker-ized dev envoirment good for maintaining legacy software?

Let's say I have old, unmaintained application that lives on a VPS (i.e. Symfony 3 PHP app that relies on PHP 5).
If some changes are needed I have to clone this app to my desktop, build it, change and re-deploy. As time goes, recreating desktop dev environment gets harder - in this example I can't simply build the app as I use PHP7 in my CLI that breaks building process.
I tried to dockerize the app, so I added Ubuntu 18 to my docker-compose file... and it doesn't work as latest Ubuntu that has PHP5 support is 14.04. 14.04 is also the oldest (official) version available on DockerHub. But will it be still available in 3 years? If not, Docker won't build a container.
So, my question is: is Docker a right tool to solve described problem at all?
If so, should I backup docker images described that my build relies on?
If not, beside proper maintenance, what tool is better?
You can install PHP5 in newer ubuntu versions, but it means adding an external repository.
You could also create your own docker image, containing only the libraries you want. If so, I'd advise to try and use alpine as a base image. There is a bit of a learning curve to adapt, but once you do it you'll have a small image tailored to your needs.
Given that containers allow you to isolate processus and conf with minimal footprint compared to a VM, I think it is the best option. Tailoring and maintaining your own image is not that expensive in terms of maintenance if you document it correctly, and it will allow you to always have a system 'maintaining' all your precise requirements.

Can I run NVIDIA DeepStream SDK in Windows Server 2019?

System: I've a Windows Server 2019 OS installed with a NVIDIA Tesla T4 Tensor Core GPU.
Goal: Planning to read real time streaming videos from an IP camera and to further process frame by frame. Goal is to leverage NVIDIA DeepStream SDK, but issue is, it isn't available for Windows OS. So, I'm thinking on the docker lines, but since am very new to docker containers, would like to know if I can install a docker on Windows and can run this deepstream docker image on that.
If not, is there any way I can run this Linux based DeepStream docker image on Windows? Any help shall be greatly acknowledged.
I have never worked with the windows server before it should be the same as a docker in Linux VM.
First, you need to pull docker images for deepstream
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
and then try to run sample apps provided in the docker image.
Refer this for the procedure.
if you are interested in python apps you can check sample apps here.
Note:- make sure you are able to access display from inside the container cause deepstream use eglsink in their samples app which will try to open a display window on your screen or you can change the sink type to filesink if you want to save it is a file.
Refer this for available plugins and their attributes.
According to the post in Nivida forum, Windows not supported.
As alternative, I wonder if anyone used the Nvidia Graph Composer in Windows.

Cannot find latest dotnet core images on docker (2.2.7)

I am using this docker image now:
microsoft/dotnet:2.2.2-aspnetcore-runtime-alpine
I want to upgrade to 2.2.7 but can't manage to find correct tag on docker:
This url https://registry.hub.docker.com/v1/repositories/microsoft/dotnet/tags seems to only have 2.2.2 as the latest version.
It seems that Microsoft has moved to their own docker repository (mcr.microsoft.com/dotnet/core/runtime:2.2) while maintaining documentation on docker hub? I am really confused with what is going on in there.
So I really want to find a corresponding image to my original but version 2.2.7 for both aspnet or ordinary runtime (without aspnet)
Have found out with some help from Panagiotis:
Microsoft has moved all their images to own repository, see more information here. They do reference these images from a documentation on docker hub even though the images are not published there.
Docker images that can be used for dotnet core:
mcr.microsoft.com/dotnet/core/runtime-deps:2.2.3 - use for deploying self-contained deployment apps
mcr.microsoft.com/dotnet/core/runtime:2.2.3 - use for deploying .NET Core console apps
mcr.microsoft.com/dotnet/core/aspnet:2.2.3 - use for deploying ASP.NET Core apps
mcr.microsoft.com/dotnet/core/sdk:2.2.105 - use for building .NET Core (or ASP.NET Core apps)

Base Docker image from existing Windows machine

We have a large application with several parts running on a Windows VM and I am trying to evaluate Docker containers for our application deployment. Is it possible to create a base docker image from an existing Windows VM already running my application? (I know this can be done using Dockerfile but I am looking for a quick way to create the image)
https://docs.docker.com/engine/userguide/eng-image/baseimages/
Above link describes creating image from working machine for Linux, but I am looking for something similar for Windows.
The only base image for Windows that I know are the ones proposed by Microsoft, for Windows Server 2016 or 1709.
See "PoC: How to build images for 1709 without 1709"
That means you can translate any Widows VM into an image.
You would need:
a Dockerfile
the right Microsoft base image, which would represent a Windows server one.
Typically:
microsoft/nanoserver,
microsoft/windowsservercore
If you application only runs on a Windows VM, you need to make sure it can be installed and run on one of those base Windows images.
EVen though you are using a VM Windows server 2016, you would not be able to quickly "capture its state": you need a Dockerfile to describe what you want your Widows container to run.
No it's not possible. You have some stuff like Vm2Docker etc but all it does the same thing you will do manually that is enumerate features installed and create some artifacts for you.
But it's not possible to do for third party application as you mentioned. You'd have to disassemble it and figure out how to scripts to install it.
I am looking for a way to have a Development environment of Production web server for our Developers/testers created using Docker on windows.
I have windows server 2016 OS installed on a Physical server (not VM), and want to dockerize it so that Dev team can make changes on it first and once they confirm all working fine then same changes will be done on production web server.
Thanks,
RK.

Resources