Docker 명령어와 컨테이너 실행하기

Yu Seong Kim·2024년 1월 20일
0

docker

목록 보기
2/6
post-thumbnail

컨테이너의 기본적인 사용법

  • 컨테이너를 다루는 모든 명령은 'docker 명령어'로 시작합니다.
dokcer ~

명령어와 대상

  • docker 명령어 뒤에 오는 부분을 '커맨드'라고 합니다.
  • 커맨드는 상위커맨드(무엇을)와 하위커맨드(어떻게)로 구성됩니다.
  • '대상 '에는 컨테이너명 또는 이미지명 등 구체적인 이름이 들어갑니다.
  • docker 명령 뒤로 '무엇을','어떻게','대상' 순으로 지정하면 됩니다.

docker 명령어의 기본

docker 커맨드(상위 , 하위) 대상-

-이름이 apple인 이미지를 실행-

docker container run apple
  • 상위 커맨드는 'container','image' 등 12종류로 이루어져 있습니다.

예를 들어, apple이라는 이름의 이미지를 pull(내려받기)하려면

docker image pull apple

또는 apple 이라는 이름의 컨테이너를 start(시작)하려면

docker container start apple

이런 식으로 명령어를 작성하면 됩니다.

옵션과 인자

그러나 실제로 도커를 다루다 보면 이보다 훨씬 길고, 복잡한 명령어를 볼 수 있습니다.
명령어의 기본적인 형태는 docker [커맨드][대상]이지만 커맨드에는 '옵션' 과 '인자' 라는 추가적인 정보가 붙습니다.
예를 들어, container run 커맨드에 -d라는 옵션을, apple을 대상으로 --mode=1 이라는 인자를 붙힌다면 아래와 같이 작성합니다.

docker container run -d apple --mode=1
docker [상위커맨드] [하위커맨드] [옵션] [대상] [인자]
  • -d는 백그라운드로 실행하라는 명령어 입니다.
  • --mode=1은 모드 1로 실행하라는 명령어 입니다.

모든 명령어에 옵션이나 인자가 붙는 것은 아닙니다. 커맨드와 대상으로만 구성되어 있는 명령어도 많습니다. 반대로 옵션이나 인자를 여러 개인 복잡한 명령어도 있지만 갯수도 적고 자주 쓰이는 옵션이나 인자도 한정 되어있어 기억해두면 좋습니다.

-옵션-

  • 커맨드에 세밀한 설정을 지시하는 용도로 사용합니다.
  • 백그라운드로 실행 -d , 키보드를 통해 조작 -i 또는 -t 등 커맨드의 실행 방법이나 커맨드에 전달할 값을 지정합니다.

기본적인 명령어 정리

-docker의 기본적인 형태-

docker [커맨드(상위,하위)] (옵션) [대상] (인자)

간단한 명령어 실행

사전 준비

  • 도커 엔진이 종료된 상태라면 도커 엔진을 실행시켜줍니다.
  • cmd (명령 프롬포트로)를 열어둡니다.

version 명령어

docker version

현재 자신의 설치한 docker의 버전과 설명들이 나옵니다.
아주 간단한 명령어 입니다.

대표적인 명령어

출처 https://dockerlabs.collabnix.com/docker/cheatsheet/

컨테이너 조작 관련 커맨드(상위 커맨드 : container)

컨테이너를 실행하거나 종료하고, 컨테이너 목록 확인등 컨테이너를 다루기 위해 사용하는 커맨드 입니다.

  • start : 컨테이너 실행
  • stop : 컨테이너 정지
  • create : 도커 이미지로부터 컨테이너 생성
  • run : 도커 이미지를 내려받고 컨테이너를 생성해 실햅합니다.(다운로드는 필요한 경우에만)
docker image pull
docker container create
docker container start

이 세개의 명령어를 합친 것과 같습니다.

  • rm : 정지 상태의 컨테이너 삭제
  • exec : 실행 중인 컨테이너 속에서 프로그램 실행
  • ls : 컨테이너 목록 출력
  • cp : 도커 컨테이너와 도커 호스트 간의 파일을 복사
  • commit : 도커 컨테이너를 이미지로 변환

이미지 조작 관련 커맨드(상위 커맨드 : image)

