728x90
반응형
도커 디버깅
1) 컨테이너 디버깅
docker logs -f [container_id]
-f 옵션을 주면 컨테이너가 실행되고 있을때 로그를 확인할 수 있다.
➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
62de398ddb39 node-app:0.2 "docker-entrypoint.s…" 9 hours ago Up 9 hours 0.0.0.0:8080->80/tcp my-app-2
➜ ~ docker logs -f 62de398ddb39
Server running at http://0.0.0.0:80/
아까 만들어서 실행중인 도커 컨테이너의 로그를 확인해볼 수 있다.
2) docker exec
docker exec -it [container_id] bash
실행되고 있는 도커 컨테이너의 bash shell을 열고 싶을때
-it flag는 가상의 터미널을 할당하고 입력 스트림을 열어 컨테이너 내에서 상호작용할 수 있도록 도와주는 옵션이다.
dockerfile에서 working directory를 /app 로 할당해 줬기 때문에 bash는 app 폴더 안에서 돌아간다.
docker exec -it 62de398ddb39 bash
root@62de398ddb39:/app# ls
Dockerfile app.js
때문에 가상의 쉘로 접속하여 ls 명령어를 입력하면 dockerfile과 애플리케이션 코드인 app.js가 들어있는 것을 확인 할 수 있다.
쉘을 벗어 나기 위해서는
exit
커맨드로 나오면 된다.
3) docker inspect
docker inspect [container_id]
docker container의 메타데이터를 확인하기 위한 명령어이다.
docker inspect 62de398ddb39
[
{
"Id": "62de398ddb396ef04462a892ef8f06defc76d11d8db6b5199187f9a1c7e4596f",
"Created": "2023-04-16T02:04:34.445342042Z",
"Path": "docker-entrypoint.sh",
"Args": [
"node",
"app.js"
],
"State": {
"Status": "running",
실제 명령어를 실행해보면 아래와 같은 도커 컨테이너의 메타데이터를 확인할 수 있다.
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_id]
--format 옵션을 사용하면 json결과 중 특정한 필드만 뽑아서 확인할 수 있다.
➜ ~ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 62de398ddb39
172.17.0.3
위처럼 ip 주소만 확인도 가능하다.
728x90
반응형
'kubernetes' 카테고리의 다른 글
구글 스터디잼 쿠버네티스 입문반 스터디 - 03 (1) | 2023.04.16 |
---|---|
구글 스터디잼 쿠버네티스 입문반 스터디 - 02 (1) | 2023.04.16 |
구글 스터디잼 쿠버네티스 입문반 스터디 - 01 (0) | 2023.04.16 |