-
-
Save mwufi/6718b30761cd109f9aff04c5144eb885 to your computer and use it in GitHub Desktop.
# 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 |
It works for me with Google Colab Pro and GPU Runtime
sudo dockerd
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded
same here
sudo dockerd
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded
Same here
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
same here
This works for me...
installing docker:
!apt-get -qq install docker.io
running desired docker command (docker --version
):
%%shell
set -x
dockerd -b none --iptables=0 -l warn &
for i in $(seq 5); do [ ! -S "/var/run/docker.sock" ] && sleep 2 || break; done
docker --version
kill $(jobs -p)
Are you on Google Colab, or running colab locally?
Google Colab
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
yeah, me too. Can anyone who can run successfully show me their script?
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
I also met with the same problem.
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
How to do?
Thanks a lot
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!
Thank you to @musahi0128, your solution worked for me.
@musahi0128 works perfectly!
Tested it with
!udocker --allow-root run hello-world
and checking for the running container with
!udocker --allow-root ps
!pip install udocker
!udocker --allow-root install
!udocker --allow-root run scrapinghub/splash
Requirement already satisfied: udocker in /usr/local/lib/python3.10/dist-packages (1.3.10)
Warning: this container exposes TCP/IP ports
Error: invalid syntax for user splash:splash
!pip install udocker
!udocker --allow-root install
!udocker --allow-root run scrapinghub/splashRequirement already satisfied: udocker in /usr/local/lib/python3.10/dist-packages (1.3.10) Warning: this container exposes TCP/IP ports Error: invalid syntax for user splash:splash
Do you have the Dockerfile for that? It looks to me the error comes from within the container
https://github.com/drengskapur/docker-in-colab
Facing the following error
With udocker command
Error: do not run as root !
With docker command
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
With udocker command
@chinmoybasak It works for me - how are you running it?
@chinmoybasak prob need --allow-root
how to run it as a daemon (no --daemon option)?
solution: !nohup udocker &
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?
Thank you it 100% works 😊
how to run it as a daemon (no --daemon option)?
solution: !nohup udocker &
use this to detach the process
!(nohup udocker &)
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
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?