이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행하는 커맨드입니다.

  • pull : 도커 허브 등의 리포지토리에서 이미지를 내려받음
  • rm : 도커 이미지를 삭제
  • ls : 내려 받은 이미지의 목록을 출력
  • build : 도커 이미지를 생성

볼륨 조작 관련 커맨드(상위 커맨드 : volume)

볼륨 생성, 목록 확인, 삭제 등 볼륨(컨테이너에 마운트 가능한 스토리지)과 관련된 기능을 실행하는 커맨드입니다.

  • create : 볼륨 생성
  • inspect : 볼륨 상세 정보 출력
  • ls : 볼륨의 목록 출력
  • prune : 현재 마운트되지 않은 볼륨 모두 삭제
  • rm : 지정 볼륨 삭제

네트워크 조작 관련 커맨드(상위 커맨드 : network)

도커 네트워크의 생성, 삭제, 컨테이너의 네트워크 접속 및 접속 해제 등 도커 네트워크와 관련된 기능을 실행하는 커맨드.

도커 네트워크란 도커 요소 간의 통신에 사용하는 가상 네트워크를 가리킨다.

  • connect : 컨테이너를 도커 네트워크에 연결
  • disconnect : 컨테이너의 도커 네트워크 연결을 해제
  • create : 도커 네트워크를 생성
  • inspect : 도커 네트워크 상세 정보 출력
  • ls : 도커 네트워크 목록 출력
  • prune : 현재 컨테이너가 접속하지 않은 네트워크를 모두 삭제
  • rm : 지정한 네트워크 삭제

그 밖의 상위 커맨드

대부분 도커 스웜과 관련된 커맨드로서 초보자 수준에서 사용할 일은 없는 커맨드 입니다.

checkpoint : 현재 상태를 일시적으로 지정 후 나중에 해당 시점의 상태로 되돌릴 수 있음. 현재는 실험적인 기능으로 씀.
node : 도커 스웜의 노드를 관리하는 기능.
plugin : 플러그인을 관리하는 기능.
secret : 도커 스웜의 비밀값 정보를 관리하는 기눙
service : 도커 스웜 서비스 관리
stack : 도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택 관리
swarm : 도커 스웜 관리
system : 도커 엔진 정보 확인


단독으로 쓰이는 커맨드

상위 커맨드 없이 단독으로 쓰는 커맨드로 주로 도커 허브 검색이나 로그인 시 사용

login : 도커 레지스트리에 로그인
logout : 도커 레지스트리에 로그아웃
search : 도커 레지스트리를 검색
version : 도커 엔진 및 명령행 도구의 버전을 출력


직접 사용해보자

  1. 컨테이너 생성 및 실행
  2. 컨테이너 상태 확인
  3. 컨테이너 종료
  4. 컨테이너 상태확이니
  5. 컨테이너 삭제

-생성할 컨테이너 정보 -

항목
컨테이너 이름apa000ex1
이미지 이름httdp

- 커맨드에서 사용할 옵션, 대상, 인자 -

항목내용
--name apa000ex1apa000ex1이라는 이름으로 컨테이너를 생성
httdp아파치의 이미지 이름,버전을 지정하지 않았으므로 가장 최신 버전(latest)이 사용

-실행중인 컨테이너 목록 확인-

docker ps

-모든 컨테이너 목록 확인-

docker ps -a

run 커맨드 실행

docker run --name apa000ex1 -d httpd

ps 커맨드를 사용해 컨테이너가 실행 중인지 확인

docker ps 

stop 커맨드를 사용해 컨테이너 종료

docker stop apa000ex1

ps 커맨드를 사용해 컨테이너 종료 확인

docker ps 


종료된 것을 확인했습니다!!

ps 커맨드와 인자를 사용해 컨테이너의 존재 여부

docker ps -a

apa000ex1 과 예전에 만든 docker-qr-con 두개의 컨테이너가 있습니다.

rm 커맨드를 사용해 apa000ex1 컨테이너 삭제

docker rm apa000ex1

ps 커맨드와 인자를 사용해 컨테이너의 삭제 확인

docker ps -a


이렇게 apa000ex1만 삭제된 것을 알 수 있습니다!!!

다음은 포스트는 도커 컨테이너 통신에 대해서 정리 하겠습니다!!

profile
Development Record Page

0개의 댓글