dockerd의 디버그 로그에 대한 견해

4213 단어 Docker
Docker for Mac에 있는 dockerd의 로그에 대한 견해 노트Docker for Mac의 17.03.1-ce-mac12를 통해 확인합니다.공식 기재 방법이 아니어서 앞으로 못 쓸 수도 있다.나는 Docker 레지스트리와 문제가 생겼을 때 고장난 슛을 사용했다.

로그 수준 설정


Docker의 아이콘->Preference->Daemon->Advanced에서 JSON 형식으로 설정을 기술합니다.디버그 로그의 출력은 다음과 같습니다. debugtrue 로 설정하고 Restart만 진행합니다.
{
  "debug" : true
}
로그 레벨을 debug 이외의 값으로 설정하려면 log-level로 개별적으로 설정합니다.기타 상세한 설정은 공식 문서Daemon CLI reference (dockerd)를 참조하십시오.

로그 보기


로그를 보려면 Docker for Mac의 VM에 들어가야 합니다.sshd가 일어나지 않았기 때문에, 다음처럼 docker를 통해 호스트에 접근할 수 있는 특권과 nsenter를 사용하는 것은 간단합니다.
$ docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
호스트의 이름 스페이스 셸에 액세스할 수 있습니다.dockerd의 로그를 /var/log/docker.log 로 출력합니다.
$ tail -f /var/log/docker.log
...
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.597589319Z" level=debug msg="form data: {\"password\":\"*****\",\"serveraddress\":\"quay.io\",\"username\":\"tksm\"}"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.618582619Z" level=debug msg="hostDir: /etc/docker/certs.d/quay.io"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.621788419Z" level=debug msg="hostDir: /etc/docker/certs.d/quay.io"
May 30 12:03:13 moby root: time="2017-05-30T12:03:13.621826919Z" level=debug msg="attempting v2 login to registry endpoint https://quay.io/v2/"
May 30 12:03:15 moby root: time="2017-05-30T12:03:15.557921119Z" level=debug msg="Increasing token expiration to: 60 seconds"

보충:docker를 사용하지 않는 방법


dockerd 자체에 문제가 있으면 상술한 방법으로 접근할 수 없는 경우도 있습니다.화면으로 tty를 연결하는 방법도 VM의 케이스에 접근할 수 있습니다.화면의 기본값ctrl+a -> d에서 분할할 수 있습니다.
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

좋은 웹페이지 즐겨찾기