docker run

yslee·2022년 1월 31일

docker

목록 보기
1/1

docker [COMMAND]

도커는 평소에도 환경 구축을 위해 자주 사용하고 있다.

홈 서버에서 도커가 없는 환경은 상상하기 힘들 정도로 다양한 서비스를 컨테이너로 관리하고 있지만
한번 환경을 구축하고 나서는 shell script 또는 docker-compose로 관리하는 경우가 많아
자세하게 원하는 기능을 쓰기 위해서 검색하는 경우가 많아 효율이 떨어진다고 생각했다.

이번 기회로 내부 커맨드와 볼륨 및 네트워크와 같은 내용을 하나씩 정리해 보려 한다.


docker run [optoin] IMAGE [COMMAND] [ARGS...]
OPTIONSContents
-ddetached mode (백그라운드 모드)
-pHOST:CONTAINER 포트를 연결
-vHOST:CONTAINER 디렉토리를 연결
-eenv 변수 설정
--name컨테이너 이름 설정
-rm컨테이너 자동 제거
-it-i(--interactive), -t(--tty) 옵션 터미널 입력 모드
--network네트워크 연결
docker run --rm -it ubuntu:latest /bin/bash
  1. ubuntu 최신 버전 이미지를 가져와 컨테이너로 실행
  2. --rm : 프로세스 종료시 컨테이너 삭제
  3. -it : 터미널 명령 모드로 실행 , bash를 실행 (/bin/bash)

docker exec : 실행중인 컨테이너에 명령어 실행

docker exec [OPTION] CONTAINER [COMMAND] [ARG...]
OPTIONSContents
-ddetached mode (백그라운드 모드)
-eenv 변수 설정
-u실행 user 선택
-w실행 workdir 선택

docker ps : 컨테이너 목록 확인

docker ps [OPTIONS]
OPTIONContents
-a, --all모든 컨테이너 확인
-f, --filter필터를 사용해 출력 컨테이서 제한
-l, --latest마지막으로 만든 컨테이너
-q, --quiet컨테이너 ID 만 출력
-s, --size총 사이즈 표시
# 모든 컨테이너 확인
docker ps -as

>>>
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES               SIZE
357a5c78f2ab   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             hardcore_ishizaka   0B (virtual 13.3kB)

# 모든 컨테이너 ID 확인
docker ps -aq
>>>
357a5c78f2ab


# 컨테이너 이름이 "hello-" 로 시작하는 모든 컨테이너 목록
docker ps -a -f "name=hello-*"
>>>
CONTAINER ID   IMAGE         COMMAND    CREATED              STATUS                          PORTS     NAMES
9552c06909dd   hello-world   "/hello"   56 seconds ago       Exited (0) 55 seconds ago                 hello-docker-2
cd43b467fffa   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             hello-docker-1
82e8af42ab14   hello-world   "/hello"   About a minute ago   Exited (0) About a minute ago             hello-docker

docker stop : 실행중인 컨테이너 중지

docker stop [OPTIONS] CONTAINER [CONTAINER...]
OPTIONContents
-t,--time정지된 컨테이너 확인
# docker stop hello-docker # container name
docker stop 482576c206c6 # container id
# 모든 컨테이너 중지
docker stop $(docker ps -aq)

docker rm : 컨테이너 삭제

docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONContents
-f,--force실행중인 컨테이너 강제 삭제
-l,--link컨테이너 링크만 삭제
-v,--volumes컨테이너의 데이터 볼륨 삭제
profile
지식보다 지혜를

0개의 댓글