Инсталляция / Upgrade Docker в Ubuntu 22.04
Делаю:
2026.01.04
Инсталляция Docker
$ mkdir ~/tmp
$ cd ~/tmp
$ vi install-docker-and-docker-compose.sh
#!/bin/bash
### Install Docker
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install -y docker-ce
$ chmod +x ./install-docker-and-docker-compose.sh
$ sudo ./install-docker-and-docker-compose.sh
$ docker -v
Docker version 29.1.3, build f52814d
$ docker compose version
Docker Compose version v5.0.1
Предоставить пользователю права для работы с docker
// Добавить текущего пользоателя в группу для работы с docker
$ sudo usermod -aG docker ${USER}
в группе docker должен появиться этот пользователь
$ cat /etc/group | grep docker
docker:x:999:marley
Перелогиниваемся, иначе не будет работать
$ logout
Лучше даже сделать reboot.
$ sudo reboot
// Но можно и
$ newgrp docker
(При необходимости!) Изменить каталог по умолчанию для хранения контейнеров и имиджей
Делаю:
13.08.2022
$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/docker-storage.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --data-root="/mnt/dsk1/docker"
# systemctl daemon-reload
# systemctl restart docker
# ps auxwww | grep docker
root 14893 0.7 0.4 1382816 77408 ? Ssl 23:49 0:00 /usr/bin/dockerd -H fd:// --data-root=/mnt/dsk1/docker
root 15005 0.0 0.0 9048 656 pts/8 S+ 23:49 0:00 grep --color=auto docker
Разрешить работы с определенными registry по HTTP
**Текст ошибки:**
http: server gave HTTP response to HTTPS client
$ sudo vi /etc/docker/daemon.json
{
"insecure-registries": ["localhost:5000"]
}
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
Error response from daemon: Get “https://my-host/v2/”: tls: failed to verify certificate: x509: certificate signed by unknown authority
Тоже самое, что и выше.
Но не нужно указывать https:// и /v2/
$ docker info
***
Insecure Registries:
localhost:5000
127.0.0.0/8
Отключить автозапуск контейнеров docker-compose
// We can stop specific container by going to the specific directory and then running the following command
$ docker-compose down
// To prevent a specific container from auto starting when a system is powered on
$ docker update --restart=no [container id]