-----이미지 관련 명령어-----
이미지 목록 보기
$ docker images
이미지 검색
$ docker search [이미지 이름]
이미지 받기
$ docker pull [이미지 이름]:[버전]
버전에 latest를 쓰면 최신 버전
이미지 삭제
$ docker rmi [이미지 id]
-f 옵션 : 컨테이너도 같이 강제 종료
----- 컨테이너 관련 명령어 -----
컨테이너 목록 보기
$ docker ps
-a 옵션 : 모든 컨테이너 보기
-q 옵션 : 컨테이너의 id만 추출
컨테이너 실행(create + start)
$ docker run [options] 이미지명[:TAG|@DIGEST] [COMMAND] [ARG...]
options
-d : 백그라운드 모드
-p : 호스트와 컨테이너의 포트 연결
-v : 호스트와 컨테이너의 디렉토리 연결
-e : 컨테이너 내에서 사용할 환경변수 설정
--name : 컨테이너 이름 설정
-i : 상호 입출력
-t : tty를 활성화하여 bash셀을 사용
--rm : 프로세스 종료시 컨테이너 자동 제거
--link : 컨테이너 연결 [컨테이너 명:별칭]
ex) docker run -i -t --name test ubuntu:latest /bin/bash
컨테이너 시작
$ docker start [컨테이너 id 또는 name]
컨테이너 재시작
$ docker restart [컨테이너 id 또는 name]
컨테이너 접속
$ docker attach [컨테이너 id 또는 name]
컨테이너 접속 후 나오는 법 : exit 또는 ctrl + D
컨테이너를 종료시키지 않고 나오는 법 : ctrl + P, Q
외부에서 컨테이너 내부에 명령어 실행
$ docker exec [컨테이너 id 또는 name] [명령어]
컨테이너 정지
$ docker stop [컨테이너 id 또는 name]
컨테이너 삭제
$ docker rm [컨테이너 id 또는 name]
모든 컨테이너 삭제하는 방법2가지
$ docker container prune
$ docker rm $(docker ps -a -q)
컨테이너 이름 변경
$ docker rename [기존이름] [변경할 이름]
컨테이너 -> 이미지로 재생성
$ docker commit [기존container명] [새로운 이미지이름]
----- 이미지, 컨테이너 공통 명령어 -----
이미지 히스토리 보기
$ docker history [container/image]
이미지 상세 정보 보기(json 형태)
$ docker inspect [container/image]
참고