티스토리 뷰

tools/docker

docker 명령어

네스사 2024. 1. 31. 20:28

도커는 리눅스 기반이기에 CLI로 작동한다.

따라서 도커를 사용하려면 명령어와 옵션을 미리 파악해야한다.

 

이 포스트에서 명령어와 옵션을 정리하고 실전에서 많이 쓸 예제를 작성하도록 하겠다.

 

기본 명령


Docker 버전 및 상세정보 확인

$ docker version

 

Docker 버전 및 빌드 버전을 한줄로 간단하게 확인.

$ docker -v

 

Docker의 시스템 전체 정보 확인.

$ docker system info

 

서버로 부터 실시간 이벤트를 받는다. 

$ docker system event

 

도커 디스크의 사용량 확인.

$ docker system df

 

도커 허브에 로그인

$ docker login -u [ID]

 

 

이미지


도커 이미지 리스트 출력

$ docker image [옵션]
  • -a, --all: 모든 이미지를 표시
  • --digests: 이미지의 디제스트를 표시. 디제스트는 이미지의 내용을 나타내는 SHA256 체크섬
  • -f, --filter: 이미지를 필터링. 특정 레포지토리나 태그를 기반으로 필터링 가능
  • --format: 지정된 Go 템플릿을 사용하여 출력 형식을 지정하여 원하는 정보만을 표시하도록 출력을 사용자 정의가능
  • --no-trunc: 출력을 줄이지 않고 전체 정보를 표시
  • -q, --quiet: 이미지 ID만을 표시

 

image 상세 정보 표시

$ docker image inspect [옵션] IMAGE [image...]

 Docker 이미지의 메타데이터, 레이어 정보, 환경 설정 등을 포함한 세부 정보를 JSON 형식으로 제공.

  • --format, -f: Go 언어의 템플릿 문자열을 사용하여 출력 형식을 지정하여 특정 필드만을 추출하여 표시가능
  • --type: 검사할 대상의 타입을 지정

 

 docker hub에 image 검색

$docker search [옵션] <검색어>

# 옵션 사용 예제 - 자동빌드 설정, star수 15개 이상인 mysql 이미지
$docker search --filter is-automated=true --filter starts=15 mysql
  • --filter, -f: 검색 결과를 필터링하기 위한 옵션. 예를 들어 is-automated, is-official, stars 등의 필터를 사용가능.
  • --format: 지정된 Go 템플릿을 사용하여 출력 형식을 지정하여 원하는 정보만을 표시하도록 출력을 사용자 정의가능
  • --limit: 표시할 검색 결과의 최대 개수를 지정. 기본값은 최대 25
  • --no-trunc: 검색 결과의 출력을 줄이지 않고 전체 정보를 표시

컨테이너


컨테이너 생성 및 실행

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

#서버라는 컨테이너를 우분투18환경으로 생성. 호스트의 3000번 포트와 컨테이너의 80번 포트 연결
docker run -d -it --name server -p 3000:80 ubuntu:18.04
  • -d, --detach: 컨테이너를 백그라운드에서 실행
  • --name: 컨테이너에 이름을 지정
  • -p, --publish: 호스트와 컨테이너 간에 포트포워딩 설정.
  • -v, --volume: 호스트와 컨테이너 간에 볼륨을 매핑, 이를 통해 데이터를 컨테이너와 호스트 간에 공유
  • -e, --env: 컨테이너 내에서 환경변수를 설정
  • --rm: 컨테이너가 종료될 때 자동으로 삭제
  • -it: 대화형 터미널을 할당. 주로 쉘 접근이 필요할 때 사용.
  • --network: 컨테이너를 특정 네트워크에 연결.
  • --restart: 컨테이너의 재시작 정책을 설정
  • --entrypoint: 컨테이너의 기본 진입점을 덮음
  • --memory, --cpu-shares: 컨테이너의 리소스 사용을 제한.

 

컨테이너 시작(start), 중지(stop), 재시작(restart)

$docker start [컨테이너명, ID]

# 컨테이너 중지 
$docker stop [컨테이너명, ID]

# 컨테이너 재시작
$docker restart [컨테이너명, ID]

 

컨테이너 삭제

# 컨테이너 단건 삭제
$docker rm [컨테이너 ID]

# 컨테이너 다건 삭제
$docker rm [컨테이너 ID}, [컨테이너 ID]

# 컨테이너 전체 삭제
$docker rm 'docker ps -a -q'

 

컨테이너 리스트 확인

#현재 실행중인 컨테이너 확인
$docker ps

#실행중, 중지중 컨테이너 리스트 확인
$docker ps -a

 

 

컨테이너 접속

# 실행되고 있는 컨테이너에 접속 - attach
# 컨테이너 run시 /bin/bash 사용하지 않았다면 접속 불가.
$docker attach [컨테이너명, ID]

# 실행중인 컨테이너에 접속, 명령수행가능 - exec
# exit로 종료
$docker exec -it [컨테이너명, ID] /bin/bash

 

'tools > docker' 카테고리의 다른 글

도커 네트워크  (0) 2024.02.05
docker 개요  (1) 2024.01.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함