[도커] 도커 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)  (5) 2024.11.14
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)  (3) 2024.11.13
[도커] 도커 1: 도커의 3가지 컨셉  (1) 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바