본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

33일차 - 도커 허브, 도커 명령어

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

이미지 == 프로그램 / 컨테이너 == 프로세스 => 이미지를 실행하면 컨테이너가 시작

  

systemctl status docker : docker 실행 중인지 상태 확인

  

docker pull 이미지명(또는 ID) : 이미지 다운로드

docker rmi -f 이미지명 : 이미지 삭제

docker images : 이미지 목록 보기

docker ps : 실행 중인 컨테이너 목록

    docker ps -a : 종료된 컨테이너 목록도 표시

    docker ps -a -q : 컨테이너ID만 간단하게 표시

docker run 이미지명 : 이미지 실행. 이미지가 없을 경우 도커 허브에서 자동으로 다운로드 받는다.

    docker run nginx => 종료할 때는 Ctrl + c

    docker run -d 이미지명 : 백그라운드에서 실행

    docker run --rm 이미지명 : 컨테이너가 종료되면 없어진다. => docker ps -a 해도 안 나온다.

docker start 컨테이너ID : 컨테이너 실행

docker stop 컨테이너ID : 컨테이너 정지

    * ID를 쓸 때는 일부분만 적어줘도 된다.(ID가 59e5b2ab3e3 일 경우 59만 적어도 됨)

    docker kill과의 차이 : docker stop은 sigterm을 사용해서 리소스 해제, 상태 저장 등 시스템 종료를 위해 프로세스가 정리하는 시간을 준 후 sigkill 을 사용해서 컨테이너를 멈춘다. docker kill은 sigterm을 사용하지 않고 즉각 컨테이너를 멈춘다.

docker rm 컨테이너ID : 컨테이너 삭제

docker rm -f $(docker ps -a -q) : 모든 컨테이너 삭제

docker rmi $(docker images -q) : 모든 이미지 삭제

docker run nginx > 새로운 bash 창에서 ssh 접속 > docker ps > 실행 중인 컨테이너가 있다.

> docker stop 컨테이너ID > 기존의 bash 창에서 실행 중인 nginx가 exit된다.

  

docker run --name=yuri nginx : name이 yuri인 컨테이너 실행

docker logs ~ : 로그 조회

docker inspect ~ : 자세한 정보 조회

docker inspect ~ | less : 방향키로 이동하면서 조회할 수 있음. 종료할 때는 q

  

docker run -d --rm --name=yuri nginx

docker exec yuri ls : yuri 컨테이너에서 ls 명령 수행

docker exec yuri apt-get update : yuri 컨테이너에서 apt-get update 명령 수행. apt-get은 리눅스의 패키지 매니저

docker exec -it yuri bash : yuri 컨테이너에서 bash 접속.  -it는 상호작용이 필요할 때 붙여준다.

    docker exec -it yuri sh : 위 명령어로 접속 안 될 경우

bash 접속