Làm cách nào để nâng cấp Docker


117

Tôi gõ phiên bản docker.io và nhận:

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

Tôi làm theo điều đó với một apt-get update, sau đó: apt-get upgradehoặc apt-get upgrade docker.io, nhưng tất cả những gì nó mang lại cho tôi là:

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

Tôi đang chạy máy chủ 64 bit Ubuntu 14.04 (đáng tin cậy).

EDIT: Tôi nghĩ rằng tôi đã sử dụng một tập lệnh trong bình luận Post này để cài đặt docker (vì nó có ý định cho phép tôi chỉ gõ docker thay vì docker.io)


1
Làm thế nào bạn cài đặt docker?
việc

Tôi không biết mục tiêu của tập lệnh là gì ngoài việc đổi tên nhị phân "docker.io" thành "docker".
Braiam

@Braiam: Tôi cũng không chắc lắm, nhưng vì tôi không quá quen thuộc với linux O / S, tôi đã hy vọng nó làm được điều gì đó hữu ích hơn thế (hoặc có lẽ đây chỉ là cách tốt hơn là đổi tên nhị phân ).
Gerrat

Câu trả lời:


145

Giả sử đó là phiên bản Ubuntu Trusty (14.04), đã có 0.9.1 chính thức

Cập nhật lại vào 2017/03/07 để phản ánh những thay đổi trong bản phát hành mới, xem https://blog.docker.com/2017/03/docker-enterprise-edition/

Hướng dẫn chính thức là ở đây Cài đặt docker cho Ubuntu , bản phát hành cũ có tên gói khác nhau.

  • docker.io: được sử dụng là phiên bản rất cũ trong mặc định ub Ubuntu repo (có thể bỏ qua tại đây)
  • docker-engine: được sử dụng trước khi phát hành 1.13.x
  • docker-ce: kể từ ngày 17.03

cho động cơ docker

# 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"

Sau đó, bạn có thể dễ dàng nâng cấp lên phiên bản docker mới nhất

$ sudo apt-get update

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

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

Và trong trường hợp bạn không muốn cài đặt gói mới nhất thì bạn có thể làm một cái gì đó như dưới đây.

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

cho docker-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

3
Bạn có bất kỳ ưu / nhược điểm của việc sử dụng phương pháp này so với phương pháp tôi tìm thấy được cài đặt từ htts: //get.docker.io không? Tôi nghĩ rằng cái từ miền docker thực tế có vẻ chính thức hơn, nhưng nếu đó là cùng một người quản lý ppa docker-duy trì / thử nghiệm, thì có lẽ điều đó không thành vấn đề.
Gerrat

Tôi không biết, liên kết cho phương pháp của bạn hơi cũ, PPA là lựa chọn tốt cho người dùng Ubuntu và điều này đến từ nhóm bảo trì Docker Ubuntu, nó cũng có thể tin tưởng được. Có lẽ như bạn đã nói, cùng những người có cách tốt hơn để phục vụ cộng đồng ;-)
Larry Cai

1
----------Đã bán!
Gerrat

@Gerrat dường như trở lại giải pháp của bạn một lần nữa nếu đi 1.0 ngay bây giờ
Larry Cai

3
gpg: no writable keyring found: eof-> sử dụng sudo ...
Michael Cole

22

Cảnh báo: Vì đây là Bài đăng cũ hơn, vui lòng sử dụng tài nguyên chính thức để ngăn chặn sự cố: https://www.docker.com/community-edition#/d Download


Một cách để nâng cấp lên phiên bản mới nhất (không cần cài đặt từ nguồn) là sử dụng các hướng dẫn ở đây do Digital Ocean cung cấp:

  1. Thêm khóa kho chứa docker vào khóa apt để xác minh gói

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Thêm kho lưu trữ docker vào các nguồn năng khiếu:

    sudo sh -c "echo deb http://get.docker.io/ub Ubuntu docker main \> /etc/apt/source.list.d/docker.list"
  3. Cập nhật kho lưu trữ với bổ sung mới:

    cập nhật năng lực sudo
  4. Cuối cùng, tải xuống và cài đặt docker:

    sudo aptitude cài đặt lxc-docker

