How to initialize and run Docker on windows? - windows

I have Docker installed on Windows 7 platform. However when I try to run boot2docker start, the console gives me:
Failed to get machine 'boot2docker-vm': machine does not exist.
Ok, so I try to initialize the machine: boot2docker init. What now happens is even though I have the ISO image on the same path as docker, it tries to download a new image (and then fails to do so).
I uninstalled both OracleVM and GIT before installing them with boot2docker bundle as advised on Docker forums, but now I don't know how to proceed.

I had the same problem on a Windows 7 64 bit system when I installed the entire boot2docker package. It seems that running the solely 64-bit based boot2docker image from a 32-bit OS image (e.g. created by Virtualbox) does not work.
The solution for me was
to activate Intel Virtualisation Technolologies in my BIOS
(Lenovo X61 for me). Note that the settings can be found either
under CPU or Security.
choose a 64 bit OS version in VirtualBox and boot in with the
image obtained by boot2docker.

In case you're trying to do this now
For Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later), follow the instructions to install Docker Desktop here https://docs.docker.com/docker-for-windows/install/.
If you have Windows systems that do not meet the requirements of Docker Desktop for Windows(in my case Microsoft Windows 10 Home Single Language), you can install Docker Toolbox by following the instructions here https://docs.docker.com/toolbox/toolbox_install_windows/.

boot2docker does not support sharing directories on Windows IIRC. The way I run Docker on windows is:
install VirtualBox
install Vagrant
create a directory (let's say c:\vm\docker)
download this Vagrantfile and save it under c:\vm\docker\Vagrantfile
open a DOS command prompt
go to the directory cd c:\vm\docker
start the VM vagrant up and wait for it to install, start up and get provisionned
connect to the VM vagrant ssh
play with docker docker images, etc
Also you might want a real console instead of using the DOS command prompt:
install Git Bash for Windows
install Console
setup Console to use Git Bash (see this guide)
use Console to run the vagrant up and vagrant ssh commands

Related

Docker Desktop installation on windows 7 is not working

I've downloaded docker desktop from the website but was unable to open the installer.
My operating system is windows 7.
What are the steps required to install docker desktop on windows 7?
Docker Desktop is not supported on windows 7, you can use Docker toolbox instead.
Do following steps:
Install hyper-v
Install Docker Toolbox and try to follow link instructions
Run Docker Quickstart as admin.
After following above steps, you may not be able to run Docker Quickstart Terminal properly. If so, follow below steps:
Go to window's Start.
type: Environment
click: Edit the system environment variables
Make sure you have VBOX_INSTALL_PATH (should point to VirtualBox installation folder. i.e. C:\Program Files\Oracle\VirtualBox)
Make sure you have VBOX_MSI_INSTALL_PATH (should point to VirtualBox installation folder. i.e. *C:\Program Files\Oracle\VirtualBox*)
Make sure you have VBOX_USER_HOME (e.g. C:\Users\Sara.VirtualBox)
Make sure you have DOCKER_TOOLBOX_INSTALL_PATH in your User variables (i.e. C:\Program Files\Docker Toolbox)
Restart your computer.
Try Running Kitematic. If its not working and you are receiving an error about "default" already existing or config.json missing, do the following:
close Docker Quickstart Terminal if open.
open task manager -> processes.
End process VBoxHeadless.exe
add an empty config.json file manually in %userprofile%.docker\machine\machines\default if config.json is missing.
Run in CMD: docker-machine rm -f default
Run in CMD: docker-machine create -d virtualbox --virtualbox-memory 2048 default
If the above CMD commands failed:
delete folder %userprofile%.docker\machine\machines\default manually
restart computer
run Docker Quickstart Terminal as admin
folder %userprofile%.docker\machine\machines\default should have been created properly at this point.
open kitematic. UI should be presented properly
Problem with "default" project
Failure on "default"
As far as I know, Docker desktop require Windows 10.
https://docs.docker.com/docker-for-windows/install/
System Requirements
Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later).
You will need Win10 pro to install Docker on PC, but otherwise you can still install Docker on PC by downloading Docker Toolbox for Win7,8,10. Link to download Docker Toolbox at:
https://www.softpedia.com /get/Programming/Other-Programming-Files/Docker-Toolbox.shtml

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

Excpetion when installing gofabric8 in Windows Subsystem for Linux

In my system I have enabled the Windows Subsystem for Linux(WSL) and installed Ubuntu on Windows 10.
https://github.com/fabric8io/fabric8-platform/blob/master/INSTALL.md
On top of the WSL, I was trying to install the fabric8 from the scratch with the Minishift using instructions for Ubuntu in the above link and while running the below command, getting error stating that "No User home environment variable found for os windows"
gofabric8 start --minishift --package=system --namespace fabric8
Note: Before running the above commands, I have setup libvirt and qemu-kvm in my WSL
I had the same problem installing fabric8 on Windows. A look into the sourcecode reveals, you need to define a HOME environment variable. In windows CMD try
set HOME=C:\Users\yourHome
That worked for me

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