Docker로 배포환경을 만들기 위해 공부중이다.
명령어가 직관적이지만 옵션이 많아서 필요할 때 마다 참조하기 위해 정리한다.
ubuntu 이미지를 기준으로 정리함...
docker search ubuntu
docker pull ubuntu
docker images
docker run -t -i --name helloubuntu ubuntu:latest bin/bash
docker ps
docker attach helloubuntu
docker stop helloubuntu
docker rm helloubuntu
// Linux
docker rm $(docker ps -a -q)
// Windows
FOR /f "tokens=*" %i IN ('docker ps -a -q') DO docker rm %i
docker rmi ubuntu:latest
[이미지 이름]:[태그] 형식을 사용해도 되고 이미지 ID를 사용해도 된다.
이미지 이름만 입력할 경우 태그에 관계없이 이미지 이름만 같으면 모두 삭제된다.
// Linux
docker rmi $(docker images -q)
// Windows
FOR /f "tokens=*" %i IN ('docker images -q -f "dangling=true"') DO docker rmi %i
* 이미지를 삭제하려면 먼저 해당 이미지에서 파생된 컨테이너가 없어야 한다!
docker diff [컨테이너 ID or NAME]
어떤 이미지로 실행된 컨테이너 안의 내용의 변경되었다면, 버전 관리 시스템처럼 diff 명령어로 어떤 점이 바뀌었는지 확인할 수 있다.
docker commit [컨테이너 ID or NAME] [새로운 컨테이너 이름]:[태그]
버전 관리 시스템처럼 commit 명령어로 변경된 컨테이너를 새로운 이미지로 만들 수 있다.
docker build -t [image name:tag] -f [Dockerfile 경로]
sudo docker save -o [내보낼 경로]/[내보낼 이름] [내보낼 이미지 ID or NAME]
sudo docker load -i [이미지 파일 경로]
// 볼륨 만들기
docker volume create [VOLUME NAME]
// 볼륨 목록 보기
docker volume ls
// 특정 볼륨 상세정보 보기
docker volume inspect [VOLUME ID or NAME]
// 볼륨 삭제하기
docker volume rm [VOLUME ID or NAME]
// 사용하지 않는 볼륨 모두 삭제
docker volume prune