Docker Command
실행중인 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
- -f 옵션을 설정하면 tail 커맨드 처럼 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
- --restart flag 설정으로 docker container가 멈추었을때 다시 자동으로 시작하게 할 수 있다.
- no: do not automatically restart the container. (the default)
- on-failure: restart the container if it exits due to an error, which manifests as a non-zero exit code.
- This flag also accepts an optional restart count: --restart=on-failure:5
- unless-stopped: restart the container unless it is explicitly stopped or Docker itself is stopped or restarted.
- always: always restart the container if it stops.
Docker File