2016-04-14 21 views
6

のマウントに失敗しました私のCentOS 7.2ドッカー(SYSTEMCTLとCentOSの7):(。私はドッカー初心者だ後、私はCentOSの-7のためのいくつかのチュートリアルに従っ)tmpfsの&のcgroup

、私はドッカーを学ぶことを試みました次の手順に従ってください。

# docker version 

Client: 
Version:  1.10.3 
API version: 1.22 
Go version: go1.5.3 
Git commit: 20f81dd 
Built:  Thu Mar 10 15:39:25 2016 
OS/Arch:  linux/amd64 

Server: 
Version:  1.10.3 
API version: 1.22 
Go version: go1.5.3 
Git commit: 20f81dd 
Built:  Thu Mar 10 15:39:25 2016 
OS/Arch:  linux/amd64 

# docker pull centos:latest 
# docker images 
centos  latest 778a53015523 12 days ago 196.7 MB 

# mkdir ~/docker/centos7-systemd 
# cd ~/docker/centos7-systemd 
# vi Dockerfile 
FROM centos 
MAINTAINER "XXXX XXXX" <[email protected]> 
ENV container docker 
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 
rm -f /lib/systemd/system/multi-user.target.wants/*;\ 
rm -f /etc/systemd/system/*.wants/*;\ 
rm -f /lib/systemd/system/local-fs.target.wants/*; \ 
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 
rm -f /lib/systemd/system/basic.target.wants/*;\ 
rm -f /lib/systemd/system/anaconda.target.wants/*; 
VOLUME [ "/sys/fs/cgroup" ] 
CMD ["/usr/sbin/init"] 

# docker build --rm -t local/centos7-systemd . 
.. 
Successfully built 1a9f1c4938b3 

# docker images 
centos     latest 778a53015523 12 days ago 196.7 MB 
local/centos7-systemd latest 1a9f1c4938b3 8 seconds ago 196.7 MB 

これまでのところ、すべて(ok)そうです。
私は実行すると、問題が来る:

# docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd 
Failed to mount tmpfs at /run: Operation not permitted 
Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted 
[!!!!!!] Failed to mount API filesystems, freezing. 

これも何を意味し、そしてもっと重要なのは、何が起こっているのか、どのように私はこの問題を解決することができ、してください

はあなたの特権モードであなたのコンテナを実行するために、すべての:)

答えて

10

試してありがとう:

docker run -ti --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd 

これはあなたの問題

+0

これは実際に動作します!どうもありがとうございます!! (そして、私が走ったとき、なぜそれがバックグラウンドで動かないのか、あなたは何か考えているのですが、代わりにそれが私のターミナルを握っています。)申し訳ありません、私はこれを説明する方法を知らない。再度ありがとう:D –

+2

ああ私はすでに知っていた。 '-d'オプションを使う必要があります!ありがとう! –

+0

ようこそ。 – arcticless

3

を解決する必要があります私は

docker run -ti --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/centos7-systemd 

と出てくるが続きます

Failed to insert module 'autofs4' 
Failed to mount cgroup at /sys/fs/cgroup/systemd: No such file or directory 
systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN) 
Detected virtualization docker. 
Detected architecture x86-64. 

Welcome to CentOS Linux 7 (Core)! 

Set hostname to <c7b8edb49c60>. 
Initializing machine ID from random generator. 
Cannot determine cgroup we are running in: No such file or directory 
Failed to allocate manager object: No such file or directory 
[!!!!!!] Failed to allocate manager object, freezing. 

MacOSでは動作しないのだろうか?

2

私は

$ docker logs bareos 
systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN) 
Detected virtualization docker. 
Detected architecture x86-64. 

Welcome to CentOS Linux 7 (Core)! 

Set hostname to <bareos>. 
Failed to install release agent, ignoring: No such file or directory 
Failed to create root cgroup hierarchy: No such file or directory 
Failed to allocate manager object: No such file or directory 
[!!!!!!] Failed to allocate manager object, freezing. 

に... systemdを持っていないboot2docker最新のWindows用ドッカー(1.12.3)と同じ問題を抱えて。 Dockerコンテナにホストがない場合、systemdをDockerコンテナに入れることはできません。そのための重要なフォルダは/sys/fs/cgroup/systemdです。

最後に、Altine Linuxに基づいてdefault vmを作成し、defaultdocker-machinegenericドライバをインストールしました。 MacOS Xのは、多くのコンテナインスタンスを実行した後の容器

$docker run -it -p 80:80 ${ImageID} 

でのcgroupのボリュームをマウントする必要はありません

0

、私のMacは、現在のbashモードが正常に動作している

[!!!!!!] Failed to mount API filesystems, freezing.

reference に立ち往生私のために

$docker run -it -p 80:80 ${ImageID} /bin/bash

関連する問題