$ docker -v
사용하고자 하는 프로세스를 실행하기 위한 image 필요
Docker Hub에 다양한 image가 존재
Docker Hub를 통해 내가 필요한 설정을 image로 만들어 upload 할 수 있음
Docker image 확인
현재 download한 image를 확인하는 방법
$ docker images
위의 명령어를 터미널 창에 입력하면 아래 그림과 같이 현재 존재하는 image 목록을 확인할 수 있음
$ docker pull tensorflow/tensorflow:2.11.0-gpu
ex) ubuntu$ docker pull ubuntu:latest
Docker container 생성
$ docker run --gpus all -it -v [현재 컴퓨터(서버)의 경로]:[container 내부의 경로] -p [컴퓨터(서버)의 port / container 외부에서 접속하려는]:[container 내부 연결 port] --name [사용하려는 container 이름][image 이름]:[tag][/bin/bash]
$ docker run --gpus all -it -v /home/user/Desktop:/home/workspace -p 8888:8888 tensorflow/tensorflow:2.10.0-gpu /bin/bash
옵션들의 순서는 상관 없음
-- gpus : gpu를 container 내에서 사용할 수 있도록 설정
gpus 다음엔 gpu 번호를 할당, all을 쓸 경우 모든 gpu 사용 가능
-it : 키보드를 사용할 수 있도록 설정 (container 내부에서 command 입력 가능하도록)
-v : container의 폴더 경로와 host 컴퓨터 폴더 경로를 mount
-v 옵션을 걸어줘야 서로 연결됨
-p : container와 host 컴퓨터의 포트를 매핑
\bin\bash : 이걸 해줘야 command 입력이 자유롭다
나중에 container 이름 변경 가능
$ docker rename [현재 이름] [바꿀 이름]
동작 중인 container 목록 확인
현재 동작 중인 container의 정보를 확인할 수 있음
즉, stop 상태인 container의 정보는 출력하지 않음
$ docker ps
모든 container 목록 확인
존재하는 모든 container의 목록 및 정보를 확인
stop 상태인 container의 정보도 포함한 모든 container의 정보를 출력
$ docker ps -a
container 실행 및 중지
container를 사용하기 위해선 먼저 실행이 필요
모든 작업 후 container 작동을 멈춤
container 실행
$ docker start [container name]
container 실행 중지
$ docker stop [container name]
container 접속 ver 01
attach
현재 실행시킨 터미널 창에서 사용하는 방식
직접 연결된 상태
$ docker attach [container name]
현재 실행 중인 container를 종료하지 않고 나오는 방법
ctrl+p+q
attach로 container에 붙은 경우 exit를 사용하여 container 외부로 나오면 container의 모든 동작을 멈춘 후 종료하게 됨
container 접속 ver 02
exec
container를 실행 시킨 터미널 창 외의 새로운 터미널 창으로 해당 container를 사용할 수 있음
container 내에 새롭게 접근할 수 있도록 연결
$ docker exec -it [container name] /bin/bash
exec로 접속하게 되면 별로의 연결을 생성해준 것이기 때문에 exit을 통해 container를 실행시킨 채로 container 외부로 나올 수 있음