[Docker] 도커 기본 명령어
컨테이너 실행
docker run nginx
docker run nginx 명령어 실행 시 Docker 호스트에 Nginx 애플리케이션 인스턴스가 있다면 해당 인스턴스를 실행한다.
호스트에 이미지가 없다면 Docker Hub으로 이동해 이미지를 Pull 한다.
이 작업은 한 번만 처리되기 때문에 명령어를 여러 번 실행해도 같은 이미지를 재사용한다.
컨테이너 목록
docker ps
docker ps 명령어는 실행되는 모든 컨테이너와 해당 컨테이너의 기본 정보를 나열한다.
각 컨테이너는 Docker에 의해 자동으로 생성된 임의의 ID나 이름을 가진다.
컨테이너 ID나 컨테이너 실행을 위해 사용되는 이미지의 이름 현재 상태나 컨테이너 이름 등이 있다.
docker ps -a
-a 옵션을 이용하면 모든 컨테이너를 확인할 수 있다.
이미 멈췄거나 종료한 컨테이너까지 모두 출력한다.
컨테이너 중지
docker stop container1
실행 중인 컨테이너를 멈출 땐 docker stop 명령어를 사용한다.
이 경우 컨테이너 ID나 컨테이너 이름을 입력해야 한다.
docker stop 명령어가 실행되면 멈춘 컨테이너 이름이 출력되고 다시 docker ps 명령어를 실행하면 실행 중인 컨테이너가 없다.
하지만 docker ps -a 명령어를 실행하면 종료된 컨테이너도 표시되면서 몇 초 전에 종료됐다는 상태를 띄울 것이다.
컨테이너 제거
docker rm container1
docker rm 명령어를 통해 멈추거나 종료한 컨테이너를 영구적으로 삭제할 수 있다.
컨테이너 이름이 출력된다면 삭제된 것이다.
이미지 목록
docker images
docker images 명령어로 사용할 수 있는 이미지의 목록과 이미지의 크기를 확인한다.
이미지 제거
docker rmi nginx
사용하지 않을 이미지를 삭제하려면 docker rmi 명령어를 사용한다.
이미지를 삭제하기 전에 해당 이미지를 지움으로써 중단되는 컨테이너가 없는지 확인하고 해당 이미지가 종속된 모든 컨테이너를 중단하거나 삭제해야 한다.
이미지 다운로드
docker pull nginx
docker run 명령어를 실행했을 때 이미지 다운로드를 기다리지 않기 위해 이미지만 다운로드해서 보관할 수 있다.
docker pull 명령어를 이용해 컨테이너 실행 없이 이미지만 pull할 수 있다.
프로세스 실행
docker run ubuntu sleep 5
docker run 명령어를 이용해 Docker가 프로세스를 실행하도록 명령할 수 있다.
예를 들어 5초로 지정한 sleep 명령어를 사용하면 컨테이너를 가동했을 때 5초 동안 sleep이 실행된 후 sleep 명령어는 종료되고 컨테이너는 중단된다.
명령어 실행
docker exec my_container /bin/sh
만약 실행 중인 컨테이너에 명령어를 사용하려면 docker exec 명령어를 사용하면 된다.
detached 모드
docker run -d nginx
docker run 명령어를 이렇게 실행하면 foreground 즉 연결 모드로 실행된다.
이 Docker 컨테이너가 중단될 때까지는 출력값을 보는 것 외엔 할 수 있는 게 없다.
-d 옵션을 이용해 Docker 컨테이너를 분리 모드로 실행할 수 있다.
이를 통해 Docker 컨테이너를 백그라운드 모드에서 실행하고 즉시 프롬프트로 돌아오게 된다.
컨테이너는 백엔드에서 계속 실행될 것이다.
docker attach CONTAINER_ID
나중에 실행 중인 컨테이너를 다시 연결 모드로 바꾸고 싶다면 docker attach 명령어에 컨테이너 ID나 이름을 지정하면 된다.
attached 모드
docker run -it ubuntu /bin/bash
-it 옵션으로 컨테이너를 attached 모드로 실행할 수 있다.
이 경우 컨테이너의 출력이 현재 터미널에 표시되며, 컨테이너가 실행 중인 상태를 실시간으로 확인할 수 있다.
'DevOps > Docker' 카테고리의 다른 글
[Docker] 도커 설치 및 설정하기 (0) | 2023.11.30 |
---|---|
[Docker] 도커의 개념 및 필요성 (0) | 2023.11.29 |
댓글