[도커] 도커 2: docker 명령어 모음 1탄 (도커 컨테이너 관련 명령어)

2024. 11. 12. 22:32·클라우드/도커

지난 시간에는 도커에 대해 간단하게 알아봤다.

이번 시간에는 docker 명령어를 알아보자.


도커 컨테이너 조회

$ docker ps                         # 도커 컨테이너 확인
$ docker ps  -a                    # 정지중인 컨테이너도 조회
$ docker container ls             # docker ps와 동일
결과
- CONTAINER ID: 생성된 컨테이너를 이 컴퓨터 안에서 구분시켜줄 ID
- IMAGE: 컨테이너를 생성하기 위해 사용된 base image
- STATUS: 컨테이너 상태
- NAMES: 컨테이너의 이름 (컨테이너 생성 시 지정 가능)

도커 컨테이너 생성/실행

$ docker run -it --name testUbuntu ubuntu:22.04
$ docker ps  # 도커 컨테이너 확인

docker run 주요 옵션

 

$ docker run -it --name testUbuntu ubuntu:22.04

-i : 상호 입출력이 가능한 상태로 컨테이너를 실행하라

      마우스 커서가 생김

      호스트 컴퓨터에서 입력한 명령어 -> 도커 컨테이너에 전달 

 

 -t : tty를 활성화하여 bash 쉘을 실행시키며 컨테이너를 실행하라

       컨테이너로 생성된 새로운 컴퓨터 환경에 직접적으로 명령을 내리기 위해 쉘을 실행

실행 결과

 

$ docker run -d --name testUbuntuOptionD ubuntu
-d: 백그라운드로 실행
       마치 아무 일도 일어나지 않는 것처럼 보임 (하지만 뒤에서는 컨테이너 생성 + 컨테이너에게 전달한 명령어 수행중)
       지금은 아무런 명령어를 전달하지 않았으므로 컨테이너만 생성하고 바로 종료(exited)

 

살행 결과

 

 

$ docker run --name testContainerName ubuntu ls

--name: 컨테이너에 이름 지정
 

ls: (생성될) 컨테이너에 ls 명령어를 실행시킴 

실행 결과

 


도커 컨테이너 명령어 전달

$ docker run --name test utunbu:latest df # 명령어 df 전달

docker run 명령어와 함께, 맨 뒤에 명령어를 인자로 주면

컨테이너를 생성하고 + 바로 해당 명령어를 실행하도록 할 수 있다!

 

$ docker exec testUbuntuRunning2 ls
$ docker exec -it testUbuntuRunning2 /bin/bash # 실행 중인 컨테이너에 /bin/bash에 위치한 명령어 실행
- 이미 생성되어 실행중인 컨테이너에 명령어 전달
- 컨테이너 생성 시 전달한 컨테이너 명령어 + docker exec로 전달하는 명령어가 모두 끝나야 컨테이너 종료 & 자동 삭제

 

 

$ docker exec testUbuntuRunning2 ls

실행 결과

 

 

$ docker exec -it testUbuntuRunning2 /bin/bash

컨테이너 testUbuntuRunning2에 들어가 /bin/bash 명령어 실행

➔ 이때, /bin/bash 명령어는 쉘 프로그램이다.

    쉘 프로그램은 사용자가 터미널에서 명령어를 입력하면, 이 명령어를 운영체제가 실행하도록 운영체제에 전달하는 시스템 프로그램이다.

 

즉, /bin/bash를 이용해 쉘 프로그램을 키면직접 컨테이너에 명령어를 내릴 수 있다!

(여러분이 노트북으로 terminal/DOS창/cmd창/... 을 켜서 명령어를 쳐보는 것과 같은 것이다!)

exit 명령어를 통해 컨테이너에서 다시 호스트로 돌아올 수 있다!


도커 컨테이너 중지 

$ docker stop $(docker ps -aq)             # 모든 컨테이너 정지
$ docker ps -a                            # 정지중인 컨테이너도 조회 
$ docker restart  컨테이너명/id             # 재시작

 

docker ps -a 명령어, docker stop 명령어

도커 컨테이너 삭제

$ docker rm testUbuntu                #testUbuntu라는 이름을 가진 컨테이너 삭제
$ docker rm -f testUbuntu             #testUbuntu 컨테이너가 실행 중일 때 강제 삭제
$ docker rm -f $(docker ps -aq)      #모든 컨테이너 강제 삭제
기본적으로 실행중인 컨테이너는 삭제 불가하다.
하지만 -f 옵션과 함께 docker rm을 진행하면 강제로 삭제할 수 있다!

중지한 컨테이너를 다시 실행하기 위해서는

docker restart 명령어를 사용할 수 있다!

다음은 도커 명령어를 더 알아보자!

'클라우드 > 도커' 카테고리의 다른 글

[도커] 도커 4: docker 파일 1 (Dockerfile)  (3) 2024.11.14
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)  (3) 2024.11.13
[도커] 도커 1: 도커의 3가지 컨셉  (0) 2024.11.11
[도커] 도커 0: 도커가 뭐고 왜 쓰나요?  (1) 2024.11.10
자주 사용하는 Dockerfile(도커파일) 모음  (1) 2024.11.08
'클라우드/도커' 카테고리의 다른 글
  • [도커] 도커 4: docker 파일 1 (Dockerfile)
  • [도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)
  • [도커] 도커 1: 도커의 3가지 컨셉
  • [도커] 도커 0: 도커가 뭐고 왜 쓰나요?
KyuminKim
KyuminKim
컴퓨터공학과 학생의 이모저모 개발 일지 📝
  • KyuminKim
    이모저모
    KyuminKim
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 프로젝트 (2)
        • first-blog (2)
      • 클라우드 (22)
        • 도커 (14)
        • 쿠버네티스 (5)
        • AWS (2)
      • 알고리즘 (5)
        • 코드트리 (0)
        • 프로그래머스 (5)
      • 백엔드 (8)
      • 프론트엔드 (2)
      • 보안 (3)
        • 드림핵 (2)
      • python (3)
      • 네트워크 (1)
      • 기타 (6)
        • 2025 프로펙트 부트캠프(1차) | 클라우드 엔.. (0)
        • OSSCA | 2024 오픈소스 컨트리뷰션 아카데.. (0)
        • WIK (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DB
    쿠버네티스
    character_set_server
    탈퇴구현
    고랭
    amazonlinux
    cannot send an empty message
    2024 당근 테크 밋업
    알고리즘
    코딩트리조별과제
    apiserver-runtime
    코딩테스트
    도커파일
    인코딩
    EC2
    characterencoding
    자료구조
    MySQL
    urf8
    파이썬
    주간레포트
    오블완
    코드트리
    docker
    티스토리챌린지
    recover_your_data
    코드트리조별과제
    진단평가
    도커
    DP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
KyuminKim
[도커] 도커 2: docker 명령어 모음 1탄 (도커 컨테이너 관련 명령어)
상단으로

티스토리툴바