Platforma testowa: Fedora 29 (Server Edition)
Wymagania: użytkownik root lub użytkownik inny niż root z uprawnieniami sudo.
Odinstalowanie starszych wersji Docker
Starsze wersje pakietu Docker nazywane były docker lub docker-engine. Jeśli są zainstalowane, odinstaluj je wraz z powiązanymi zależnościami. Zawartość /var/lib/docker/ (obrazy, kontenery, woluminy i sieci) zostanie zachowana.
$ sudo dnf update
$ sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
Instalacja
1. Zainstaluj pakiet dnf-plugins-core:
$ sudo dnf -y install dnf-plugins-core
2. Skonfiguruj repozytorium docker-ce:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
3. Zainstaluj pakiety docker i containerd:
$ sudo dnf install docker-ce docker-ce-cli containerd.io
4. Uruchomienie i włączenie startu usługi docker wraz z systemem:
$ sudo systemctl start docker.service
$ sudo systemctl status docker.service
$ sudo systemctl enable docker.service
5. Weryfikacja instalacji usługi:
$ sudo docker run hello-world
Polecenie to pobiera obraz testowy i uruchamia go w kontenerze Docker.
Jeśli chcesz używać Docker jako użytkownik inny niż root, powinieneś rozważyć dodanie użytkownika do grupy docker:
$ sudo usermod -aG docker $USER
Uwaga: Aby to zadziałało, należy się wylogować i zalogować ponownie.
Jeśli początkowo uruchamiałeś polecenia Docker CLI używając sudo (przed dodaniem użytkownika do grupy docker) może pojawić się błąd, wskazujący na to, że katalog ~/.docker/ został utworzony z nieprawidłowymi uprawnieniami z powodu użycia sudo:
WARNING: Error loading config file: /home/sysadmin/.docker/config.json -
stat /home/sysadmin/.docker/config.json: permission denied
Aby rozwiązać ten problem, usuń katalog ~/.docker/ (jest on odtwarzany automatycznie, ale wszelkie ustawienia niestandardowe zostaną utracone) lub zmień jego właściciela i uprawnienia do niego:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R