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