Bagaimana Saya memutakhirkan Docker

117

Saya mengetik versi docker.io, dan mendapatkan:

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

Saya mengikutinya dengan apt-get update, lalu salah satu:, apt-get upgradeatau apt-get upgrade docker.io, tetapi semua itu memberi saya adalah:

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

Saya menjalankan Ubuntu 14.04 (terpercaya) server 64bit.

EDIT: Saya pikir saya menggunakan skrip dalam komentar Post ini untuk menginstal buruh pelabuhan (karena itu dimaksudkan untuk memungkinkan saya cukup mengetik buruh pelabuhan bukannya buruh pelabuhan)

Gerrat
sumber
1
Bagaimana Anda menginstal buruh pelabuhan?
jobin
Saya tidak tahu apa tujuan naskah selain mengganti nama biner "docker.io" menjadi "buruh pelabuhan".
Braiam
@Braiam: Saya juga tidak begitu yakin, tapi karena saya tidak terlalu mengenal linux O / S, saya berharap itu melakukan sesuatu yang lebih berguna dari itu (atau mungkin ini hanya cara yang lebih baik daripada hanya mengubah nama biner. ).
Gerrat

Jawaban:

145

Misalkan itu adalah rilis Ubuntu Trusty (14.04), yang memiliki 0.9.1 resmi

Perbarui lagi pada 2017/03/07 untuk mencerminkan perubahan dalam rilis baru, lihat https://blog.docker.com/2017/03/docker-enterprise-edition/

Panduan resmi ada di sini Instal docker untuk Ubuntu , rilis lama memiliki nama paket yang berbeda.

  • docker.io: digunakan untuk menjadi versi yang sangat lama di repo ubuntu default (bisa lewati di sini)
  • docker-engine: digunakan sebelum rilis 1.13.x
  • docker-ce: sejak 17.03

untuk mesin buruh pelabuhan

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

Kemudian Anda dapat dengan lancar meningkatkan ke versi buruh pelabuhan terbaru

$ sudo apt-get update

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

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

Dan jika Anda tidak ingin menginstal paket terbaru maka Anda dapat melakukan sesuatu seperti di bawah ini.

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

untuk buruh pelabuhan

$ 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
sumber
3
Apakah Anda memiliki pro / kontra tentang menggunakan metode ini vs yang saya temukan yang menginstal dari htts: //get.docker.io? Saya akan berpikir yang dari domain buruh pelabuhan yang sebenarnya tampaknya lebih resmi, tetapi jika itu adalah orang yang sama yang mengelola buruh pelabuhan / pengujian ppa, maka mungkin itu tidak masalah.
Gerrat
Saya tidak tahu, tautan untuk metode Anda sedikit lama, PPA adalah pilihan yang baik untuk pengguna ubuntu, dan ini berasal dari tim pengelola Docker Ubuntu, juga dapat dipercaya. Mungkin seperti yang Anda katakan, orang yang sama dengan cara yang lebih baik untuk melayani masyarakat ;-)
Larry Cai
1
----------Terjual!
Gerrat
@ Gerer tampaknya kembali ke solusi Anda lagi jika menggunakan versi 1.0 sekarang
Larry Cai
3
gpg: no writable keyring found: eof-> gunakan sudo ...
Michael Cole
22

Peringatan: Karena ini adalah Posting yang lebih lama, silakan gunakan sumber daya resmi untuk mencegah masalah: https://www.docker.com/community-edition#/download


Salah satu cara untuk meningkatkan ke versi terbaru (tanpa menginstal dari sumber) adalah dengan menggunakan instruksi di sini yang disediakan oleh Digital Ocean:

  1. Tambahkan kunci repositori buruh pelabuhan ke apt-key untuk verifikasi paket

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Tambahkan repositori buruh pelabuhan ke sumber aptitude:

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list"
  3. Perbarui repositori dengan tambahan baru:

    pembaruan bakat sudo
  4. Terakhir, unduh dan pasang buruh pelabuhan:

    sudo aptitude menginstal lxc-docker
