Jak zaktualizować Docker

117

Piszę wersję docker.io i otrzymuję:

Client version: 0.9.1
Go version (client): go1.2.1
Git commit (client): 3600720
Server version: 0.9.1
Git commit (server): 3600720
Go version (server): go1.2.1
Last stable version: 0.11.1, please update docker

Śledzę to za pomocą apt-get update, a następnie albo:, apt-get upgradealbo apt-get upgrade docker.io, ale wszystko, co mi daje, to:

docker.io is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Korzystam z 64-bitowego serwera Ubuntu 14.04 (zaufanego).

EDYCJA: Wydaje mi się, że użyłem skryptu w tym komentarzu do instalacji okna dokowanego (ponieważ rzekomo pozwala mi to po prostu wpisać okno dokowane zamiast pliku docker.io)

Gerrat
źródło
1
Jak zainstalowałeś dokera?
praca w
Nie wiem, jaki jest cel skryptu oprócz zmiany nazwy pliku binarnego „docker.io” na „docker”.
Braiam
@Braiam: Nie byłem też do końca pewien, ale ponieważ nie znam się zbyt dobrze na Linux / O, miałem nadzieję, że robi coś bardziej przydatnego (a może to był po prostu lepszy sposób niż zmiana nazwy pliku binarnego) ).
Gerrat

Odpowiedzi:

145

Załóżmy, że jest to wersja Ubuntu Trusty (14.04), która oficjalnie ma wersję 0.9.1

Zaktualizuj ponownie w 2017/03/07, aby uwzględnić zmiany w nowej wersji, patrz https://blog.docker.com/2017/03/docker-enterprise-edition/

Oficjalna wytyczna jest tutaj Instalacja dokera dla Ubuntu , stare wydanie miało inną nazwę pakietu.

  • docker.io: jest używana jako bardzo stara wersja w domyślnym repozytorium ubuntu (można pominąć tutaj)
  • docker-engine: jest używany przed wydaniem 1.13.x.
  • docker-ce: od 17.03

dla silnika dokującego

# add the new gpg key
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# add new repo
$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

Następnie możesz płynnie zaktualizować do najnowszej wersji dokera

$ sudo apt-get update

# remove the old
$ sudo apt-get purge lxc-docker*

# install the new
$ sudo apt-get install docker-engine

A jeśli nie chcesz instalować najnowszego pakietu, możesz zrobić coś takiego jak poniżej.

$ sudo apt-get install docker-engine=1.7.1-0~trusty

dla dokerów-ce

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ 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 docker-ce
Larry Cai
źródło
3
Czy masz jakieś zalety / wady korzystania z tej metody w porównaniu z tą, którą znalazłem, która instaluje się z htts: //get.docker.io? Wydaje mi się, że ta z rzeczywistej domeny dokerów wydaje się bardziej oficjalna, ale jeśli to ci sami faceci, którzy administrują ppa dokerem-utrzymaniem / testowaniem, może to nie ma znaczenia.
Gerrat
Nie wiem, link do twojej metody jest trochę stary, PPA jest dobrym wyborem dla użytkownika ubuntu, a pochodzi od zespołu zarządzającego Docker Ubuntu, jest również wiarygodny. Prawdopodobnie tak jak powiedziałeś, ci sami faceci z lepszym sposobem, aby służyć społeczności ;-)
Larry Cai
1
----------Sprzedany!
Gerrat
@Gerrat wydaje się ponownie wracać do twojego rozwiązania, jeśli teraz wybierasz wersję 1.0
Larry Cai
3
gpg: no writable keyring found: eof-> użyj sudo ...
Michael Cole
22

Ostrzeżenie: ponieważ jest to starszy post, skorzystaj z oficjalnych zasobów, aby zapobiec problemom: https://www.docker.com/community-edition#/download


Jednym ze sposobów na upgrade do najnowszej wersji (bez instalacji ze źródeł) jest skorzystanie z instrukcjami tutaj dostarczonych przez Ocean cyfrowej:

  1. Dodaj klucz repozytorium dokera do apt-key w celu weryfikacji pakietu

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Dodaj repozytorium dokerów do źródeł aptitude:

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list"
  3. Zaktualizuj repozytorium o nowy dodatek:

    aktualizacja umiejętności sudo
  4. Na koniec pobierz i zainstaluj okno dokowane:

    sudo aptitude install lxc-docker
