2016-08-25 3 views
1

docker 1.11.2와 함께 Ubuntu 16.04를 사용하고 있습니다. 도커 데몬을 자동으로 다시 시작하도록 systemd를 구성했습니다. docker 데몬을 종료하면 docker 데몬이 다시 시작되지만 컨테이너에는 RestartPolicy가 always로 설정되어 있지 않습니다. 로그에서 나는 그것이 존재하기 때문에 디렉토리를 만들지 못했다는 것을 읽을 수 있습니다. 나는 개인적으로 그것이 컨테이너를 멈추는 것과 관련이 있다고 생각한다.docker deamon이 다시 시작된 후 docker 컨테이너가 시작되지 않습니다.

도움을 주시면 감사하겠습니다. 보인다

Aug 25 19:20:19 api-31 systemd[1]: docker.service: Main process exited, code=killed, status=9/KILL 
Aug 25 19:20:19 api-31 docker[17617]: time="2016-08-25T19:20:19Z" level=info msg="stopping containerd after receiving terminated" 
Aug 25 19:21:49 api-31 systemd[1]: docker.service: State 'stop-sigterm' timed out. Killing. 
Aug 25 19:21:49 api-31 systemd[1]: docker.service: Unit entered failed state. 
Aug 25 19:21:49 api-31 systemd[1]: docker.service: Failed with result 'timeout'. 
Aug 25 19:21:49 api-31 systemd[1]: docker.service: Service hold-off time over, scheduling restart. 
Aug 25 19:21:49 api-31 systemd[1]: Stopped Docker Application Container Engine. 
Aug 25 19:21:49 api-31 systemd[1]: Closed Docker Socket for the API. 
Aug 25 19:21:49 api-31 systemd[1]: Stopping Docker Socket for the API. 
Aug 25 19:21:49 api-31 systemd[1]: Starting Docker Socket for the API. 
Aug 25 19:21:49 api-31 systemd[1]: Listening on Docker Socket for the API. 
Aug 25 19:21:49 api-31 systemd[1]: Starting Docker Application Container Engine... 
Aug 25 19:21:49 api-31 docker[19023]: time="2016-08-25T19:21:49.913162167Z" level=info msg="New containerd process, pid: 19029\n" 
Aug 25 19:21:50 api-31 kernel: [87066.742831] audit: type=1400 audit(1472152910.946:23): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="docker-default" pid=19043 comm="apparmor_parser" 
Aug 25 19:21:50 api-31 docker[19023]: time="2016-08-25T19:21:50.952073973Z" level=info msg="[graphdriver] using prior storage driver \"overlay\"" 
Aug 25 19:21:50 api-31 docker[19023]: time="2016-08-25T19:21:50.956693893Z" level=info msg="Graph migration to content-addressability took 0.00 seconds" 
Aug 25 19:21:50 api-31 docker[19023]: time="2016-08-25T19:21:50.961641996Z" level=info msg="Firewalld running: false" 
Aug 25 19:21:51 api-31 docker[19023]: time="2016-08-25T19:21:51.016582850Z" level=info msg="Removing stale sandbox 66ef9e1af997a1090fac0c89bf96c2631bea32fbe3c238c4349472987957c596 (547bceaad5d121444ddc6effbac3f472d0c232d693d8cc076027e238cf253613)" 
Aug 25 19:21:51 api-31 docker[19023]: time="2016-08-25T19:21:51.046227326Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address" 
Aug 25 19:21:51 api-31 docker[19023]: time="2016-08-25T19:21:51.081106790Z" level=warning msg="Your kernel does not support swap memory limit." 
Aug 25 19:21:51 api-31 docker[19023]: time="2016-08-25T19:21:51.081650610Z" level=info msg="Loading containers: start." 
Aug 25 19:22:01 api-31 kernel: [87076.922492] docker0: port 1(vethbbc1192) entered disabled state 
Aug 25 19:22:01 api-31 kernel: [87076.927128] device vethbbc1192 left promiscuous mode 
Aug 25 19:22:01 api-31 kernel: [87076.927131] docker0: port 1(vethbbc1192) entered disabled state 
Aug 25 19:22:03 api-31 docker[19023]: .time="2016-08-25T19:22:03.085800458Z" level=warning msg="error locating sandbox id 66ef9e1af997a1090fac0c89bf96c2631bea32fbe3c238c4349472987957c596: sandbox 66ef9e1af997a1090fac0c89bf96c2631bea32fbe3c238c4349472987957c596 not found" 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.085907328Z" level=warning msg="failed to cleanup ipc mounts:\nfailed to umount /var/lib/docker/containers/547bceaad5d121444ddc6effbac3f472d0c232d693d8cc076027e238cf253613/shm: invalid argument" 
Aug 25 19:22:03 api-31 kernel: [87078.882836] device veth5c6999c entered promiscuous mode 
Aug 25 19:22:03 api-31 kernel: [87078.882984] IPv6: ADDRCONF(NETDEV_UP): veth5c6999c: link is not ready 
Aug 25 19:22:03 api-31 systemd-udevd[19128]: Could not generate persistent MAC address for veth5c6999c: No such file or directory 
Aug 25 19:22:03 api-31 systemd-udevd[19127]: Could not generate persistent MAC address for veth39fb4d3: No such file or directory 
Aug 25 19:22:03 api-31 kernel: [87078.944218] docker0: port 1(veth5c6999c) entered disabled state 
Aug 25 19:22:03 api-31 kernel: [87078.948636] device veth5c6999c left promiscuous mode 
Aug 25 19:22:03 api-31 kernel: [87078.948640] docker0: port 1(veth5c6999c) entered disabled state 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.219677059Z" level=error msg="Failed to start container 547bceaad5d121444ddc6effbac3f472d0c232d693d8cc076027e238cf253613: rpc error: code = 6 desc = \"mkdir /run/containerd/547bceaad5d121444ddc6effbac3f472d0c232d693d8cc076027e238cf253613: file exists\"" 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.219750430Z" level=info msg="Loading containers: done." 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.219776593Z" level=info msg="Daemon has completed initialization" 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.219847738Z" level=info msg="Docker daemon" commit=b9f10c9 graphdriver=overlay version=1.11.2 
Aug 25 19:22:03 api-31 systemd[1]: Started Docker Application Container Engine. 
Aug 25 19:22:03 api-31 docker[19023]: time="2016-08-25T19:22:03.226116336Z" level=info msg="API listen on /var/run/docker.sock" 

