이미지 조작

현디렉토리의 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]

이미지 Repository에 PUSH하기

docker push IMAGE[:TAG]

이미지 컨테이너 모두 삭제

docker system prune -a


컨테이너 조작

기동중인 컨테이너에 접속

docker attach CONTAINER               // exit로 종료하면 컨테이너도 중지
docker exec -it CONTAINER /bin/bash   // exit로 종료해도 컨테이너는 실행

컨테이너 내의 파일을 로컬에 복사

docker cp CONTAINER:/remote/path/remote_filename /local/path/local_filename

이미지로부터 컨테이너 작성

docker create IMAGE
docker create --name NAME IMAGE

컨테이너 작성후 이미지로부터 변경된 파일 확인

docker diff CONTAINER

컨테이너 내의 이벤트를 감시(기동/정지/작성 등)

docker events

컨테이너 내의 COMMAND 실행

docker exec CONTAINER COMMAND

컨테이너 내의 COMMAND를 대화식으로 실행

docker exec -it CONTAINER COMMAND

컨테이너를 파일로 출력

docker export CONTAINER > container_filename.tar

컨테이너의 상세정보 확인

docker inspect CONTAINER
docker inspect  --format="{{.NetworkSettings.IPAddress}}" CONTAINER

format옵션을 이용하면 출력정보를 제어할 수 있다.

컨테이너 stdout을 확인

docker logs CONTAINER

컨테이너와의 포트 전송 설정을 확인

docker port CONTAINER
docker port CONTAINER PRIVATE_PORT

컨테이너 리스트 확인

docker ps       // 실행중인 컨테이너만 출력
docker ps -a    // 정지중인 컨테이너를 포함
docker ps -aq   // 컨테이너의 해쉬 리스트만 출력

컨테이너 삭제

docker rm CONTAINER [CONTAINER...] // 삭제할 컨테이너 이름을 열거
docker rm $(docker ps -aq)         // 모든 컨테이너 삭제

이미지로부터 컨테이너 기동

docker run -itd IMAGE                        // 컨테이너를 만들어 띄우기만 할 뿐
docker run -it IMAGE /bin/bash               // 이름이 없으면 자동으로 부여됨
docker run -it --name NAME IMAGE /bin/bash   // 이름을 붙이고 bash 접속

로컬 디렉토리에 컨테이너 디렉토리를 mount 시키기

docker run -it -v /var/www:/var/html IMAGE /bin/bash   
// 로컬 디렉토리 /var/www를 컨테이너의 /var/html에 mount

로컬 포트 통신을 컨테이너 포트에 전송시키기

docker run -it -p 8080:80 IMAGE bash
// 로컬 포트 8080을 컨테이너 포트 80에 전송시킨다.
// httpd 컨테이너를 띄우면 기본 80 포트로 listening을 하고 있으므로
// 접속할 때에는 브라우저에서 http://xx.xx.xx.xx:8080 으로 접속한다.

컨테이너 기동/정지/재시작

docker start CONTAINER
docker stop CONTAINER
docker restart CONTAINER

컨테이너에서 실행 중인 프로세스 확인

docker top CONTAINER
  • No labels

1 Comment

  1. Anonymous

    priligy generic It is home to the mayorГў
    1. You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.