Настройка сети для docker и установка разрешений в ufw

По умолчанию настройки /etc/docker/daemon.json берём следующие настройки:

{
"bip": "172.66.0.1/16",
"default-address-pools": [{
"scope": "local",
"base": "172.20.0.0/16",
"size": 24
}],
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}
Читать далее «Настройка сети для docker и установка разрешений в ufw»

Ошибки VERR_VMX_IN_VMX_ROOT_MODE в VirtualBox

В моём случаи эта была ошибка из параллельной работы VirtualBox и Docker Desktop

Если проблема в VirtualBox, то

sudo rmmod kvm_intel
sudo rmmod kvm

Если не запускается Docker Desktop, то

sudo modprobe kvm-intel

Очистка от лишних образов docker

Удаление контейнеров

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Удаление образов

docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi

According to the doc, the following command will delete images older than 48 hours.

docker image prune --all --filter until=48h

Зеркало для docker

Альтернативное зеркало для docker

"https://dockerhub.timeweb.cloud/"

В файл etc/docker/daemon.json добавляем:

"registry-mirrors": [
    "https://mirror.gcr.io/",
    "https://dockerhub.timeweb.cloud/"
  ]

Чтобы сохранить образы в собственный репозиторий можно воспользоваться:

docker pull ubuntu:20.04
docker tag ubuntu:20.04 my-registry/ubuntu:20.04
docker push my-registry/ubuntu:20.04

В этом примере показана возможность сохранить образ ubuntu:20.04 в собственном репозитории

Большой размер файла ext4.vhdx в Docker

После анализа размера папок можно обнаружить, что файл в каталоге:

C:\Users\username\AppData\Local\Docker\wsl\data\ext4.vhdx

занимает значительное пространство.

Читать далее «Большой размер файла ext4.vhdx в Docker»

Deploy a registry server

https://docs.docker.com/registry/deploying/

Пример API

https://www.baeldung.com/ops/docker-registry-api-list-images-tags

Доступ к ресурсу через авторизацию

docker login -u user -p password private.repository:5000

Для удаления

curl https://docker-registry/v2/my-ubuntu/tags/list
curl -v https://docker-registry/v2/my-ubuntu/manifests/latest -H 'Accept: application/vnd.docker.distribution.manifest.v2+json'
curl -X DELETE https://docker-registry/v2/my-ubuntu/manifests/sha256:a3785f78ab8547ae2710c89e627783cfa7ee7824d3468cae6835c9f4eae23ff7 -v