How To Install Docker On WSL
This is the quickest way to install Docker on WSL and sync it with your Docker containers.
Configure Docker for Windows
First, we need to expose a port in Docker for Windows
for it to work in WSL.
Install Docker
This is how you install Docker in your WSL environment - it is taken from Docker’s installation docs. Just copy and paste basically. This is for Ubuntu 18.04.
# Update the apt package list.
sudo apt-get update -y
# Install Docker's package dependencies.
sudo apt-get install -y
apt-transport-https
ca-certificates
curl
software-properties-common
# Download and add Docker's official public PGP key.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Verify the fingerprint.
sudo apt-key fingerprint 0EBFCD88
# Add the `stable` channel's Docker upstream repository.
#
# If you want to live on the edge, you can change "stable" below to "test" or
# "nightly". I highly recommend sticking with stable!
sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Update the apt package list (for the new apt repo).
sudo apt-get update -y
# Install the latest version of Docker CE.
sudo apt-get install -y docker-ce
# Allow your user to access the Docker CLI without needing root access.
sudo usermod -aG docker $USER
After this, close and open a new terminal, so you can run Docker
without sudo.
Install Docker Compose
Installing Docker Compose can be done via PIP
or the normal apt-get
way.
# Install Python 3 and PIP.
sudo apt-get install -y python3 python3-pip
pip3 install --user docker-compose
# Or install only Docker Compose
sudo apt-get install docker-compose
Add bin to your PATH
You need to add /home/<username>/.local/bin
to your PATH.
Edit your ~/.profile
file with nano ~/.profile
and add a new line anywhere in the file. Add the text export PATH="$PATH:$HOME/.local/bin"
Run source ~/.profile
to activate your new path.
Confirm that it works by running echo $PATH
.
Add DOCKER_HOST
You might need to export the following variable to make it work. You can write it either in ~/.zshrc
or in ~/.bashrc
.
export DOCKER_HOST=127.0.0.1:2375
Modify WSL configurations
If you are running Windows 10 18.03+
or newer, it might be good to make some changes. sudo nano /etc/wsl.conf
to edit your configurations file.
[automount]
root = /
options = "metadata"
This will allow you to work from /c
instead of /mnt/c
, and also fixes some of your permissions. You need to sign out of Windows to make this work.