본문 바로가기
DevOps

[Docker] 기본 명령어

by UnoCode 2020. 8. 25.

실행중인 docker container에 shell에 접속하기

 

docker run -it jenkins /bin/bash

docker exec -it jenkins /bin/sh

 

  • -i docker 컨테이너의 STDIN을 open한다
  • -t docker 컨테이너에 psuedo tty를 지정해준다.
더보기

TTY(teletypewriter) : 리눅스 디바이스 드라이브중에서 콘솔이나 터미널을 의미합니다.

 

psuedo(가상) +  tty :  원격접속을 의미합니다.

 

Docker ps

 

현재 실행중인 docker 컨테이너들을 볼 수 있다.

 

  • -a 전체 실행중인 컨테이너 
  • -l 가장 최근에 실행한 컨테이너
  • -q 컨테이너의 id 값만 보여준다
docker ps -a && docker ps -l && docker ps -a -q

 

 

Daemonized docker containers

  • -d : 데몬 모드

데몬 모드 : docker에서 말하는 데몬이란 백그라운드 실행을 의미합니다.

 

Production 환경에서 실행될 docker container는 대부분 daemonized 된 상태로 실행될것이다.

 

Logging

이용 : 컨테이너의 로그를 보기 위해 사용 합니다.

docker logs <데몬 컨테이너 ID OR 이름>

 

기본 명령어

 

docker logs -f <데몬 컨테이너 ID OR 이름>


 --tailng 하는 옵션(실시간으로 로그가 올라옴)

 

docker logs -ft  <데몬 컨테이너 ID OR 이름>

 

-t: 각 로그에 timestamp가 추가된다. 디버깅에 용이하다.

 

Docker inspect

dokcer 명령어 중 inspect 명령어는 컨테이너와 이미지의 세부 정보를 JSON 형태로 출력하는 명령어 입니다.

docker inspect --format='{{.NetworkSettings.IPAddress }}' <daemonized_containe>

위의 명령어는 해당 컨테이너 또는 이미지의 ip를 얻는 명령어 입니다.

이미지가 OS일 경우 유횽하게 쓰이겠군요..

 

To run additional process inside a running container

docker exec -d <daemonized_container> /bin/bash

위의 명령어는 컨테이너나 이미지의 명령어를 실행 시킵니다.

 

위의 같은 경우 /bin/bash를 실행 시켜 shell을 실행 시킵니다.

 

To delete a container

docker container을 삭제 시키는 명령어 입니다.

 

docker rm -f `sudo docker ps -a -q`

-f : --force옵션 이므로 이미 컨테이너가 실행 되고 있는 상태여도 강제로 삭제 시키는 명령어 입니다.

 

명령어 뒤에 `~`로 있는 부분은 따로 명령어를 입력 해서 한번에 모든 컨테이너를 지울때 사용 합니다.

 

`` 안에는 docker 명령어가 실행 될 수 있습니다.

 

To stop & kill docker container

  • stop은 docker를 중단 할 수 있습니다. 
  • kill은 docker를  중단 할 수 있습니다.

kill과 stop명령어의 차이점은 다음과 같습니다.

 

  • docker stop : 실행중인 컨테이너를 중지합니다 ( SIGTERM을 보낸 다음 유예 기간 후 SIGKILL 전송 ) [...] 컨테이너 내부의 주요 프로세스는 SIGTERM을 받고 유예 기간 후 SIGKILL을받습니다. [강조 광산]
  • docker kill : 실행중인 컨테이너를 종료합니다 ( SIGKILL 전송 또는 지정된 신호 전송 ) [...] 컨테이너 내부의 주요 프로세스에는 SIGKILL 또는 --signal 옵션으로 지정된 신호가 전송됩니다. [강조 광산]

Automatic restart

  • --restart flag 설정으로 docker container가 멈추었을때 다시 자동으로 시작하게 할 수 있다.
  • always: 컨테이너가 멈출 경우 마다 항장 재실행을 합니다.
  • service docker restart : docker 서비스를 재시작 합니다. 이때 always가 있는 컨테이너는 재실행을 실시 합니다.

'DevOps' 카테고리의 다른 글

[Docker] Docker-Compose  (0) 2020.08.27
[Docker] 네트워크 사용법  (0) 2020.08.26
[Docker] 기본 개념  (0) 2020.08.22

댓글