Docker는 애플리케이션 구축, 배포 및 관리 속도를 높이는 인기 있는 애플리케이션 컨테이너화 플랫폼입니다. 그러나 Docker를 사용하여 애플리케이션을 실행할 때 예상치 못한 문제가 발생할 수 있으며, 문제의 근본 원인을 이해하려면 Docker 시작 로그를 살펴봐야 합니다. 그렇다면 Docker 시작 로그를 보는 방법은 무엇입니까?
Docker는 컨테이너 내의 표준 출력 및 표준 오류 출력을 보는 데 사용할 수 있는 내장 명령 docker 로그를 제공합니다. 이 명령을 사용하려면 먼저 docker ps 명령을 통해 볼 수 있는 실행 중인 컨테이너의 ID 또는 이름을 볼 수 있습니다.
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8623f22d0b74 nginx "nginx -g 'daemon of…" 10 days ago Up 2 hours 80/tcp web
위 출력에서 컨테이너 ID는 8623f22d0b74이고 컨테이너 이름은 web입니다. docker 로그 명령을 사용하여 컨테이너 내의 로그 출력을 볼 수 있습니다.
$ docker logs 8623f22d0b74 172.17.0.1 - - [02/May/2020:19:41:04 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-" 172.17.0.1 - - [02/May/2020:19:41:06 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-"
위 출력에서 NGINX 서버의 액세스 로그를 볼 수 있습니다. 이 명령은 단순히 컨테이너의 시작 문제를 찾는 데 도움이 될 수 있습니다.
docker 로그 명령을 사용하는 것 외에도 docker events 명령을 사용하여 Docker 시작 이벤트를 볼 수도 있습니다. 이 명령은 Docker에서 발생하는 모든 이벤트를 관찰하고 해당 정보를 출력할 수 있습니다. 예를 들어 다음 명령을 사용하여 Docker 실행의 모든 이벤트를 볼 수 있습니다.
$ docker events ... 2020-05-02T19:44:07.842095081+00:00 container destroy 8623f22d0b746eee40b1568a78ffdf2f1555a9c5b557d8c5a5a5eaa32c7f1ede (image=nginx, name=web) 2020-05-02T19:44:08.273816081+00:00 network disconnect 6cbedee6e77d 03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7 (endpoint=03ac9adf39af42c8d651f0ed60073c92837e866aebb0c75bfcb3f3c9a701bcb7, name=bridge, type=bridge) 2020-05-02T19:44:09.260029423+00:00 network destroy 6cbedee6e77d (name=bridge)
위 출력에서 컨테이너의 파괴 이벤트, 네트워크의 연결 끊김 이벤트 및 네트워크의 파괴 이벤트를 볼 수 있습니다. . 이 명령은 Docker 컨테이너의 다른 이벤트를 이해하는 데 도움이 될 수 있습니다.
Docker 컨테이너의 모든 로그는 컨테이너의 파일 시스템에 저장됩니다. 따라서 cat, tail 또는 grep과 같은 일반 파일 보기 도구를 사용하여 해당 파일을 볼 수 있습니다. 예를 들어 컨테이너의 시스템 로그를 보려면 다음 명령을 사용하면 됩니다.
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 /var/lib/docker/containers/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10/8623f22d0b74cea5f8d76432734ec06c19683d698583cc59dd8f4af4bb70ac10-json.log
이 명령은 컨테이너의 로그 파일 경로를 출력합니다. 계속해서 tail 명령을 사용하여 로그 파일의 마지막 몇 줄을 볼 수 있습니다.
$ docker inspect --format='{{.LogPath}}' 8623f22d0b74 | xargs tail -f ...
위 출력에서 컨테이너의 실시간 로그 출력을 볼 수 있습니다. Ctrl-C 단축키를 사용하여 로그 보기를 중지할 수 있습니다.
요약
Docker의 로그 관리는 복잡한 과정이지만 Docker에서 제공하는 내장 명령어를 사용하면 컨테이너 내부에서 발생하는 문제를 쉽게 확인할 수 있습니다. docker 로그 명령, docker events 명령을 사용하거나 컨테이너 로그 파일을 확인함으로써 Docker 컨테이너의 실행 상태를 최신 상태로 유지하여 Docker 애플리케이션 배포 및 관리를 위한 강력한 지원을 제공할 수 있습니다.
위 내용은 Docker 시작 로그를 보는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!