새소식

Docker

[Docker] 명령어 모음

  • -

Docker의 명령어들이 많아 따로 정리해봤습니다. (지속적으로 추가할 예정)

 

Docker Image

<image_name>: 도커 이미지 이름

<image_name>[:<tag>]: 이미지 태그를 지정할 수 있음 (버전이나 특징 등)

Docker 이미지 목록

docker images

-a: 사용하지 않는 이미지 등 까지 모두 확인

 

Docker 이미지 삭제

docker rmi <image_name>

-f: 강제 삭제, 실행중인 이미지도 삭제 가능

 

Docker 이미지 검색

docker search <image_name>

Docker 허브에 있는 이미지들을 검색할 수 있음.

 

Docker 이미지 가져오기

docker pull <image_name>

Docker 허브에 있는 이미지를 가져올 수 있음.

 

Docker Container

Docker 컨테이너 목록

docker ps

- a: 사용하지 않는 컨테이너 등 까지 모두 확인

--filter name=<name>: 컨테이너 이름을 필터링

--filter status=<status>: 컨테이너 상태를 필터링, created, restarting, running, paused, exited, dead 중 하나를 <status>에 입력

--filter ancestor=<image>: 같은 이미지를 공유하는 컨테이너를 필터링

 

Docker 컨테이너 생성

docker create -it --name <container_name> <image_name>

-i: 상호 입출력

-t: tty 활성화, bash 셀 사용

 

Docker 컨테이너 생성 및 접속

docker run -it -p <server_port>:<container_port> --gpus all --name <container_name> <image_name>

-i: 상호 입출력
-t: tty 활성화, bash 셀 사용
-p: port forwarding 지정, <server_port>에 외부에서 접속할 port, <container_port>에 docker 내부에서 접속할 port를 지정
-gpus: docker는 gpu를 container마다 다르게 할당해 줄 수 있음. gpus 뒤에 all 입력시 전체 다 사용, "device=0", "device=0,1" 이런 식으로 입력시 CUDA에 입력하는 것처럼 gpu를 할당해줄수 있음.

--name: container의 이름 지정, <container_name>은 container의 이름, <image_name>은 image의 이름

Docker 컨테이너 접속

docker attach <container_name>
docker exec -it <container_name> bash

 

exec과 run의 차이: exec는 현재 작동중인(ps명령어 list에 컨테이너 목록이 나올때) 컨테이너에만 접속가능.

attach와 exec의 차이: attach는 직접 컨테이너에 접속하는 개념 / exec는 컨테이너에 명령어를 전달하는 개념

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.