답변

0

issue 25487 (2016년 8월) 다음에 할, 심지어 issue 22195에서 (4 월 (2016)) 이전에보고되었다. 당신이 Tõnis Tiigi에 의해 issue 21702에서 언급 한 상황에있는 경우

점검 :

이것은 우리가 docker/contrib/apparmor에있는 고정 표시기 디먼에 대한 AppArmor의 프로파일에 의해 야기 될 것으로 보인다.
이 프로필을 v1.11 (우분투는 지겹다)에 적용하면 컨테이너 시작이 작동하지 않습니다.

사용자가 방금이 프로필을 수동으로 적용했는지 또는 분명히이 프로필을 실수로 1.10.0-rc1 (#19707)에 설치했는지 확실하지 않습니다.

해결 방법은이 문제를 해결할 때까지 apparmor_parser -R /etc/apparmor.d/docker-engine과 같은 프로필을 언로드하고 삭제 한 다음 데몬을 다시 시작하는 것입니다.
/etc/apparmor.d/docker은 컨테이너의 프로필이므로 변경할 필요가 없습니다.

1

@VonC - 올바른 방향으로 안내해 주셔서 감사합니다. 나는 실을 연구했지만, 내 경우에는 apparmor가 문제가되지 않습니다. 스레드에 언급 된 몇 가지 다른 문제가 있으므로이를 따라하고 해결책을 찾았습니다.

해결 방법 : 우분투 16.04에서는 systemd가 프로세스 docker 데몬 프로세스로 containerd를 종료합니다. 그것을 방지하기 위해, 당신은 /lib/systemd/system/docker.service하는

KillMode = 공정

를 추가해야하고이 문제를 해결합니다.

여기 내가 사용하는 소스입니다 :

https://github.com/docker/docker/issues/25246

https://github.com/docker/docker/blob/master/contrib/init/systemd/docker.service#L25

+0

잘 발견하고, 내 대답보다 더 정확한. +1 – VonC

관련 문제