web-dev-qa-db-ja.com

RHEL 6CgroupマウントでのDockerの失敗

Centos + Vagrantで動作しているものの、プロバイダーRHEL(Red Hat Enterprise Linux Serverリリース6.5(Santiago))では動作していないことに頭を悩ませようとしています。 A SudoサービスDockerの再起動これを渡します:

Stopping docker:                                             [  OK  ]
Starting cgconfig service: Error: cannot mount cpuset to /cgroup/cpuset: Device or resource busy
/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Failed to parse /etc/cgconfig.conf                           [FAILED]

Starting docker:                                              [  OK  ]

サービスは十分に正常に開始されますが、イメージを実行できません。試してみると、マウント失敗エラーが表示されます。また、スタートアップログにも警告が1つか2つ表示されます。 kernelwarningに関しては、centosは同じことを提供し、Epelがこれを解決する必要があるので問題はありません。

WARNING: You are running linux kernel version 2.6.32-431.17.1.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
2014/08/07 08:58:29 docker daemon: 1.1.2 d84a070; execdriver: native; graphdriver:
[1233d0af] +job serveapi(unix:///var/run/docker.sock)
[1233d0af] +job initserver()
[1233d0af.initserver()] Creating server
2014/08/07 08:58:29 Listening for HTTP on unix (/var/run/docker.sock)
[1233d0af] +job init_networkdriver()
[1233d0af] -job init_networkdriver() = OK (0)
2014/08/07 08:58:29 WARNING: mountpoint not found

誰かがこの問題を克服することに成功しましたか、それとも私はタオルを投げてプロバイダーがRHEL 7にアップデートするのを待つべきですか?

13
judoole

同じ問題があります。

enter image description here

(1)cgconfigステータスを確認します

#/ etc/init.d/cgconfig status

停止した場合は再起動してください

#/ etc/init.d/cgconfig restart

cgconfigが実行されていることを確認してください

enter image description here

(2)cgconfigがオンになっていることを確認します

#chkconfig --list cgconfig

cgconfig 0:off 1:off 2:off 3:off 4:off 5:off 6:off

cgconfigがオフの場合は、オンにします

enter image description here

(3)それでも機能しない場合は、一部のcgroupsモジュールが欠落している可能性があります。カーネルの.configファイルで、menuconfigを作成し、それらのモジュールをカーネルに追加して、再コンパイルして再起動します

その後、それは大丈夫なはずです

enter image description here

6
tonysok

私の場合

/etc/rc.d/rc.cgconfig start

生成していた

Cgconfigサービスを開始しています:エラー:cpu、cpuacct、memoryを/ cgroup/cpu_and_memにマウントできません:デバイスまたはリソースがビジーです/ usr/sbin/cgconfigparser; /etc/cgconfig.confのロードエラー:Cgroupのマウントに失敗しました/etc/cgconfig.confの解析に失敗しました

私は使用しなければなりませんでした:

/etc/rc.d/rc.cgconfig restart

そしてそれは自動的にグループをumoutしてマウントしました

Cgconfigサービスの停止:cgconfigサービスの開始:

1
Abc Xyz

私は最終的にGoogleグループで同じ質問をし、最終的に 助けを借りた解決策 を見つけました。私のために働いたのはこれでした:

umount cgroup
Sudo service cgconfig start

Dockerを機能させるプロジェクトは、まったく同じように中止されました。後でコンテナのネットワーク接続の問題。これは解決するのに多くの時間がかかり、あきらめなければなりませんでした。

1
judoole

だから私は一日中、vpsで作業するためにdockerをリグしようとしていました。私はこれと同じエラーに遭遇していました。基本的に、OpenVZは数か月前までDockerコンテナをサポートしていなかったという事実に帰着しました。具体的には、このRHELアップデート:

https://openvz.org/Download/kernel/rhel6/042stab105.14

これがあなたの問題、またはそれのいくつかのバリエーションであると仮定すると、それを解決する負担はあなたのホストにあります。次の手順に従う必要があります。

https://openvz.org/Docker_inside_CT

1
huoy

cgconfigサービスが実行されていないようですので、確認してください。

# /etc/init.d/cgconfig status
# mkdir -p /cgroup/cpuacct /cgroup/memory /cgroup/devices /cgroup/freezer net_cls /cgroup/blkio
# cat /etc/cgconfig.conf |tail|grep "="|awk '{print "mount -t cgroup -o",$1,$1,$NF}'>cgroup_mount.sh
# sh ./cgroup_mount.sh
# /etc/init.d/cgconfig restart
# /etc/init.d/docker restart
1
sfcuboy

この状況は、カーネルがcgroup_disable = memoryで起動され、/ etc /cgconfig.confにmemory =/cgroup/memoryが含まれている場合に発生します。

これにより、フルセットではなく/ cgroup/cpusetのみがマウントされます。

解決策:カーネルブートオプションからcgroup_disable = memoryを削除するか、memory =/cgroup/memory;をコメントアウトします。 cgconfig.confから。

0

cgconfigサービスのスタートアップはmountumountを使用しますが、これにはdockerからの追加の特権バンプが必要です。

詳細については、--privileged=trueフラグ ここ を参照してください。

コンテナを次のコマンドで開始することで、この問題を克服できました。
docker run -it --privileged=true my-image

Centos6、Centos6.5でテスト済み。

0
jordanpg