/ Docker / Linux / Microsoft

WSL2 - Instalar Docker en Ubuntu

Hola, instalaremos Docker en Ubuntu WSL2!

Para esto es necesario tener instalado el WSL2, sí lo último de Microsoft Windows para hacer Devs en Linux más cómodo. Sino lo tienes te recomiendo que visites este artículo:

Luego de tener el requerimiento, búscamos la "app" Ubuntu en el MS Store!

Lo instalamos para luego abrir la aplicación y entrar a su shell (bash o Bourne-again shell)!

Para esto hice un script que nos aliviará todo el trabajo de instalar Docker en Ubuntu. Descárgalo y crea el archivo, pero no te olvides que el "secuencia de fin de línea" debe ser LF para que pueda ser ejecutado como script en entornos Linux. Sino, puedes copiar y pegar comando por comando para hacer la instalación! 

# install packages
sudo apt-get update
sudo apt-get install nload htop -y
# if your user doesn't exists then remove sudo passwords
USERNAME=$(whoami)
sudo grep -qxF "${USERNAME} ALL=(ALL) NOPASSWD: ALL" /etc/sudoers || echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
# install reqs docker
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" install grub-pc
# install docker
sudo apt-get install docker-ce -y
# add perm docker
sudo usermod -aG docker ${USERNAME}
# configure start docker when logging
grep -qxF "sudo service docker start" $HOME/.bashrc || echo "sudo service docker start" | tee -a $HOME/.bashrc
# start docker
sudo service docker start
# verify docker note: first time with sudo
sudo docker info
# install packages reqs for docker-compose
sudo apt-get install python3-pip -y
# upgrade pip3
pip3 install pip -U
# install docker-compose
pip3 install docker-compose
# first exit & verify docker-compose
# docker-compose version
# customs
# timeout docker compose
grep -qxF "COMPOSE_HTTP_TIMEOUT=640000" /etc/environment || echo "COMPOSE_HTTP_TIMEOUT=640000" | sudo tee -a /etc/environment
# run portainer docker
if ! sudo docker ps --format '{{.Names}}' | grep -w portainer &> /dev/null; then
sudo docker volume create portainer_data
sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
fi

Sigue bien los pasos del script, y al final podrás utilizar tranquilamente docker y docker-compose para tus desarrollos