1

何らかの理由で、EC2 インスタンスでのみ Lxc-attach を使用して docker コンテナーに入ることができません。これは、ローカル マシンと Digital Ocean (KVM) ドロップレットでは機能しますが、Amazon EC2 xen-paravirtualized Ubuntu12.04 インスタンスでは機能しません。手順/エラーは次のとおりです。

root@ip-172-31-46-202:~/scalar/project/docker# lxc-ls
4074ebf985cfe09b2880a9eabbc7ad3e59283f425f64cfaa72f59f1f23661d18

root@ip-172-31-46-202:~/scalar/project/docker# lxc-attach -n 4074ebf985cfe09b2880a9eabbc7ad3e59283f425f64cfaa72f59f1f23661d18
lxc-attach: No such file or directory - failed to open '/proc/19731/ns/pid'
lxc-attach: failed to enter the namespace

この問題を解決する方法があるかどうかは誰にもわかりませんか? これが私のdockerバージョンの詳細です:

Client version: 0.7.6
Go version (client): go1.2
Git commit (client): bc3b2ec
Server version: 0.7.6
Git commit (server): bc3b2ec
Go version (server): go1.2
Last stable version: 0.7.6

また:

lxc version: 0.7.5
4

2 に答える 2

3

Creac が示唆したように、カーネルは十分に高いバージョンではありませんでした。(そして、AWS ubuntu イメージを再デプロイしようとすると、カーネル 3.2 が引き続き使用されます)

この問題を修正するために、次のコマンドを実行して 3.8 を取得しました。

sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

または、次のコマンドを実行して 3.5 を取得できます

sudo apt-get install linux-image-generic-lts-quantal linux-headers-generic-lts-quantal

これらのコマンドは(質問によると)Ubuntu固有のものであり、「仮想」カーネルではなく「汎用」カーネルをインストールしますが、機能するはずであることに注意してください。[ソース]

この追加情報を使用して Creac の元の回答を更新しようとしたが、編集が拒否されたため、他のユーザーが必要に応じて使用できるように新しい回答を作成する必要があると感じたことに注意してください。

コマンドを見つけたソース

于 2014-02-06T12:26:45.853 に答える
3

カーネルのバージョンは?

lxc-attachネイティブ 12.04 カーネル (3.5) にはない機能が必要です。バックポートで利用可能なIIRCが少なくとも3.8必要です。

于 2014-02-04T20:12:18.867 に答える