Docker
Instalacja Dockera niezależnie od rodzaju maszyny jest jednakowa .
Aby pobrać i uruchomić skrypt należy wykonać poniższe polecenia.
Przechodzimy do katalogu /opt
cd /opt
Pobieramy skrypt
sudo wget -O install_docker.sh http://arkplan.eu/files/ark-gis/install_docker.txt
Nadajemy uprawnienia do wykonywania
sudo chmod 777 install_docker.sh
Uruchamiamy instalację
./install_docker.sh
Poniżej znajduje się z treść skryptu instalacyjnego.
#!/bin/bash
##
# Instalacja Docker - wykonać jako użytkownik z uprawnieniami sudo lub root
##
set -e
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg2 lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"')/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"') \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# Dodanie sterownika do drivera slirp4netns
echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf
# Dodanie katalogu na pliki konfiguracyjne dockera
sudo mkdir -p /opt/docker
sudo chown www-data:www-data /opt/docker
# Dodanie uprawnień do journalctl
sudo usermod -aG systemd-journal www-data
# ROOTLESS
sudo apt install dbus-user-session fuse-overlayfs uidmap docker-ce-rootless-extras -y
sudo apt autoremove -y
sudo modprobe overlay permit_mounts_in_userns=1
sudo sh -c 'echo "www-data:100000:65536" >> /etc/subuid'
sudo sh -c 'echo "www-data:100000:65536" >> /etc/subgid'
sudo sh -c 'echo "net.ipv4.ip_unprivileged_port_start=0" > /etc/sysctl.d/99-rootless.conf'
sudo sh -c 'echo "net.ipv4.ping_group_range=0 2147483647" > /etc/sysctl.d/99-rootless.conf'
sudo sysctl --system
ROOTLESS
W związku z tym, że docker powinien działać w trybie ROOTLESS, należy zainstalować jeszcze jego obsługę.
Pamiętać należy, że ten fragment wykonujemy będąc fizycznie zalogowanym na koncie użytkownika www-data (nie wystarczy su www-data).
Podobnie jak wcześniej pobieramy skrypt
sudo wget -O install_docker_rootless.sh http://arkplan.eu/files/ark-gis/install_docker_rootless.txt
Nadajemy uprawnienia do wykonywania
sudo chmod 777 install_docker_rootless.sh
Uruchamiamy instalację
./install_docker_rootless.sh
Poniżej znajduje się z treść skryptu instalacyjnego.
#!/bin/bash
Instalacja Docker - wykonać jako użytkownik www-data
set -e
ROOTLESS
dockerd-rootless-setuptool.sh install echo "export PATH=$HOME/bin:$PATH export DOCKER_HOST=unix:///run/user/$(id -u www-data)/docker.sock" >> $HOME/.bashrc
mkdir -p ~/.config/systemd/user/docker.service.d/ echo "[Service] Environment="DOCKERD_ROOTLESS_ROOTLESSKIT_NET=slirp4netns" Environment="DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=builtin" ExecStart= ExecStart=/usr/bin/dockerd-rootless.sh -H unix:///run/user/33/docker.sock" > ~/.config/systemd/user/docker.service.d/override.conf
mkdir -p ~/.config/docker echo "{ "userland-proxy": false }" > ~/.config/docker/daemon.json
systemctl --user enable docker loginctl enable-linger $(id -un www-data) docker context use rootless