도커(Docker) 컨테이너 프로세스 중단, 재시작, 프로세스 이해 (6/21)
https://www.youtube.com/watch?v=jj_MFoQ9zg4&list=PL1jdJcP6uQtvfNf19anO9YJqe-B4nGuAu&index=6
본 영상을 학습한 내용입니다
https://allkillalldie.tistory.com/13 < - 해당 글과 이어집니다
* Docker는 process 단위로 동작을 합니다 (자유롭게 stop, restart, 삭제 가능)
1. nginx_web 중지
stop nginx_web
=> 프로세스가 중단된 것이지 손상되는 것은 아닙니다
docker ps -a
54초 전에 중단되었다는 의미입니다
2. nginx_web 시작
docker start nginx_web
3. nginx_web 재시작
docker restart nginx_web
(장애 발생 시 restart를 해야하는 경우가 있습니다)
거의 죽었다는 느낌이 없게 느껴질 정도로 바로 살아납니다
11초 전에 살아났다는 것을 확인할 수 있습니다
4. ps -ef
worker, daemon, master 가 보입니다 ( kubernetes에서도 적용되는 개념입니다)
ps -ef : docker뿐만이 아니라 리눅스에서 동작하고 있는 프로세스들을 확인하는 명령어
ps -ef | grep docker
(docker와 관련된 프로세스만 모아서 보고싶습니다)
web과 web02 container와 관련된 IP정보를 확인할 수 있습니다
205605 : PID (process id)
docker container : 부모 프로세스가 1번으로 부여되어있습니다
.sock : 소켓 (네트워크와도 관련이 있음)
4. 프로세스 디렉토리 정보 확인
sudo su -
cd /proc/
ls -al
각각 동작하고 있는 프로세스가 폴더별로 보입니다
cd 205605
(프로세스 id 디렉토리로 들어갑니다)
ls -al
프로세스 안쪽에 관련된 파일과 디렉토리 정보들이 나옵니다
cwd : 현재 동작하고 있는 디렉토리 정보
(nginx 관련 이미지들을 가져와서 이쪽에서 연결해서 프로세스로 동작시킵니다)
maps : docker container가 동작하는 메모리 정보들이 이쪽에 들어가 있습니다
=> 침해사고 분석의 경우 프로세스 디렉토리 정보를 뜯어보는 경우가 많습니다