실행중인 docker container에 shell 접속하기
-i
: doccker 컨테이너의 STDIN
을 open한다.
-t
: doccker 컨테이너에 psuedo tty를 지정해준다.
- 위의 두 옵션을 사용하여 실행중인 doccker 컨테이너에 shell 접속을 할 수 있다.
docker run -i -t ubuntu /bin/bash
Docker ps
- 현재 실행중인 docker container들을 볼 수 있다. (마치
ps
커맨드 처럼)
-a
옵션을 설정하면 실행되었다 멈춘 컨테이너 들도 나열된다.
-l
옵션을 설정하면 가장 최근의 컨테이너 정보가 나열된다 (가장 최근에 시작되었거나 멈추어진 컨테이너).
-q
: returns container IDs only
Daemonized docker containers:
docker run --name daemonized_container -d <docker_image>
- Production 환경에서 실행될 docker container는 대부분 daemonized 된 상태로 실행될것이다.
Logging
docker logs daemonized_container
tail
커맨드 처럼 -f
옵션을 설정해서 tailing
이 가능하다.
docker logs -f demonized_container
--tail
옵션으로 log의 부분만 볼 수 있다.
docker logs --tail 10 daemonized_container
-t
: 각 로그에 timestamp가 추가된다. 디버깅에 용이하다.
docker logs -ft daemonized_container
-
--log-driver
- Docker 1.6 버젼 부터는
--log-driver
옵션을 설정하여 더 다양한 로그 설정을 할 수 있다.
- Default는
json-file
로서 docker logs
로 볼수 있는 기본적인 로그다.
syslog
로 설정하면 docker logs
커맨드는 disable되고 모든 로그는 Syslog로 redirect된다.
-
docker run --log-driver="syslog" --name daemonized_container -d <docker_image>
none
: 로깅을 disable 한다.
- 그 외에도 여러 로깅 옵션이 있다.
Docker Process Inspection
docker top daemonized_container
docker stats daemonized_container
Docker Container Inspection
docker inspect
command
-f
or --format
option to selectively query the inspect results
docker inspect --format='{{.NetworkSettings.IPAddress }}' daemonized_container
To run additional process inside a running container
docker exec -d daemonized_container touch /etc/new_config_file
To stop & kill docker container
docker stop
: sends a SIGTERM
signal.
docker kill
: sends a SIGKILL
signal.
To delete a container
docker rm
- To delete all docker container:
docker rm -f `sudo docker ps -a -q`
- the
-f
flag forces to delete any running containers. If you want to protect running containers, omit the flag.
Automatic restart