Cant switch Docker OS on Window 8 - windows

I have installed the Docker toolbox on Windows 8 and I am able to run Docker containers. However I don't have the Docker icon in the system tray and thus I can't change the Docker settings. Specifically I need to switch the Docker OS from Linux to Windows.
Is there a way how can I get the icon to be shown in the system tray? Has anyone ever had this issue?
Alternatively, is it possible to switch the Docker OS from CLI? According to the Docker forum I need to run SwitchDeamon, however I don't have this tool in the Docker installation folder and VisualStudio is also not able to switch the OS.

See microsoft doc:
Windows Containers include two different container types, or runtimes: Windows Server Containers & Hyper-V Isolation
This means windows container can only work with hyper-v or windows server 2016+, so if you not use server version, windows 10 professional which support hyper-v is a must to run windows container.
With docker toolbox(not docker for windows), you can just use virtualbox to run linux containers. So if you use windows7, windows8, windows10 home edition, then you surely use docker toolbox, then you can just use linux container.
Here also a discussion on docker forums.
As a result, there is no meaning to afford a switch on windows8 as docker toolbox just support linux container.

Related

Cant't pull iis image and run it with Docker toolbox on windows10

I installed Docker Toolbox on windows 10 Pro and i want run iis on it , but when i run docker pull microsoft/iis:latest command it say's:
no matching manifest for unknown in the manifest list entries
as well this command:
docker pull mcr.microsoft.com/windows/nanoserver:1809
and it say's:
no matching manifest for unknown in the manifest list entries
And i tried to run Docker Desktop but when i run it it say's :
Hardware assisted virtualization and data execution protection must be enabled in the BIOS. See https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization-must-be-enabled
But i'm sure the Hardware assisted virtualization is enabled
My goal and purpose is install Docker on windows and then install Kubernetes and after that join my windows Kubernetes node to my linux Kubernetes cluster
You can not run windows container in ToolBox because it uses virtual box and it is suited for ubuntu container. you should use DockerDesktop. and make sure you switched to windows containers.

Can I run Windows containers on Docker Desktop for Mac? [duplicate]

This question already has answers here:
How can I run a docker windows container on osx?
(3 answers)
Closed 1 year ago.
This post was edited and submitted for review 1 year ago and failed to reopen the post:
Original close reason(s) were not resolved
I want to be able to run Windows Docker Containers on my Mac, it seems this was sort of supported using Docker Toolbox
How can I run a docker windows container on osx?
But it seems that this is now deprecated and we should be using Docker Desktop now.
Docker Desktop has a better and New Hypervisor called HyperKit instead of Virtual Box https://docs.docker.com/docker-for-mac/docker-toolbox/
Docker toolbox allowed starting Windows Containers using VirtualBox, so not sure if that mean's that this is still possible?
I have found a reference to putting Docker Desktop into "Windows Container Mode" here https://www.clearpeople.com/insights/blog/2018/june/sitecore-demo-in-a-docker-container
But I cannot find anywhere to enable this, any help or insight would be very much appreciated.
There is a related question here How can I run a docker windows container on osx? but it's so old that is irrelevant and should not be a reason to lock this question.
Docker only runs natively on Linux machines because it needs Linux kernel features called namespaces and control groups. Docker containers are built from cut down Linux distributions.
The original solution to running Docker on OS X and Windows was Docker Toolkit. This was actually a Linux virtual machine running in the VirtualBox Hypervisor. The VM had Docker installed and could run containers.
Docker Desktop for Mac still makes use of a virtual machine running Linux running in the HyperKit Hypervisor. This virtual machine is lightweight and effectively hidden from the user.
Likewise Docker Desktop for Windows makes use of a virtual machine running in the Hyper-V Hypervisor. It can also run Windows containers.
To run Windows containers you need to have a Windows machine running Docker. The Windows machine can be virtual machine running on a Mac or Linux machine.
I know I am late to the party but as of 2021, this is the easiest setup to get a windows container running on macOS:
https://github.com/StefanScherer/windows-docker-machine
Install vagrant and virtual box
Clone the repository above and change directory into it
vagrant up --provider virtualbox 2019-box
docker context use 2019-box
I followed this setup and I could use the following windows image
mcr.microsoft.com/windows/servercore:ltsc2019
Please note that the windows version of your host must match the container image. This is mentioned here: https://hub.docker.com/_/microsoft-windows
Windows requires the host OS version to match the container OS
version. If you want to run a container based on a newer Windows
build, make sure you have an equivalent host build.