Gerrat
sumber
1
Ini berarti, bagaimanapun, bahwa Anda memutuskan untuk menggunakan versi upstream yang berpotensi kurang stabil. Misalnya, setelah memutakhirkan ke upstream docker 1.1.0, saya mulai melihat kesalahan Driver aufs failed to remove root filesystem ketika menghapus wadah tertentu. Saya tidak pernah melihat ini dengan paket docker.io, yang mungkin lebih teruji dan stabil di Trusty.
Sridhar Ratnakumar
1
@Ridhar: Setuju. ... Namun, alasan asli saya untuk melakukan peningkatan, adalah bahwa versi "teruji dan stabil" saat ini tidak memiliki beberapa fungsi utama (tidak ingat apa yang sekarang), atau memiliki beberapa bug show-stopper untuk saya. ... dan keluhan khusus Anda tampaknya adalah bug yang ada cukup lama: lihat tiga bug terkait yang dirujuk di bagian bawah halaman ini: coderwall.com/p/h24pgw
Gerrat
Gunakan sumber resmi untuk instalasi, yang ini sudah usang ... docker.com/community-edition#/download
schlenger
12

Jawaban singkat: dok instalasi resmi Docker sekarang mencakup ini untuk Ubuntu 14.04 (meskipun tidak sejelas mungkin).

The paket Ubuntu bernama docker.iotidak dikelola oleh Docker, Inc dan akan tertinggal di belakang versi terbaru. Misalnya hari ini macet 0.9.1dan terbaru 1.0.1. Saya akan melanjutkan dan menghapus ini jika Anda memilikinya.

The Docker paket bernama lxc-docker(membingungkan, karena LXC tidak lagi ketat diperlukan). Namun ini terkini. Anda perlu menambahkan repo milik Docker ke apt-getpengaturan Anda . Dok instalasi Docker resmi mencakup ini untuk Ubuntu 14.04 - lihat "Jika Anda ingin mencoba versi terbaru Docker". Catatan, biner akan docker(tidak seperti docker.ioketika disediakan oleh Ubuntu).

Udara
sumber
11

Jika Anda percaya pada get.docker.com, jalankan:

curl -sSL https://get.docker.com/ | sudo bash
Leo Gallucci
sumber
8

Anda dapat menginstal dari repositori pihak ketiga dengan mengikuti instruksi :

$ 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
sumber
4

Anda memiliki versi docker.io (0.9.1) terbaru yang tersedia di repositori ubuntu untuk Trusty Tahr pada hari ini.

Namun, jika Anda masih ingin meningkatkan versi, Anda dapat mengkloning versi terbaru dari docker.io dari github dan mengkompilasi ulang. Untuk instruksi tentang menginstalnya dari sumber, ada tutorial interaktif di blog docker.io .

pekerjaan
sumber
Terima kasih, tetapi saya baru saja melakukan tutorial interaktif. Ia mengatakan apa-apa tentang menginstalnya dari sumber - itu hanya melewati beberapa perintah buruh pelabuhan yang sangat dasar.
Gerrat
Alasan saya memerlukan versi yang lebih baru adalah bahwa itu sepenuhnya pengeboman mencoba untuk menjalankan gambar yang diimpor. Gambar berfungsi dengan baik pada versi stabil terbaru: 0.11.1. Saya menjalankan versi stabil terbaru di komputer lain, dan saya tidak yakin bagaimana saya mendapatkannya, tetapi sepertinya saya tidak mengkompilasinya dari sumber. Apakah mungkin hanya ada repositori lain yang memiliki versi stabil terbaru?
Gerrat
Anda sangat membantu dalam mengubah memori saya tentang cara saya menginstal versi terbaru.
Gerrat
1

atau hanya sekadar sudo apt-get install -f docker-ceuntuk mendapatkan stabil terbaru

Damilola
sumber
ini tidak berhasil untuk saya - saya dapatkan -E: Package 'docker-ce' has no installation candidate
Alexander Mills
0

Anda juga dapat mengunduh docker.io 0.11.1 .debfile dari Launchpad dan menginstal.

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

sumber
Menarik. Sepertinya itu baru didirikan beberapa minggu yang lalu.
Gerrat