Docker 기본 명령어 요약

By | 2025-08-21

📌 기본 설명

  • docker는 Docker CLI의 기본 명령어입니다.
  • Docker 시스템 설정에 따라 docker 명령어 앞에 sudo를 붙여야 할 수 있습니다.
  • sudo 없이 사용하고 싶다면, 시스템 관리자docker라는 Unix 그룹을 만들고 해당 유저를 그룹에 추가하면 됩니다.

🔗 운영체제별 Docker 설치 및 sudo 설정은 공식 설치 문서를 참고하세요.


🆘 도움말 보기

  • 명령어 뒤에 --help 옵션을 붙이면 해당 명령의 도움말을 확인할 수 있습니다.
docker run --help

📦 docker run 사용법

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 이미지로부터 컨테이너를 생성하고 실행합니다.

⚙️ 주요 옵션 예시

옵션설명
--add-host호스트-IP 매핑 추가
-a, --attach표준 입출력에 연결 (stdin, stdout, stderr)
-it상호작용 모드 + 터미널 할당
-d백그라운드 실행 (detached mode)
--name컨테이너 이름 지정

예시:

docker run -it --name my_container ubuntu /bin/bash

🌍 환경 변수

Docker CLI는 다양한 환경 변수를 지원합니다.

변수설명
DOCKER_HOST연결할 Docker 데몬 소켓 주소
DOCKER_TLS_VERIFYTLS 인증 사용 여부
DOCKER_CONFIG설정 파일 위치 변경
HTTP_PROXY / HTTPS_PROXY프록시 설정
NO_PROXY프록시 제외 대상
DOCKER_CONTEXT사용할 Docker 컨텍스트
DOCKER_CONTENT_TRUST이미지 서명 사용 여부

🔧 구성 파일 (config.json)

  • 기본 위치: ~/.docker/config.json
  • docker 명령어의 일부 동작을 이 파일로 설정할 수 있음

설정 예시

{
  "psFormat": "table {{.ID}}\t{{.Image}}\t{{.Command}}",
  "detachKeys": "ctrl-e,e",
  "credsStore": "secretservice",
  "proxies": {
    "default": {
      "httpProxy": "http://proxy.example.com:3128",
      "httpsProxy": "https://proxy.example.com:3129"
    }
  }
}

🔒 인증 및 크레덴셜 저장

옵션설명
credsStore모든 인증정보를 저장할 기본 외부 프로그램 지정
credHelpers특정 레지스트리에 대해 사용할 크레덴셜 헬퍼 지정

🔌 Docker 명령어 종류 (서브커맨드)

명령어설명
docker buildDockerfile로 이미지 빌드
docker run컨테이너 실행
docker ps실행 중인 컨테이너 목록
docker stop컨테이너 정지
docker rm컨테이너 삭제
docker image이미지 관련 명령어
docker volume볼륨 관리
docker network네트워크 관리
docker composeDocker Compose 사용
docker system시스템 리소스 관리
docker context컨텍스트 전환 및 설정
docker login/logout레지스트리 로그인/로그아웃
docker inspect컨테이너/이미지 상세 정보 출력

📡 데몬 소켓 연결 (-H 옵션)

스킴설명예시
unix://Unix 소켓unix:///var/run/docker.sock
tcp://TCP 연결tcp://192.168.0.10:2376
ssh://SSH 연결ssh://user@host
npipe://Windows 파이프npipe:////./pipe/docker_engine

예:

docker -H ssh://user@192.168.64.5 ps

🧪 실험적 기능

  • Docker 20.10부터 일부 실험적 기능이 기본 활성화됨
  • 일부 환경변수나 구성 항목은 “실험적”이며 향후 변경 가능성 있음

⚠️ 보안 주의사항

  • ~/.docker/config.json 파일에는 인증 정보나 프록시 정보가 포함될 수 있음
  • 절대로 Git 등에 업로드하거나 공유 금지
  • 민감한 정보가 포함된 환경변수는 평문으로 저장되므로 주의

✅ 예시 정리

컨테이너를 상호작용 모드로 실행:

docker run -it ubuntu /bin/bash

컨테이너 백그라운드 실행:

docker run -d --name web nginx

특정 이미지 목록 보기:

docker images

컨테이너 멈추기:

docker stop <container_id>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다