Gerrat
źródło
1
Oznacza to jednak, że decydujesz się na użycie potencjalnie mniej stabilnej wersji nadrzędnej. Na przykład po uaktualnieniu do wcześniejszej wersji dokera 1.1.0 zacząłem widzieć błąd Driver aufs failed to remove root filesystem podczas usuwania niektórych kontenerów. Nigdy nie widziałem tego z pakietem docker.io, który jest prawdopodobnie bardziej przetestowany i stabilny w Trusty.
Sridhar Ratnakumar
1
@Sridhar: Zgoda. ... jednak moim pierwotnym powodem aktualizacji było to, że w obecnej „przetestowanej i stabilnej” wersji brakowało jakiejś kluczowej funkcjonalności (nie pamiętam co teraz), lub miałem kilka błędów show-stopper. ... a twoja konkretna skarga wydaje się być błędem, który istnieje od dłuższego czasu: zobacz trzy powiązane błędy, do których odwołuje się u dołu tej strony: coderwall.com/p/h24pgw
Gerrat
Użyj oficjalnych zasobów do instalacji, te są przestarzałe ... docker.com/community-edition#/download
schlenger
12

Krótka odpowiedź: oficjalny dokument instalacyjny Docker obejmuje teraz to dla Ubuntu 14.04 (choć nie jest to tak jasne, jak mogłoby być).

Pakiet Ubuntu o nazwie docker.ionie jest utrzymywana przez Docker, Inc. i będzie pozostawać w tyle najnowszej wersji. Na przykład dzisiaj utknął, 0.9.1a najpóźniej jest 1.0.1. Zrobiłbym to i usunę to, jeśli masz.

Pakiet Docker nazwie lxc-docker(złudzenia, ponieważ LXC nie jest już bezwzględnie konieczne). Jest jednak aktualne. Musisz dodać repozytorium będące własnością Dockera do swojej apt-getkonfiguracji. Oficjalny dokument instalacyjny Docker obejmuje to dla Ubuntu 14.04 - poszukaj „Jeśli chcesz wypróbować najnowszą wersję Docker”. Uwaga: plik binarny będzie docker(w przeciwieństwie do docker.iodostarczonego przez Ubuntu).

Powietrze
źródło
11

Jeśli ufasz get.docker.com, uruchom:

curl -sSL https://get.docker.com/ | sudo bash
Leo Gallucci
źródło
8

Możesz zainstalować z repozytorium innej firmy, postępując zgodnie z instrukcjami :

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
Fernando Correia
źródło
4

Masz najnowszą wersję docker.io (0.9.1), która jest dostępna w repozytoriach ubuntu dla Trusty Tahr od dziś.

Jeśli jednak nadal chcesz zaktualizować wersję, możesz sklonować najnowszą wersję pliku docker.io z github i ponownie skompilować. Aby uzyskać instrukcje dotyczące instalowania go ze źródła, na blogu docker.io znajduje się interaktywny samouczek .

Praca w
źródło
Dzięki, ale właśnie zrobiłem interaktywny samouczek. Nie mówi nic o instalowaniu go ze źródła - po prostu przechodzi przez kilka bardzo podstawowych poleceń dokera.
Gerrat
Powodem, dla którego potrzebuję późniejszej wersji, jest to, że całkowicie bombarduje próbę uruchomienia importowanego obrazu. Obraz działa poprawnie w najnowszej stabilnej wersji: 0.11.1. Korzystam z najnowszej stabilnej wersji na innym komputerze i nie jestem do końca pewien, jak ją otrzymałem, ale jest mało prawdopodobne, że skompilowałem ją ze źródła. Czy może istnieje tylko inne repozytorium z najnowszą stabilną wersją?
Gerrat
Pomogłeś mi ulepszyć pamięć o tym, jak zainstalowałem najnowszą wersję.
Gerrat
1

lub po prostu sudo apt-get install -f docker-ceuzyskać najnowszą stajnię

Damilola
źródło
to nie działało dla mnie - rozumiem -E: Package 'docker-ce' has no installation candidate
Alexander Mills
0

Możesz także pobrać docker.io 0.11.1 .debplik z Launchpada i zainstalować.

wget https://launchpad.net/~docker-maint/+archive/testing/+files/docker.io_0.11.1%7Edfsg1-1%7Eppa1%7Etrusty1_amd64.deb

sudo dpkg -i docker.io_0.11.1~dfsg1-1~ppa1~trusty1_amd64.deb

źródło
Ciekawy. Wygląda na to, że zostało to założone kilka tygodni temu.
Gerrat