diff --git a/README.md b/README.md index a19d311929299025ef8103dacfb19eaf484ac59a..8d94d672e5ca0a00fc95ab1d77a62866c7972fca 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,56 @@ the resources given to it by the host, so it provides some (minimal) level of security. It also means we can start a process from a known-clean state, so we have repeatability. +Installation +============ + +The first thing we need to do is install docker. If you're running +Linux, there's a good chance that your package manager already has +docker available (don't confuse it with a KDE package of the same +name!), but for the most up-to-date version, you can download it from +https://docker.com. One slight complication is if you're running Red +Hat Enterprise Linux; Fedora and CentOS are just fine. There's a +special version of docker that works with RHEL, but it doesn't work as +easily. At this point, you can ignore the rest of this section. + +If you're running MacOS, then there's a download available from +https://docker.com called Docker Desktop. It installs and runs easily. +At this point, you can ignore the rest of this section. + +If you're running Windows, life becomes more complicated. We're going +to restrict ourselves to Docker Desktop under Windows 10 Education +(you can get a license from TerpWare, and all it does is enable +features already present). Can you run docker with the regular home +edition? Yes, but you'll have to run Docker Toolbox, which isn't as +well-integrated, so some things won't work properly. + +The next thing you need to do is ensure you're running at least +version 2004, which supports Windows Subsystem for Linux version 2 +(WSL 2). + + * Go to https://aka.ms/wslstore and get a WSL Linux distribution. Ubuntu + is a good choice. + * Install https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi + * In an Admin PowerShell, run the following: + * `dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart` + * You *might* need to restart at this point. + * `wsl --set-default-version 2` + * `wsl --set-version Ubuntu 2` + * There's a docker service icon at the bottom right (it's a whale) -- + right-click on it and select "Settings: + * Enable WSL 2 as the engine, instead of Hyper-V. This allows docker to + take advantage of the Windows/Linux integration in the OS. + * Expose the TCP daemon on localhost without TLS. + * For convenience, I suggest doing the following in the Ubuntu shell: + + ln -s "/mnt/c/Users/<your username>" winhome + + That will allow you to access your Windows home directory from Ubuntu as + `~/winhome/`. + +You should now be able to run all docker commands from either PowerShell or +the WSL Ubuntu (or other distribution) shell. + Docker Images =============