Telepítés (Ubuntu/Debian, hivatalos repo)

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER   # hogy sudo nélkül is használható legyen

Beállítás

Itt két dolgot emelnék ki:

  • Docker bridge IP range izolálása (nagyon fontos)

  • Docker data kiszervezése a rootból, hogy az Imagek ne tudják belakni a rendszerlemezt.

sudo systemctl stop docker
sudo systemctl stop containerd
sudo rsync -aP /var/lib/docker/ /mnt/Storage/Docker/
sudo rm -rf /var/lib/docker
sudo nano /etc/docker/daemon.json

{
  "default-address-pools": [
    {
      "base": "10.250.0.0/16",
      "size": 24
    }
  ],
    "data-root": "/mnt/Storage/Docker"
}
sudo systemctl start containerd
sudo systemctl start docker

Teszt

docker info | grep "Docker Root Dir"
  • Ugyanezt végezzük ez a containerd -vel is.

sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

sudo mkdir /mnt/Storage/Docker/containerd
sudo mv /var/lib/containerd/* /mnt/Storage/Docker/containerd/
rm -rf /var/lib/containerd
sudo nano /etc/containerd/config.toml

root = "/mnt/Storage/Docker/containerd"
sudo systemctl restart containerd
sudo systemctl restart docker

NetworkManager explicit tiltás Docker interface-ekre

Miért van erre szükség? Ubuntun hajlamos megbolondulni a NetworkManager és előfordulhat hogy lelősz egy containert és a Host elköszön a hálózattól, mert valamelyik vitruális hálózatra vált át.

Azt a következőképpen akadályozhatjuk meg.

sudo nano /etc/NetworkManager/conf.d/docker.conf

[keyfile]
unmanaged-devices=interface-name:docker0;interface-name:br-*;interface-name:veth*
systemctl restart NetworkManager

Image építés és konténer futtatás alapparancsai

docker build -t [image_nev]:[tag] .
docker run -d --name [konteiner_nev] -p [host_port]:[konteiner_port] [image_nev]:[tag]
docker ps                  # futó konténerek listázása
docker logs -f [konteiner_nev]
docker exec -it [konteiner_nev] bash
docker stop [konteiner_nev]
docker rm [konteiner_nev]

None-Imagek törlése - TAKARÍTÁS

docker image prune -a
docker builder prune -a
docker system prune -a

← Vissza: Linux