web-dev-qa-db-ja.com

DebianでAUFSを有効にする方法は?

私が経由でドッカーをインストールしようとすると:

curl -sSL https://get.docker.com/ | sh

メッセージが表示されます:

警告:現在のカーネルはlinux-image-extra-virtualパッケージではサポートされていません。 AUFSのサポートはありません。 AUFSサポートのために、パッケージlinux-image-virtual kernelおよびlinux-image-extra-virtualのインストールを検討してください。

ただし、どちらのパッケージもDebian Jessieに存在しないようです。

# apt-get install linux-image-virtual linux-image-extra-virtual
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-virtual
E: Unable to locate package linux-image-extra-virtual

ここで何が欠けていますか?

9
Der Hochstapler

aufsは最新のカーネルではサポートされていないため、aufsからoverlayfsにスキップする必要があります。オプションでdockerデーモンを再起動するだけです:

--storage-driver=overlay2

(またはこのオプションを/ etc/default/dockerに追加します)

一部のシステムでは、次の内容で/etc/systemd/system/docker.serviceを作成して手順を開始するために、ファイル/ etc/default/dockerの処理を追加する必要があります。

[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS \
      $DOCKER_STORAGE_OPTIONS \
      $DOCKER_NETWORK_OPTIONS \
      $BLOCK_REGISTRY \
      $INSECURE_REGISTRY \
      $DOCKER_OPTS

詳細 ここ

Execute

systemctl daemon-reload

変更を有効にします。

注意!すべての画像にアクセスできなくなります。保存したい場合は、保存してリロードしてください。あなたは良い説明を見つけることができます ここ

UPD。 overlayoverlay2に変更しました。これは、説明よりも少し多くの問題を解決するためです here

[〜#〜] udp [〜#〜]。最新バージョンのdocker(18-06)ではデフォルトでoverlay2が使用されているため、関係ありません。

14
AstraSerg

実際にストックjessieをインストールすると、aufsサポートが付属するカーネルが提供されます。私の推測では、標準のjessieセットアップではないjessie-backportsを介してより高いカーネルバージョンにアップグレードしたと思います。

これは、現在のDebian jessie 8.7.1AMD64とカーネル3.16.0.4でテストされました。

# cat /etc/debian_version
8.7
# dpkg --get-selections | grep linux-image
linux-image-3.16.0-4-AMD64          install
linux-image-AMD64                   install

# dpkg -L linux-image-3.16.0-4-AMD64 | grep aufs
/lib/modules/3.16.0-4-AMD64/kernel/fs/aufs
/lib/modules/3.16.0-4-AMD64/kernel/fs/aufs/aufs.ko

だからあなたの質問に答えるために:

Debian Jessieを再インストールするか、デフォルトのカーネルにダウングレードすると、aufsをサポートするjessieができます。

Debianストレッチ(別名Debianストレッチ)にaufsをインストールするには、apt-get install aufs-dkmsを発行する必要があります。残念ながら、現時点ではjessie-backportsでは利用できません。

私たちの会社では、jessie aufsセットアップを使用してDockerホストを駆動しており、すべてが問題なく実行されています。

更新08-2018

今でもoverlay2をプロダクションに推奨することはできません。現在、overlay2ストレージを備えたコンテナーで実行しているときに、mysqlが/var/run/mysqld.sockを作成できないコンテナーに関する問題があります。

これは、これで対処されます 1年前の問題 2018年8月現在。

4
itsafire