728x90
Docker 명령어
명령어 옵션
옵션 | 설명 | 예시 |
---|---|---|
--name | 컨테이너 이름 설정 | --name lina_shaashap |
-v | 호스트 컨테이너의 디렉토리를 연결 (마운트) [자신의 user 디렉토리] : [컨테이너의 디렉토리]로 입력하면 됨. | ex) -v /home/kia3415/share:/root/share 의 경우 user 이름은 kia3415이며 로컬의 share 폴더와 컨테이너의 root/share 폴더를 공유하도록 설정한 것. |
-d | detached mode 백그라운드 모드 | |
-p | 호스트와 컨테이너의 포트를 연결 (포워딩) | -p 8000:8000 |
-e | 컨테이너 내에서 사용할 환경변수 설정 | |
--it | -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션 (컨테이너의 표준 입력과 로컬 컴퓨터의 키보드 입력을 연결) | --it |
--rm | 프로세스 종료시 컨테이너 자동 제거 | |
--link | 컨테이너 연결 [컨테이너명:별칭] | |
- - restart | docker가 종료되면 container 또한 자동으로 종료됨. 이때 restart 옵션을 주게 되면 자동으로 docker가 실행될 때 옵션이 적용된 container도 같이 실행. 곧바로 해당 컨테이너에 접속할 수 있음. - no : container를 재시작 시키지 않는다. (default) - on-failure[:max-retries]: container가 정상적으로 종료되지 않은 경우 (exit code가 0이 아님)에만 재시작 시킨다. max-tries도 함께 주면 재시작 최대 시도횟수 지정할 수 있음 - always : container를 항상 재시작시킨다. exit code 상관 없이 항상 재시작 된다. - unless-stopped: container를 stop시키기 전까지 항상 재시작 시킨다. | - - restart=always |
- - gpus all | gpu 모두 사용하기 | |
-i | 사용자가 입출력을 할 수 있는 상태로 한다 | |
-t | 가상 터미널 환경을 에물레이션한다. |
Cuda 버전 확인
nvcc —verison
root 사용하기
sudo -s
pw 입력
빌드 명령
(현재 디렉토리에 dockerfile이 있다면)
docker build -t [이미지명] .
nvida/cuda 이미지 pull
https://hub.docker.com/r/nvidia/cuda/tags?page=1&ordering=last_updated
docker pull nvidia/cuda:11.4.1-devel-centos8
도커 구동 목록 확인
docker ps
docker ps -a
도커 이미지 삭제
docker rmi [image-id]
- 컨테이너 삭제 전 이미지 삭제docker rmi -f [image-id]
컨테이너 실행
docker exec -it [container-id] bash
도커 컨테이너 실행
생성 - docker create [image-name]
- docker create nvidia/cuda:11.4.1-devel-centos8
시작 - docker start [container-id]
내부 들어가기 - docker attch [container-id]
도커 컨테이너 한번에 생성&실행
docker run [options] [image-name]:[tag]
docker run -i -t vastai/tensorflow /bin/bash
도커 컨테이너 모두 삭제하기
- 모두 삭제docker rm -f $(docker ps -aq)
- 실행 중인 컨테이너를 제외하고 중지되어 있는 모든 컨테이너 제거docker rm $(docker ps -a -q)
도커 컨테이너 무중단 빠져나오기
Ctrl+p, Ctrl+q
컨테이너 종료
(컨테이너 안에서) exit
컨테이너 중지
docker stop [container-id]
컨테이너 삭제
docker rm [container-id]
- 컨테이너 정지 후 삭제docker rm -f [container-id]
포트 연결
docker run -it -p [port]:[port] [image-name]:[tag] /bin/bash
WSL 2 컨텍스트에서 사용할 수 있는 통계 및 리소스 (CPU & 메모리)를 비롯 하 여 Docker 설치와 관련 된 시스템 차원의 정보를 나열
docker info
공유 디렉토리를 만들어 컨테이너 생성, 실행하기
- 최종 명령어
docker run -itd --name pytorch -v /home/kia3415/share:/root/share -p 8888:8888 --gpus all --restart=always nablascom/cuda-pytorch
- docker run -itd --name ai-test -v /home/kia3415/share:/root/share -p 8888:8888 --gpus all n
Docker 파일 전송
- Docker → 로컬docker cp [복사할 파일의 로컬 경로] [컨테이너명]:[복사할 경로]
- ex) docker cp test.py cuda_pytorch:/test.py
- 로컬 → Dockerdocker cp [컨테이너명]:[복사할 경로] [복사할 파일의 로컬 경로]
docker 명령어 권한 변경해주기
sudo usermod -aG docker $USER
- 재부팅변경된 권한이 부여되기 위해 재부팅
- sudo reboot
컨테이너 안에서 jupyter 실행
jupyter notebook --ip=0.0.0.0 --allow-root
Docker 컨테이너 커밋
- 지금까지 작업한 컨테이너 그대로 저장docker commit [container-name] [image-name]
- 이후 docker images 로 이미지 확인
(2021/08/31~2021/12/17 인턴 활동을 하며 정리했던 글입니다.)
728x90
'AI & 빅데이터' 카테고리의 다른 글
[텍스트 마이닝] 카운트 기반의 문서 표현이란? (1) | 2024.02.03 |
---|---|
[빅데이터 시스템 구축] HDFS란? (0) | 2022.06.17 |
[빅데이터 시스템 구축] Hadoop, Hadoop Ecosystem (0) | 2022.06.16 |
Anaconda 명령어 (0) | 2022.04.06 |
Visual Studio에 Docker 연동하기 (0) | 2022.03.27 |