1
Tuy nhiên, điều này không có nghĩa là bạn đang quyết định sử dụng phiên bản ngược dòng có khả năng ổn định kém hơn. Ví dụ, sau khi nâng cấp lên docker ngược dòng 1.1.0, tôi bắt đầu thấy lỗi Driver aufs failed to remove root filesystem khi xóa một số container nhất định. Tôi chưa bao giờ thấy điều này với gói docker.io, có lẽ đã được thử nghiệm và ổn định hơn trong Trusty.
Sridhar Ratnakumar

1
@Sridhar: Đồng ý. ... tuy nhiên, lý do ban đầu của tôi để nâng cấp, là phiên bản "đã thử nghiệm và ổn định" hiện tại bị thiếu một số chức năng chính (không nhớ những gì bây giờ) hoặc có một số lỗi trình chiếu cho tôi. ... và khiếu nại cụ thể của bạn dường như là một lỗi tồn tại khá lâu: xem ba lỗi liên quan được tham chiếu ở cuối trang này: coderwall.com/p/h24pgw
Gerrat

Sử dụng các tài nguyên chính thức để cài đặt, những tài nguyên này đã lỗi thời ... docker.com/community-edition#/doad
schlenger

12

Câu trả lời ngắn gọn: tài liệu cài đặt Docker chính thức hiện bao gồm điều này cho Ubuntu 14.04 (mặc dù nó không rõ ràng như nó có thể).

Các gói Ubuntu đặt tên docker.iokhông được duy trì bởi Docker, Inc và sẽ tụt hậu so với các phiên bản mới nhất. Ví dụ hôm nay nó bị kẹt tại 0.9.1và mới nhất là 1.0.1. Tôi sẽ đi trước và loại bỏ điều này nếu bạn có nó.

Các gói Docker được đặt tên lxc-docker(mức gây nhầm lẫn, vì LXC không còn đúng yêu cầu). Đó là tuy nhiên đến nay. Bạn sẽ cần thêm repo do Docker sở hữu vào apt-getthiết lập của bạn . Tài liệu cài đặt Docker chính thức bao gồm điều này cho Ubuntu 14.04 - hãy tìm "Nếu bạn muốn dùng thử phiên bản Docker mới nhất". Lưu ý, nhị phân sẽ là docker(trái ngược với docker.iokhi được cung cấp bởi Ubuntu).


11

Nếu bạn tin tưởng get.docker.com, hãy chạy:

curl -sSL https://get.docker.com/ | sudo bash

8

Bạn có thể cài đặt từ kho lưu trữ của bên thứ ba theo hướng dẫn :

$ 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

4

Bạn có phiên bản mới nhất của docker.io (0.9.1) có sẵn trong kho ubfox cho Trusty Tahr cho đến ngày hôm nay.

Tuy nhiên, nếu bạn vẫn muốn nâng cấp phiên bản, bạn có thể sao chép phiên bản mới nhất của docker.io từ github và biên dịch lại. Để biết hướng dẫn về việc cài đặt nó từ nguồn, có một hướng dẫn tương tác trên blog của docker.io .


Cảm ơn, nhưng tôi chỉ làm hướng dẫn tương tác. Nó không nói gì về việc cài đặt nó từ nguồn - nó chỉ đi qua một số lệnh docker rất cơ bản.
Gerrat

Lý do tôi cần một phiên bản mới hơn là nó hoàn toàn bị ném bom khi cố chạy một hình ảnh nhập khẩu. Hình ảnh chạy tốt trên phiên bản ổn định mới nhất: 0.11.1. Tôi đang chạy phiên bản ổn định mới nhất trên một máy khác và tôi không chắc chắn chính xác làm thế nào tôi có được nó, nhưng không chắc là tôi đã biên dịch nó từ nguồn. Có lẽ chỉ có một kho lưu trữ khác có phiên bản ổn định mới nhất tại?
Gerrat

Bạn rất hữu ích trong việc điều chỉnh bộ nhớ của tôi về cách tôi cài đặt phiên bản mới nhất.
Gerrat

1

hoặc chỉ đơn giản là sudo apt-get install -f docker-ceđể có được sự ổn định mới nhất


điều này không hiệu quả với tôi - tôi hiểu -E: Package 'docker-ce' has no installation candidate
Alexander Mills

0

Bạn cũng có thể tải docker.io 0.11.1 .debtập tin từ Launchpad và cài đặt.

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

Hấp dẫn. Có vẻ như điều đó mới được thiết lập vài tuần trước.
Gerrat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.