2016-04-14 11 views
6

Docker (CentOS 7 mit SYSTEMCTL): Fehler tmpfs Montage & CGroup

In meinem CentOS 7.2, (. Ich bin ein Anfänger Docker Dann habe ich einige Tutorials für CentOS-7 gefolgt) Ich habe versucht, Docker zu lernen Befolgen Sie die folgenden Schritte.

# 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 

So bis zu diesem Punkt, alles (scheint) in Ordnung.
Jetzt kommt das Problem, wenn ich laufen:

# 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. 

Was bedeutet dies auch bedeuten, und was noch wichtiger ist, , was passiert und wie kann ich das lösen, bitte?

Vielen Dank :)

Antwort

10

versuchen Ihren Container im privilegierten Modus ausgeführt wird:

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

dies Ihr Problem

+0

Das funktioniert eigentlich! Ich danke dir sehr!! (Und hast du eine Ahnung, wenn ich renne, warum läuft es nicht im Hintergrund? Stattdessen hält es an meinem Terminal.) Tut mir leid, ich weiß nicht, wie ich das erklären soll. Nochmals vielen Dank: D –

+2

Oh ich habe es schon herausgefunden. Ich muss die Option "-d" verwenden! Vielen Dank! –

+0

Gern geschehen. – arcticless

3

i

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

und kommen gefolgt lösen sollte mit

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. 

Ich frage mich, ob es auf MacOS nicht funktioniert?

2

habe ich das gleiche Problem mit Docker für Windows (1.12.3) ...

$ 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. 

Die neueste boot2docker nicht systemd hat. Wir können systemd nicht in einem Docker-Container haben, wenn der Host ihn nicht hat. Da ist der wichtige Ordner dafür /sys/fs/cgroup/systemd.

So schließlich erstelle ich eine default vm in VitualBox basierend auf Alpine Linux und defaultdocker-machine mit dem generic Fahrer.

0

MacOS X nicht erforderlich cgroups Volumen in Behälter

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

Nach dem Ausführen viele Container-Instanzen, My Mac stecken in

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

reference Derzeit bash-Modus funktioniert gut zu montieren für mich

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