Docker 명령어 정리

2022. 3. 27. 00:51·AI & 빅데이터
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

 

도커 컨테이너 모두 삭제하기

  1. 모두 삭제docker rm -f $(docker ps -aq)
  1. 실행 중인 컨테이너를 제외하고 중지되어 있는 모든 컨테이너 제거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 파일 전송

  1. Docker → 로컬docker cp [복사할 파일의 로컬 경로] [컨테이너명]:[복사할 경로]
  2. ex) docker cp test.py cuda_pytorch:/test.py
  1. 로컬 → 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
'AI & 빅데이터' 카테고리의 다른 글
  • [빅데이터 시스템 구축] HDFS란?
  • [빅데이터 시스템 구축] Hadoop, Hadoop Ecosystem
  • Anaconda 명령어
  • Visual Studio에 Docker 연동하기
kiminae
kiminae
공부한 내용을 정리합니다.
  • kiminae
    데이터 다루는 사람
    kiminae
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • AI & 빅데이터 (6)
        • kafka (10)
        • [Book] 빅데이터를 지탱하는 기술 (12)
      • 알고리즘 (19)
      • 알고리즘 문제풀이 (13)
        • programmers (0)
        • 백준 (1)
        • LeetCode (12)
      • Android (3)
      • Book&Lesson (13)
        • [Lesson] 프로그래머스 커뮤러닝 (Pyth.. (1)
      • 참고한 글들 (1)
      • 컨퍼런스 정리 (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    시간복잡도
    Algorithm
    버블정렬
    알고리즘문제
    ViewModel
    BI도구
    hadoop
    정렬알고리즘
    알고리즘풀이
    추천알고리즘
    카프카클라이언트
    데이터시각화
    leetcode
    개인화추천
    릿코드
    트리
    데이터엔지니어
    DP문제
    정렬
    카프카
    MPP데이터베이스
    mvvm
    파이프라인구축
    Kafka
    알고리즘
    빅데이터
    머신러닝
    리트코드
    sort
    빅데이터를지탱하는기술
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
kiminae
Docker 명령어 정리
상단으로

티스토리툴바