Use docker client without HyperV

My laptop came with Windows 10 Home, which does not have the HyperV feature. I would like to use docker-machine with the virtualbox driver, which should technically be possible without HyperV. But I can't install Docker in the first place because of missing HyperV. Is there a way around that?
Update I found Docker Toolbox! The documentation states that it is a legacy solution though.
you could install the linux subsystem on your windows machine:
https://learn.microsoft.com/en-us/windows/wsl/install-win10
i think this will allow you to install docker, and as long as you have a bash window open, the docker engine will remain active
EDIT: Docker for Windows is now available (without HyperV), this will run in the background and would probably be better

which windows 10 edition for running docker containers?

it says that prereqisite is windows 10 pro or enterprise edition because of hyper-v but ia that for running windows containers only or is pro/enterprise edition needed for running linux containers also?
If you don't have access to a Windows 10 version with Hyper-V, you can use the older Docker Toolbox product which relies on VirtualBox: https://www.docker.com/products/docker-toolbox
As #friism pointed out w/o HyperV you have to use the old Docker toolbox option. This is due to the fact that the docker daemon does not run on Windows natively. Instead it started a small Linux machine (on windows using hyperV); inside this linux machine is where all the docker and tools are executed. The desktop client is simply a nice UI to send the commands to the virtualized linux machine.

How can I run a docker windows container on osx?

I'm running docker for mac and want to start up a windows container. From what I see this should work via a virtual machine. But I'm unclear where to find out how to get it to work? Or does it only work for linux containers? Thanks in advance!
docker build nanoserver/
Sending build context to Docker daemon 2.56kB
Step 1/6 : FROM microsoft/nanoserver:10.0.14393.1480
10.0.14393.1480: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
baa0507b781f: Pulling fs layer
image operating system "windows" cannot be used on this platform
I know I am late to the party but as of 2021, this is the easiest setup to get a windows container running on macOS:
https://github.com/StefanScherer/windows-docker-machine
Install vagrant and virtual box
Clone the repository above and change directory into it
vagrant up --provider virtualbox 2019-box
docker context use 2019-box
I followed this setup and I could use the following windows image
mcr.microsoft.com/windows/servercore:ltsc2019
Please note that the windows version of your host must match the container image. This is mentioned here: https://hub.docker.com/_/microsoft-windows
Windows requires the host OS version to match the container OS
version. If you want to run a container based on a newer Windows
build, make sure you have an equivalent host build.
See this link:
https://forums.docker.com/t/how-do-i-start-a-windows-docker-container-on-my-mac-os-x/12953/2
Text if you can't follow the link:
On OS X, get VirtualBox.
Get Windows Server 2016 Tech Preview 5 ISO167 (free download from Microsoft)
Create WS 2016 TP5 VM in virtualbox
Run this206 in the new VM
Now you can run Windows Containers in the VM. To make the setup a little easier to use, see this: https://forums.docker.com/t/windows-server-2016-tp5-docker-server-remote-management/10315/5317
You could also install Bootcamp on your machine which allows you to dual boot your computer between OS X and Windows 10. You could then use the full power of your hardware dedicated to Windows and docker instead of virtualization.
Additionally, you can make the use of VMWare Fusion for Mac OS or Parallels, which allow you to ALSO access the dual boot windows partition from within the Mac OS for maximum flexibility. During installation make sure you do not create a Virtual Machine drive, but instead access the bootcamp partition directly.

Resources