Dockerのアップグレード方法


117

docker.ioバージョンを入力し、取得します。

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

それに続いて、、またはのapt-get updateいずれか:apt-get upgrade、またはapt-get upgrade docker.ioが、それが私に与えるすべては:

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

Ubuntu 14.04(信頼できる)64ビットサーバーを実行しています。

編集:私はこの投稿コメントでスクリプトを使用してDockerをインストールしたと思います(docker.ioの代わりにdockerを入力することを可能にすることを意図しているため)


1
ドッカーをどのようにインストールしましたか?
jobin

「docker.io」バイナリの名前を単に「docker」に変更する以外に、スクリプトの目的が何かわかりません。
Braiam

@ブライアム:どちらも確かではありませんでしたが、Linux O / Sにあまり詳しくないので、それよりも便利なことをしたいと思っていました(または、これは単にバイナリの名前を変更するよりも良い方法でした)。
ジェラート

回答:


145

Ubuntu Trusty(14.04)リリースであり、正式には0.9.1であるとします

2017/03/07再度更新して、新しいリリースの変更を反映します。https://blog.docker.com/2017/03/docker-enterprise-edition/を参照してください

公式のガイドラインはこちらUbuntuのdockerのインストール、古いリリースには異なるパッケージ名がありました。

  • docker.io:デフォルトのubuntuレポで非常に古いバージョンであるために使用されます(ここではスキップできます)
  • docker-engine:リリース1.13.xより前に使用されます
  • docker-ce:17.03以降

ドッカーエンジン用

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

その後、スムーズに最新のdockerバージョンにアップグレードできます

$ sudo apt-get update

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

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

また、最新のパッケージをインストールしたくない場合は、次のようなことができます。

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

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
この方法を使用することと、htts://get.docker.ioからインストールすることを発見した方法の長所/短所はありますか?実際のdockerドメインからのものはより公式に見えると思いますが、docker-maint / testing ppaを管理するのと同じ人なら、それは問題ではないでしょう。
ジェラート

私は知りません、あなたの方法のリンクは少し古く、PPAはubuntuユーザーにとって良い選択です、そしてこれはDocker Ubuntuメンテナーチームから来ています、それはまた信頼できます。おそらくあなたが言ったように、同じ人がコミュニティに貢献するより良い方法を持っています;-)
ラリー・カイ

1
----------完売!
ジェラート

@Gerratは現在、1.0のために行く場合は再びあなたのソリューションに思える
ラリー・カイ

3
gpg: no writable keyring found: eof- >使用sudoを...
マイケル・コール

22

警告:これは古い投稿なので、問題を防ぐために公式リソースを使用してください:https : //www.docker.com/community-edition#/download


(ソースからインストールせずに)最新バージョンにアップグレードするための一つの方法は、命令を使用することで、ここでデジタル海から提供を:

  1. パッケージ検証のためにDockerリポジトリキーをapt-keyに追加します

    sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add-"
  2. Dockerリポジトリをaptitudeソースに追加します。

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list"
  3. 新しい追加でリポジトリを更新します。

    sudo aptitudeアップデート
  4. 最後に、Dockerをダウンロードしてインストールします。

    sudo aptitude install lxc-docker

1
ただし、これは、潜在的に安定性の低いアップストリームバージョンを使用することにしたことを意味します。たとえば、アップストリームdocker 1.1.0にアップグレードした後、Driver aufs failed to remove root filesystem 特定のコンテナーを削除するときにエラーが表示され始めました。docker.ioパッケージでこれを見たことはありません。おそらく、Trustyでよりテストされ安定しているでしょう。
スリダールラトナクマー14

1
@スリダール:同意した。...しかし、私のアップグレードの元々の理由は、現在の「テスト済みで安定した」バージョンにいくつかの重要な機能が欠けているか(今は何を覚えていないか)、ショーストッパーのバグがあったからです。...そして、あなたの特定の苦情はかなりの時間のために存在していますバグのようです:このページの一番下に参照さ3個の関連のバグを参照してください。coderwall.com/p/h24pgw
Gerrat

インストールには公式リソースを使用してください。これらは廃止されています... docker.com/community-edition#/download
schlenger

12

短い答え:公式のDockerインストールドキュメントは、Ubuntu 14.04でこれをカバーするようになりました(ただし、明確ではありません)。

Ubuntuのパッケージの名前はdocker.ioドッカー、Inc.によって維持されていないと、最新バージョンに遅れます。たとえば、今日0.9.1は行き詰まっていて、最新は1.0.1です。もしあれば、これを削除します。

ドッカーパッケージが命名されたlxc-docker(LXCはもはや厳密には要求されないため、紛らわしいです)。ただし、最新の状態です。Docker所有のリポジ​​トリをapt-getセットアップに追加する必要があります。公式のDockerインストールドキュメントは、Ubuntu 14.04のこれをカバーしています-「最新バージョンのDockerを試してみたい場合」を探してください。バイナリはdockerdocker.ioUbuntuで提供される場合とは対照的に)なることに注意してください。



8

あなたは、次のサードパーティリポジトリからインストールすることができます指示

$ 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

今日の時点で、Trusty Tahrのubu​​ntuリポジトリで利用可能なdocker.ioの最新バージョン(0.9.1)があります。

ただし、バージョンをアップグレードする場合は、githubからdocker.ioの最新バージョンを複製して再コンパイルできます。ソースからのインストールに関する指示については、docker.ioのブログにインタラクティブなチュートリアルがあります。


ありがとう、しかし、私はインタラクティブなチュートリアルをしました。ソースからのインストールについては何も書かれていません-非常に基本的なdockerコマンドをいくつか実行するだけです。
ジェラート

新しいバージョンが必要な理由は、インポートされたイメージを実行しようとして完全に爆撃されているためです。イメージは最新の安定バージョン0.11.1で正常に動作します。私は最新の安定版を別のマシンで実行しています。どうやって入手したのか正確にはわかりませんが、ソースからコンパイルした可能性は低いです。おそらく、最新の安定バージョンを備えた別のリポジトリがありますか?
ジェラート

最新バージョンをどのようにインストールしたかについて、記憶を調整するのに役立ちました。
ジェラート

1

または単にsudo apt-get install -f docker-ce最新の安定版を入手するために


これは私にとってはうまくいきませんでした-私は得るE: Package 'docker-ce' has no installation candidate
アレクサンダーミルズ

0

Launchpaddocker.io 0.11.1 .debからファイルをダウンロードしてインストールすることもできます。

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

面白い。それは数週間前に設定されたようです。
ジェラート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.