Skip to content

Instantly share code, notes, and snippets.

@mwufi
Last active December 20, 2024 19:51
Show Gist options
  • Save mwufi/6718b30761cd109f9aff04c5144eb885 to your computer and use it in GitHub Desktop.
Save mwufi/6718b30761cd109f9aff04c5144eb885 to your computer and use it in GitHub Desktop.
Install Docker in Google Colab!
# First let's update all the packages to the latest ones with the following command
sudo apt update -qq
# Now we want to install some prerequisite packages which will let us use HTTPS over apt
sudo apt install apt-transport-https ca-certificates curl software-properties-common -qq
# After that we will add the GPG key for the official Docker repository to the system
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# We will add the Docker repository to our APT sources
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
# Next let's update the package database with our newly added Docker package repo
sudo apt update -qq
# Finally lets install docker with the below command
sudo apt install docker-ce
# Lets check that docker is running
docker
# Originally, we did the following: (but doesn't work in Colab...)
# sudo systemctl status docker
# The output should be similar to this snippet below
# ● docker.service - Docker Application Container Engine
# Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
# Active: active (running) since Tue 2019-01-01 19:22:114 UTC; 1min 25s ago
# Docs: https://docs.docker.com
# Main PID: 10096 (dockerd)
# Tasks: 16
# CGroup: /system.slice/docker.service
# ├─10096 /usr/bin/dockerd -H fd://
# └─10113 docker-containerd --config /var/run/docker/containerd/containerd.toml
# And now that everything is good, you should be able to do:
# docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow
@vishakha-gautam11041997
Copy link

vishakha-gautam11041997 commented Aug 25, 2024

Hi, I found a solution for this. Check out https://github.com/indigo-dc/udocker. It's working perfectly in the free version of Google Colab.

  • Installation:
%%shell
pip install udocker
udocker --allow-root install
  • Sample usage:
udocker --allow-root run -p 127.0.0.1:8081:8081 -v -e TELEGRAM_API_ID=#### -e TELEGRAM_API_HASH=#### -e TELEGRAM_LOCAL=1 aiogram/telegram-bot-api:latest

Cheers!

Hi, Thanks for the help.
It works also. I was wondering how you can copy the folder from your server [xxx.xxx.xx.xx] to this container?

@RCgit123
Copy link

Thank you it 100% works 😊

@HomeDev68
Copy link

HomeDev68 commented Oct 21, 2024

how to run it as a daemon (no --daemon option)?

solution: !nohup udocker &

use this to detach the process

!(nohup udocker &)

@HomeDev68
Copy link

For Colab users, use this for installation:

#@title Docker for Colab using udocker 
%%shell
pip install udocker
udocker --allow-root install
(nohup udocker &) #@markdown RUN IN BACKGROUND AS A DETACHED PROCESS

and this for easy usage:

#@title Easy Command Usage
args = "" # @param {"type":"string","placeholder":"commands"}
args = args.strip(" ")
if args:
  !udocker --allow-root {args}
else:
  !udocker --allow-root --help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment