2017-02-02 3 views
0

OpenSUSE 13.2에서 도커를 업데이트했습니다. 몇 가지 테스트를 한 후에/etc/sysconfig/docker의 -H 플래그가 dockerd를 시작하지 못하게한다는 것을 알았지 만 2375 또는 2376 포트를 활성화해야합니다 (몇 달 동안 정상적으로 작동 했으므로). 그것, TSL 또는하지 TSL, 모든 또는 포트, 도커가 시작되지 않습니다. 나는, 로컬 호스트, 0.0.0.0에 결합하는 시도 ...OpenSUSE에서 1.12.6-176.1로 업데이트 한 후 도커 서비스를 시작할 수 없습니다.

-- Logs begin at Tue 2016-10-25 12:48:00 CEST, end at Thu 2017-02-02 23:02:35 CET. -- 
Feb 02 23:01:35 ezequiel dockerd[22661]: time="2017-02-02T23:01:35.134216922+01:00" 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" 
Feb 02 23:01:35 ezequiel dockerd[22661]: time="2017-02-02T23:01:35.247510727+01:00" level=info msg="Loading containers: done." 
Feb 02 23:01:35 ezequiel dockerd[22661]: time="2017-02-02T23:01:35.247659069+01:00" level=info msg="Daemon has completed initialization" 
Feb 02 23:01:35 ezequiel dockerd[22661]: time="2017-02-02T23:01:35.247709386+01:00" level=info msg="Docker daemon" commit=78d1802 graphdriver=btrfs version=1.12.6 
Feb 02 23:01:35 ezequiel dockerd[22661]: time="2017-02-02T23:01:35.267370317+01:00" level=info msg="API listen on 192.168.100.1:2375" 
Feb 02 23:02:35 ezequiel docker_service_helper.sh[22662]: Docker is dead 
Feb 02 23:02:35 ezequiel systemd[1]: docker.service: control process exited, code=exited status=1 
Feb 02 23:02:35 ezequiel dockerd[22661]: time="2017-02-02T23:02:35.810756005+01:00" level=info msg="Processing signal 'terminated'" 
Feb 02 23:02:35 ezequiel systemd[1]: Failed to start Docker Application Container Engine. 
-- Subject: Unit docker.service has failed 
-- Defined-By: systemd 
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
-- 
-- Unit docker.service has failed. 
-- 
-- The result is failed. 
Feb 02 23:02:35 ezequiel systemd[1]: Unit docker.service entered failed state. 

나는 그것을 제거하는 경우는, 고정 표시기가 시작하지만 호스트 외부로부터 액세스 할 수 없습니다 (I는 2376 포트를 통해 TSL을 사용하는 데 사용)

내가 직접 dockerd 시도하며 TCP 포트에 바인딩 :

# /usr/bin/dockerd --containerd /run/containerd/containerd.sock --add-runtime oci=/usr/bin/docker-runc --label provider=generic -g /optLVM/varLibDocker -H tcp://127.0.0.1:2375 
WARN[0000] [!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!] 
INFO[0000] [graphdriver] using prior storage driver "btrfs" 
INFO[0000] Graph migration to content-addressability took 0.00 seconds 
WARN[0000] Your kernel does not support swap memory limit. 
WARN[0000] Your kernel does not support kernel memory limit. 
WARN[0000] mountpoint for pids not found     
INFO[0000] Loading containers: start.     
.................INFO[0000] Firewalld running: false      
INFO[0000] 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 

INFO[0000] Loading containers: done.      
INFO[0000] Daemon has completed initialization   
INFO[0000] Docker daemon         commit=78d1802 graphdriver=btrfs version=1.12.6 
INFO[0000] API listen on 127.0.0.1:2375  

그래서 그것은 구성의 변경이 무언가를 보인다.

내 이전 버전이었다 : 고정 표시기 - 1.12.1-152.3.x86_64

그리고 새로운 : 고정 표시기 - 1.12.6-176.1.x86_64 어떤 도움

감사합니다 ... 내가 할 원격으로 도커에 액세스하려면 TCP가 있거나 없거나 TSL이 필요합니다.

답변

1

업데이트 후 동일한 문제가 발생했습니다. 1.12.1에서 1.12.6까지 "fd : //"로 변경되었습니다. 나를 위해 그것은 더 이상 일하지 않았다. tls와 함께 tcp를 사용하고 있습니다. 내 config 파일에서

(/etc/docker/daemon.json)

{ 
    "tls"  : true, 
    "tlsverify": true, 
    "tlscacert": "/etc/docker/ca.pem", 
    "tlscert" : "/etc/docker/server/server-cert.pem", 
    "tlskey" : "/etc/docker/server/server-key.pem", 
    "hosts" : ["unix:///var/run/docker.sock", "tcp://10.10.1.1:2376"] 
} 

나는 "호스트"를 추가하고 UNIX : ///var/run/docker.sock

I을 로컬 통신은 유닉스 소켓을 통해 처리되고 원격 연결은 tcp를 통해 처리된다고 생각하십시오.

You can find the Infos here ...