이미지 조작
현디렉토리의 Dockerfile로 이미지를 빌드
docker build ./ docker build -t REPOSITORY[:TAG] ./
빌드를 처음부터 재실행
docker build --no-cache .
컨테이너로부터 이미지 작성
docker commit CONTAINER[:TAG] IMAGE[:TAG] // 컨테이너는 미리 종료시켜 둘 것
이미지빌드시의 명령어를 확인(Dockerfile정보)
docker history IMAGE
다운로드한 이미지 리스트 출력
docker images
URL로 부터 이미지를 읽어들이기
docker import url REPOSITORY[:TAG]
URL의 파일을 이미지 내의 PATH에 생성
docker insert IMAGE URL PATH
파일을 이미지로 읽어들이기
docker load < image_filename.tar
이미지 다운로드
docker pull IMAGE_NAME docker pull IMAGE_NAME:TAG
이미지 삭제
docker rmi IMAGE // 삭제할 이미지 이름을 열거 docker rmi $(docker images | grep '<none>' | awk '{print$3}') // 태그가 없는 이미지를 모두 삭제한다
이미지를 파일로 출력
docker save IMAGE > image_filename.tar
이미지 검색
docker search TERM
이미지에 태그 생성
docker tag IMAGE[:TAG] NEWIMAGE[:TAG]
컨테이너 조작
기동중인 컨테이너에 접속
1 | docker attach CONTAINER // exit로 종료하면 컨테이너도 중지 |
컨테이너 내의 파일을 로컬에 복사
1 | docker cp CONTAINER:/remote/path/remote_filename /local/path/local_filename |
이미지로부터 컨테이너 작성
1 | docker create IMAGE |
컨테이너 작성후 이미지로부터 변경된 파일 확인
1 | docker diff CONTAINER |
컨테이너 내의 이벤트를 감시(기동/정지/작성 등)
1 | docker events |
컨테이너 내의 COMMAND 실행
1 | docker exec CONTAINER COMMAND |
컨테이너 내의 COMMAND를 대화식으로 실행
1 | docker exec -it CONTAINER COMMAND |
컨테이너를 파일로 출력
1 | docker export CONTAINER > container_filename.tar |
컨테이너의 상세정보 확인
1 | docker inspect CONTAINER |
format옵션을 이용하면 출력정보를 제어할 수 있다.
컨테이너 stdout을 확인
1 | docker logs CONTAINER |
컨테이너와의 포트 전송 설정을 확인
1 | docker port CONTAINER |
컨테이너 리스트 확인
1 | docker ps // 실행중인 컨테이너만 출력 |
컨테이너 삭제
1 | docker rm CONTAINER [CONTAINER...] // 삭제할 컨테이너 이름을 열거 |
이미지로부터 컨테이너 기동
1 | docker run -itd IMAGE // 컨테이너를 만들어 띄우기만 할 뿐 |
로컬 디렉토리에 컨테이너 디렉토리를 mount 시키기
1 | docker run -it -v /var/www:/var/html IMAGE /bin/bash |
로컬 포트 통신을 컨테이너 포트에 전송시키기
1 | docker run -it -p 8080:80 IMAGE bash |
컨테이너 기동/정지/재시작
1 | docker start CONTAINER |
컨테이너에서 실행 중인 프로세스 확인
1 | docker top CONTAINER |