2015-09-29 9 views
7

Quando si tenta di eseguire un'immagine finestra mobile ottengo il seguente errore:finestra mobile non può iniziare container ... cpu.shares: No such file or directory

Error response from daemon: Cannot start container {id}: 
[8] System error: open /sys/fs/cgroup/cpu,cpuacct/init.scope/system.slice/docker-{id}.scope/cpu.shares: no such file or directory 

/sys/fs/cgroup/cpu,cpuacct/ è montato, ma non esiste una directory system.slice in init.scope

versione finestra mobile:

Client version: 1.7.1 
Client API version: 1.19 
Go version (client): go1.4.2 
Git commit (client): 786b29d 
OS/Arch (client): linux/amd64 
Server version: 1.7.1 
Server API version: 1.19 
Go version (server): go1.4.2 
Git commit (server): 786b29d 
OS/Arch (server): linux/amd64 

kernel:

Linux christian-pc 4.1.0-2-amd64 #1 SMP Debian 4.1.6-1 (2015-08-23) x86_64 GNU/Linux 

supporti (estratto):

tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) 
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) 
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) 
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) 
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) 
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) 
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) 
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) 
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) 
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) 
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) 
debugfs on /sys/kernel/debug type debugfs (rw,relatime) 
mqueue on /dev/mqueue type mqueue (rw,relatime) 
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) 
/dev/sda1 on /boot type ext2 (rw,relatime) 
/dev/mapper/christian--pc--vg-home on /home type ext4 (rw,relatime,data=ordered) 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime) 
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=814904k,mode=700,uid=1000,gid=1000) 
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) 
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000) 

Qualsiasi aiuto è molto apprezzato.

+0

hai provato con 'sudo docker run ...'? – BMW

+0

problema correlato su github: https://github.com/docker/docker/issues/16256 – milkovsky

risposta

6

Ho avuto lo stesso problema e ho trovato la tua domanda e anche https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798778, "systemd 226's init.scope rompe docker.io 1.7.1 ~ dfsg1-1."

In cui Dmitry Smirnov dice che si può aggiungere --exec-opt native.cgroupdriver=cgroupfs-DOCKER_OPTS in /etc/default/docker.

Ha funzionato per me.

+0

In effetti, è systemd 226 breaking cfgroups, utilizzando il driver cgroupfs con docker lo risolve. Dopo aver modificato i valori è necessario riavviare il daemon docker affinché funzioni. – ghostbar

+0

Ho dovuto aggiungerlo al richiamo della finestra mobile in '/ etc/systemd/system/multi-user.target.wants/docker.service', ma altrimenti funzionava. – mjibson

5

Cambiare DOCKER_OPTS per utilizzare cgroupfs as in Jared Jennings answer, potrebbe non essere sufficiente, in quanto vi è un altro problema da verificare.

In un commento a docker issue 9889 "zepalmer" ha rilevato che l'entrata finestra mobile systemd potrebbe essere configurato in /lib/systemd/system/docker.service di non utilizzare la DOCKER_OPTS in /etc/default/docker. La conseguenza è che la modifica di /etc/default/docker sarà inefficace su come il demone inizia.

ho trovato questo problema è stato vero in Ubuntu 16.04.2 LTS:

Guardando in /lib/systemd/system/docker.service

[Unit] 
Description=Docker Application Container Engine 
Documentation=https://docs.docker.com 
After=network.target docker.socket 
Requires=docker.socket 

[Service] 
ExecStart=/usr/bin/docker -d -H fd:// 
MountFlags=slave 
LimitNOFILE=1048576 
LimitNPROC=1048576 
LimitCORE=infinity 

[Install] 
WantedBy=multi-user.target 

questo è lo stesso contenuto riportati da zepalmer.

Dopo modificare la linea "ExecStart" nella sezione di servizio con il seguente:

EnvironmentFile=/etc/default/docker 
ExecStart=/usr/bin/docker -d $DOCKER_OPTS -H fd:// 

compreso --exec-opt native.cgroupdriver=cgroupfs in DOCKER_OPTS in /etc/default/docker, finestra mobile sembra funzionare normalmente.