Skip to content

Commit c3e0f0d

Browse files
authored
Created Windows instructions and prerequisites (wsargent#186)
1 parent e935446 commit c3e0f0d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ The 3.10.x kernel is [the minimum requirement](https://docs.docker.com/engine/in
4242

4343
10.8 “Mountain Lion” or newer is required.
4444

45+
### Windows 10
46+
47+
Hyper-V must be enabled in BIOS
48+
VT-D must also be enabled if available (Intel Processors)
49+
50+
### Windows Server
51+
52+
Windows Server 2016 is the minimum version required to install docker and docker-compose. Limitations exist on this version, such as multiple virtual networks and linux containers. Windows Server 2019 and later are recommended.
53+
4554
## Installation
4655

4756
### Linux
@@ -72,6 +81,48 @@ That's it, you have a running Docker container.
7281

7382
If you are a complete Docker newbie, you should probably follow the [series of tutorials](https://docs.docker.com/engine/getstarted/) now.
7483

84+
### Windows 10
85+
86+
Instructions to install Docker Desktop for Windows can be found [here](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
87+
88+
Once insalled, open powershell as administrator
89+
90+
```powershell
91+
#Display the version of docker installed:
92+
docker version
93+
94+
##Pull, create, and run 'hello-world' all in one command:
95+
docker run hello-world
96+
97+
```
98+
99+
To continue with this cheat sheet, right click the Docker icon in the system tray, and go to settings. In order to mount volumes, the C:/ drive will need to be enabled in the settings to that information can be passed into the containers (later described in this article).
100+
101+
To switch between Windows containers and Linux containers, right click the icon in the system tray and click the button to switch container operating system Doing this will stop the current containers that are running, and make them unaccessible until the container OS is switched back.
102+
103+
104+
Additionally, if you have WSL or WSL2 installed on your desktop, you might want to install the Linux Kernel for Windows. Instructions can be found [here](https://techcommunity.microsoft.com/t5/windows-dev-appconsult/using-wsl2-in-a-docker-linux-container-on-windows-to-run-a/ba-p/1482133). This requires the Windows Subsystem for Linux feature. This will allow for containers to be accessed by WSL operating systems, as well as the efficiency gain from running WSL operating systems in docker. It is also preferred to use [Windows terminal](https://docs.microsoft.com/en-us/windows/terminal/get-started) for this.
105+
106+
### Windows Server 2016 / 2019
107+
108+
Follow Microsoft's instructions that can be found [here](https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/deploy-containers-on-server#install-docker)
109+
110+
If using the latest edge version of 2019, be prepared to only work in powershell, as it is only a servercore image (no desktop interface). When starting this machine, it will login and go straight to a powershell window. It is reccomended to install text editors and other tools using [Chocolatey](https://chocolatey.org/install).
111+
112+
After installing, these commands will work:
113+
```powershell
114+
#Display the version of docker installed:
115+
docker version
116+
117+
##Pull, create, and run 'hello-world' all in one command:
118+
docker run hello-world
119+
120+
```
121+
122+
Windows Server 2016 is not able to run linux images.
123+
124+
Windows Server Build 2004 is capable of running both linux and windows containers simultaneously through Hyper-V isolation. When running containers, use the ```--isolation=hyperv``` command, which will isolate the container using a seperate kernel instance.
125+
75126
### Check Version
76127

77128
It is very important that you always know the current version of Docker you are currently running on at any point in time. This is very helpful because you get to know what features are compatible with what you have running. This is also important because you know what containers to run from the docker store when you are trying to get template containers. That said let see how to know which version of docker we have running currently.

0 commit comments

Comments
 (0)