web-dev-qa-db-ja.com

dockerのインストール中にエラーが発生: "docker-ce:Depends:containerd.io(> = 1.2.2-3)しかし、インストールされません"

Ubuntu 18.04にDockerをインストールしようとしていますが、次のエラーが発生します。

The following packages have unmet dependencies:
  docker-ce : Depends: containerd.io (>= 1.2.2-3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

修正するにはどうすればよいですか?

11
vatsalay

あなたはcontainerdパッケージをインストールする必要があります、これは私がそれを解決した方法です。

$ curl -O https://download.docker.com/linux/ubuntu/dists/bionic/pool/Edge/AMD64/containerd.io_1.2.2-3_AMD64.deb

$ Sudo apt install ./containerd.io_1.2.2-3_AMD64.deb 
5
prashant
Sudo snap install docker

Ubuntu 18.04これは私のために働いた。

次のリンクが機能しませんでした

  1. https://docs.docker.com/install/linux/docker-ce/ubuntu/
  2. https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04
  3. https://containerd.io/downloads/
3
Aseem

これのためにgithubで開かれた問題がありますか https://github.com/docker/for-linux/issues/832 といくつかの回避策があります。 Eoanの安定したパッケージはまだありません。いくつかの回避策は次のとおりです。

  • Ubuntu bionicからcontainerdを手動でインストールします(必要に応じて手動でアップグレードします)
  • 代わりにバイオニックリポジトリを使用してください
  • 代わりに安定したテストまたは夜間リポジトリを使用してください。

Snapには利用可能なバージョンがありますが、古すぎます(18.x)。ユニバースリポジトリにはdocker.ioパッケージがあります(19.03、最後ではなく、snapより新しい)。

0
felipeaf

編集/etc/apt/sources.list

この行で:

deb [Arch=AMD64] https://download.docker.com/linux/ubuntu eoan stable

eoanbionicに変更します

Sudo apt updateを実行してから、インストールを再試行してくださいdocker-ce

0
luds

Ubuntu 19.10では、containerdruncを依存関係として持つパッケージdocker.ioをインストールすることで、Dockerをインストールできます。または、ここで説明されているように、docker-cedocker-ce-cliをdockerリポジトリから直接インストールすることもできます https://docs.docker.com/install/linux/docker-ce/ubuntu/ =。この代替アプローチでは、containerdおよびruncの依存関係は、単一の依存関係containerd.ioに置き換えられます。問題は、奇妙な理由で、containerd.ioがdockerリポジトリにないことです。したがって、 https://askubuntu.com/a/1190896/456438 で提案されているように、手動でインストールする必要があります。

containerd.ioは、(パッケージ自体の中で)containerdおよびruncの有効な置き換えであると言われていることに注意してください。逆は確認されていませんが、パッケージdocker-ceを変更してcontainerd.ioの依存関係をcontainerdに置き換えると、機能します。私は https://fabianlee.org/2018/09の指示に従いました/ 28/ubuntu-customizing-and-repacking-a-deb-file / パッケージの依存関係を変更するには(Sudoなし):

cd $(mktemp -d -t docker-XXX)
apt download docker-ce 
ar xf docker-ce_*.deb
mkdir DEBIAN
tar xf control.tar.xz -C DEBIAN

最初のコマンドは一時ディレクトリのみを作成し、そこにcdします。残りはDEBIANサブディレクトリのパッケージから5つのファイルを抽出します。ファイルDEBIAN/controlを編集してcontainerd.iocontainerdに変更し、ファイルを保存しました。私はパッケージを再構築するための指示を続けました:

tar -C DEBIAN -cJf control.tar.xz .
ar rcs docker-ce.deb debian-binary control.tar.xz data.tar.xz

これにより、一時ディレクトリに新しいdebファイルdocker-ce.debが作成されます。私はここの指示に従いました https://docs.docker.com/install/linux/docker-ce/ubuntu/Sudo apt install ...コマンドでcontainerd.iocontainerdに置き換えて、 docker-ce./docker-ce.deb動いた ! docker run hello-worldでテスト済み。

0
Dominic108