개발 일기

docker image (2) 본문

컨테이너/Docker

docker image (2)

이건욱

docker image build :)

Dockerfile에 기술된 구성을 따라 도커 이미지를 생성하는 명령어입니다.

docker image build -t 이미지명[:태그명] Dockerfile의_경로

-t = 이미지명과 태그명을 붙입니다.

-f = 기본적으로 Dockerfile이라는 이름으로 된 Dockerfile을 찾습니다. 하지만 이 이름말고 다른 이름으로 된 Dockerfile을 사용하려면 이 옵션을 사용해야 합니다. ex) -f Dockerfile-gunwook

--pull = FROM에서 받아온 이미지는 호스트 운영 체제에 저장됩니다. 그래서 이미지를 빌드 할때마다 베이스 이미지를 받아 오지 않습니다. 만약에 매번 베이스 이미지를 받고 싶을 때에는 이 옵션을 사용하면 됩니다. ex) --pull=true

 

$ docker image build -t docker/gunwook:latest .

docker search :)

도커 허브는 도커 이미지 레지스트리로 , 깃허브 처럼 도커 이미지를 관리할 수 있습니다.

여기에서 도커 허브에 등록된 리포지토리를 검색 하고 싶을 때 docker search을 사용합니다.

예를 들어 mongo로 검색을 할 경우에 다음과 같이 나옵니다.

검색 결과는 STARS 순으로 출력이 되어지고 mongo에 네임스페이스가 생략돼어 있는데 이 리포지토리가 mongo에 공식 리포지토리이기 때문입니다.

 

docker image pull :)

도커 레지스트리에서 도커 이미지를 받기 위해서는 docker image pull 명령을 사용합니다.

docker image pull [options] 리포지토리명[:태그명]

예를 들어 mysql 이미지를 내려받으려면 다음과 같이 할수 있습니다. ( 태그명 생략시 기본값으로 지정된 태그가 적용 (보통 latest))

$ docker image pull mysql:latest

 

docker image ls 

현재 호스트 운영 체제에 저장된 도커 이미지의 목록을 볼수가 있습니다.

docker image ls [options] [리포지토리[:태그]]

 

docker image tag

도커 이미지의 특정 버전에 태그를 붙일 때 사용됩니다.

기본적으로 이미지를 새로 빌드 했을 때 none 이라고 명시가 됩니다. 그 이유는 새로 만든 이미지가 latest 되었기 때문 입니다.

 

따라서 다음과 같이 태그를 지정해줄수 있습니다.

docker image tag 기반 이미지명[:태그] 새이미지명[:태그]

 

docker image history

해당 이미지의 Dockerfile에 대한 이전 기록을 출력합니다. 

docker image history [옵션] [이미지 이름 , ID]

옵션 

docker history --no-trunc=false [이미지 ID]
docker history -q [이미지 ID]

 

docker image prune

도커 이미지의 이름 없는 모든 이미지를 삭제합니다.

docker image [-a (전체) , -f (강제)] prune 

docker image save

도커 이미지는 보통적으로는 docker hub와 같은 registry에 push을 하고 , 이를 다시 pull 받는 식으로 진행을 합니다.

하지만 registry을 거치지 않고 이동하고 싶은 경우에 이 명령어를 사용합니다.

 

다음과 같이 사용을 하면 tar 파일로 생성을 할수가 있습니다.

$ docker image save -o [파일명.tar] [도커 이미지 ID]

 

docker image load 

tar파일로 만들어진 이미지를 다시 docker image로 변환을 시키기 위해서는 다음과 같이 사용을 할수가 있습니다.

docker image load -i [tar파일명]

docker image rmi

다음은 도커 이미지를 삭제하는 명령어 입니다.

docker rmi <저장소 이름>/<이미지 이름, ID>:<태그>

옵션은 

-f : 강제로 삭제

--no-prune=false : 태그가 없는 부모 이미지를 삭제하지 않습니다.

// 모든 이미지를 한번에 삭제
sudo docker rmi `sudo docker images -aq`

'컨테이너 > Docker' 카테고리의 다른 글

도커 컨테이너의 운영 및 관리 ?  (0) 2020.05.05
Docker Container  (0) 2020.04.21
Docker - (1)  (0) 2020.04.19
Docker UI?  (0) 2020.04.18
Docker 기본 개념 ?  (0) 2020.04.18
Comments