[Docker] 도커 이미지

Server The SOPT·2022년 7월 21일
0

✏️작성자 : 유송경

0. 도커 허브 (Doker hub)

도커가 공식적으로 제공하고 있는 이미지 저장소. 깃헙에 코드를 올리는 것처럼 도터 허브에 이미지 업로드 가능.

도커 허브 사이트에 직접 방문하거나, 도커 엔진에서 'docker search' 명령어를 사용해 원하는 이미지 탐색 가능함.

1. 도커 이미지 생성

사용자가 직접 특정 애플리케이션을 위한 개발 환경 구축 후 이미지 생성하는 경우 사용.

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

docker commit \ 
-a "hyositive" -m "docker image by commit!" \
test_container \
test_container:first

위의 명령어를 통해 test_container 컨테이너를 test_container:first라는 이름의 이미지로 생성 가능!

docker images 명령어로 생성된 도커 이미지 확인 가능함.

2. 도커 이미지의 구조

docker inspect 명령어는 네트워크, 볼륨, 이미지 등 모든 도커 단위의 정보를 얻을 때 사용함.

Layers 항목을 보면, 이미지의 레이어 구조를 파악 가능!

도커 컨테이너에서 변경 사항 commit 시에, 컨테이너에서 변경된 사항을 새로운 레이어로 지정하고, 기존 컨테이너에 기존 레이어를 포함해 새로운 이미지 생성.

3. 도커 이미지 삭제

docker rmi test_container:first // 이미지 삭제
docker stop test_container2 && docker rm test_container2 // 실행중인 컨테이너 중지 및 삭제

이미지를 사용중인 컨테이너가 있을 경우, 컨테이너를 중지 및 삭제 한 이후에 이미지 삭제 가능!

해당 이미지를 기반으로 하는 하위 이미지가 존재할 경우, 이미지를 삭제했다고 해서 실제로 해당 이미지의 레이어 파일이 삭제되지는 않고 레이어에 부여된 이름만 삭제됨 ㅠㅠ

4. 도커 이미지 추출

docker save -o myDockerImage.tar ubuntu:14.04 // myDockerImage라는 이름의 파일 생성
docker load -i myDockerImage.tar // 파일을 로드해 도커 엔진에 이미지 생성

도커 이미지를 단일 파일로 저장하는 것은 효율적인 방법은 아님! (레이어 구조화의 효용이 사라짐)

5. Docker hub로의 push / pull

docker push/pull REPOSITORY/IMAGE:TAG

docker push hyositive/test_container:first // Push
docker pull hyositive/test_container:first // Pull
profile
대학생연합 IT벤처창업 동아리 SOPT 30기 SERVER 파트 기술 블로그입니다.

0개의 댓글