Docker Environment - Image, Container
vscode에 docker 설치: vscode 익스텐션 중 Docker, Dev Containers 설치
sudo usermod -aG docker $USER
sudo usermod -aG docker semyu
sudo reboot
# 원격 image 다운로드
docker pull pytorch/pytorch:latest
# image name은 <Repository>:<Tag> 꼴
# image 목록 확인
docker images
# image 삭제
docker rmi 0x3f3fsc # <Image ID>
# image를 압축파일로 저장
docker save -o ddrf.tar pytorch/pytorch:latest
# image 압축파일 다운로드
# docker save -> docker load
docker load -i ddrf.tar
docker run -it --gpus all -n colmap -v /home/semyeong/data:/workdir/data pytorch/pytorch:latest /bin/bash
#############################################################################################
# -it: 종료 없이 container 탈출 가능(iterative terminal)
# --gpus all: container 내부에서 GPU 쓸 수 있도록 (nvidia toolkit이 설치돼있어야 함)
# -n: container name
# -v: host directory를 container 내부에 mount하여 폴더 공유 (<host_path>:<container_path> 꼴)
# /bin/bash: container 생성할 때 시작할 process
#############################################################################################
docker commit e3df03c colmapv2 # <현재 container ID> <new image name>
docker run -it -v /home/semyeong/data:/workdir/data colmapv2 /bin/bash
docker ps # 현재 띄워져 있는 container만
docker ps -a # 종료된 container까지
docker ps -a --filter ancestor=ddrf:latest # 특정 container 검색
docker rename old_name new_name
docker start colmap
docker attach colmap
container 종료하지 않고 탈출 :
Ctrl+P > Ctrl+Q
container 종료 :
Ctrl+D 또는 exit
docker rm colmap
docker cp /home/semyeong/data/a.png colmap:/workdir/data/a.png
# docker cp <source_file> <container_name>:<container_path>
docker commit -p e3df03c colmapv2 # <현재 container ID> <new image name>
docker export colmap > ddrf.tar
docker export e3df03c > ddrf.tar
# docker export -> docker import
docker import ddrf.tar ddrf:v1 # <Repository>:<Tag>