벡엔드/docker

[docker] 도커 기본 명령어

코딩하는이씨 2023. 10. 24. 17:04
728x90
반응형

도커 명령어


컨테이너를 다루는 명령어는 ‘docker’ 명령어로 시작한다.

 

도커 명령어의 기본 형태


docker 커맨드(상위/하위) (옵션) 대상(이미지) (명령어)(인자)
  • 커맨드(상위/하위)
    • ‘무엇을’, ‘어떻게’에 해당하는 부분
    • 커맨드는 상위 커맨드(’무엇을’)와 하위 커맨드(’어떻게’)로 구성되어있다.
    • 상위 커맨드는 12 종류가 있다.
    • ex) docker container start penguin
  • 옵션
    • 옵션은 커맨드에 세세한 설정을 지정하는 용도
    • 커맨드의 실행 방법 or 커맨드에 전달할 값을 지정
    • ex) -d, —name penguin, -dit
  • 대상(이미지)
    • 커맨드와 달리 구체적인 이름을 지정
    • ex) docker container start (옵션) penguin
  • 명렁어 인자
    • 대상에 전달할 명령어와 인자 값을 지정
    • 문자 코드 또는 포트 번호 등을 전달 가능
    • ex) docker run -d python:3.8-alpine python -m http.server

 

컨테이너 생성, 실행, 종료, 삭제


컨테이너 생성 및 실행


컨테이너를 생성하고 실행하는 커맨드 : docker run (docker container run)

  • docker image pull + docker container create + docker container start
docker run (옵션) 이미지 (인자)

주요 옵션

 

—name 컨테이너_이름  컨테이너 이름을 지정
-p 호스트_포트번호 : 컨테이너_포트번호 포트번호를 지정
-v 호스트디스크 : 컨테이너_디렉터리 볼륨 마운트
—net = 네트워크_이름 컨테이너를 네트워크에 연결
-e 환경변수_이름 = 값 환경변수를 설정
-d 백그라운드로 실행
-i 컨테이너에 터미널(키보드)를 연결
-it 컨테이너와 상호작용하는 대화형
   
-help 사용 방법 안내 메시지 출력

 

컨테이너 정지 및 삭제


컨테이너를 정지하는 커맨드 : docker stop (docker container stop)

  • 컨테이너를 삭제하려면 컨테이너를 우선 정지 시켜야한다.
docker stop 컨테이너_이름

컨테이너를 삭제하는 커맨드 : docker rm (docker container rm)

  • 정지 상태가 아닌 컨테이너 대상으로 실행하면 오류 발생후 삭제되지 않는다.
docker rm 컨테이너_이름

 

컨테이너 목록


컨테이너의 목록을 출력하는 메서드 : docekr ps(docker container ls)

  • 현재 실행 중인 컨테이너의 목록을 출력
  • docker ps -a 옵션을 추가하면 현재 존재하는 컨테이너의 목록 출력

컨테이너 목록 주요 항목

 

   
CONTAINER_ID 컨테이너 식별자, 무작위 문자열 할당
IMAGE 컨테이너를 만들때 사용한 이미지의 이름
COMMAND 컨테이너 실행 시에 실행하도록 설정된 프로그램의 이름
CREATED 컨테이너 생성 후 경과된 시간
STATUS 컨테이너의 현재 상태. 실행 중이라면 UP/종료 상태라면 Exited
PORTS 컨테이너의 할당된 포트번호 “호스트 포트번호→컨테이너 포트번호”
NAMES 컨테이너 이름

 

이미지 삭제


  • 컨테이너를 삭제후 이미지 삭제가 가능하다.

이미지 삭제 메서드 : docker image rm 커맨드

docker image rm [이미지_이름] [이미지_이름]

이미지 목록의 주요 항목

   
REPOSITORY 이미지 이름
TAG 버전 정보
IMAGE_ID 이미지 식별자
CREATED 이미지 생성 후 경과 시간
SIZE 이미지의 전체 용량

 

도커 네트워크 생성


docker network create 네트워크_이름

 

컨테이너에서 리눅스 명령어 실행


docker exec -it 컨테이너_이름 bash

 

 

파일복사


  • 파일 복사는 양방향 모두 가능하다.
  • 컨테이너로 파일을 복사하는 커맨드 (호스트 → 컨테이너)
docker cp [호스트_경로] [컨테이너_이름]:[컨테이너_경로]
  • 호스트로 파일을 복사하는 커맨드 (컨테이너 → 호스트)
docekr cp [컨테이너_이름]:[컨테이너경로] [호스트_경로]

 

EXAMPLE


  • 아파치 이미지로 ‘apa000ex1’ 이라는 이름을 가진 컨테이너를 백그라운드로 생성 및 실행하라
docker run --name apa000ex1 -d httpd
  • 컨테이너 확인 및 종료
docker ps
docker stop apa000ex1
  • 컨테이너 삭제
docker rm apa000ex1
  • 이미지 확인
docker image ls
728x90
반응형

'벡엔드 > docker' 카테고리의 다른 글

[docker] 도커란? 도커의 기본  (0) 2023.10.24