본문 바로가기

#모의해킹/Docker

[Docker] 도커 이미지 관리

반응형

docker images

 

도커 이미지 목록

4rensic01.tistory.com/166

이미지를 다운로드할 때 출력되는 Pull complete 값은 레이어 데이터에 해당된다. 도커 이미지는 레이어로 구성되어있다. 이미지를 다운받으면 레이어들은 독립적으로 저장되고 절대로 변하지 않는다. 레이어들이 저장되어 있는 곳을 찾기 위해 스토리지 드라이버를 검색해보았다. overlay2 드라이버가 나오는 것을 확인할 수 있다.

docker info | grep Storage

 

도커 스토리지 드라이버

도커 이미지 레이어 데이터는 /var/lib/docker/image/overlay2/layerdb/sha256 디렉토리에 저장된다. 레이어를 확인해보면 위의 도커 이미지 목록에서 IMAGE ID와는 전혀 다른 데이터가 나왔다. , 이이미지 다운로드했을 때 나왔던 레이어 값들이기 때문이다.

 

도커 이미지 레이어 데이터


도커 이미지 push

위에서 이미지를 다운로드(pull)하는 방법을 알아보았다. 이제 업로드(push)와 이미지 생성(commit) 방법에 대해 알아본다. 도커 이미지는 Docker hub에 등록하거나 Docker Registry 저장소를 직접 만들어서 관리할 수 있다. 기본적으로 Docker hub에서 이미지를 내려 받고, 배포할 수 있다. 우선 Docker hub에 가입한 후 Repositories에서 Create Repository를 한다.

 

create repository

다음은 나만의 이미지를 만들려면 Dockerfile을 만들어야 한다

From은 기반이 되는 이미지 레이어이다. RUN은 도커 이미지가 생성되기 전에 수행할 쉘 명령어이다. EXPOSE는 호스트와 연결할 포트 번호이다.

 

Dockerfile 생성

앞서 만든 Dockerfile을 가지고 나만의 이미지를 만들면 된다.

sudo docker build -t dockertest:0.0 .

 

도커 이미지 빌드

여기서 dockertest는 이미지 이름이고, 0.0은 버전 태그이다. 맨 마지막의 . 은 현재 있는 폴더의 Dockerfile을 사용한다는 뜻이다. 빌드가 끝나면 docker images 명령어로 dockertest가 생성된 것을 확인할 수 있다.

 

새로 생성된 도커이미지

이제는 이미지를 배포할 차례이다. 현재 dockertest이미지는 로컬에만 존재해 있다. 이미지를 배포하기 위해 docker login을 해야 한다.

 

도커 로그인

 

그 다음 태그를 달아 이미지를 생성하면 된다.

sudo docker tag dockertest:0.0 [Login ID]/docker_test:0.0

 

여기까지 했다면 push 명령어로 배포를 하면 된다.

sudo docker push [Login ID]/docker_test:0.0

 

도커 이미지 배포

이미지를 배포까지 완료했다면 Docker hub 페이지에서 확인하면 아래와 같이 이미지가 올라와 있는 것을 볼 수 있다.

 

Docker hub 이미지 배포 완료

 

반응형

'#모의해킹 > Docker' 카테고리의 다른 글

[Docker] 도커 환경 구성 및 이미지 생성  (0) 2021.01.25