일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- pip
- YOLO
- JSON
- Linux
- 컨테이너
- C
- C#
- nvidia-smi
- Numpy
- label
- pandas
- 채보
- Visual Studio
- Python
- 프로그래머스
- paramiko
- windows forms
- error
- 오류
- Selenium
- mysql
- Docker
- 핑거스타일
- OpenCV
- 기타 연주
- SSH
- pytorch
- C++
- ubuntu
- VS Code
- Today
- Total
기계는 거짓말하지 않는다
Docker 이미지 레이어(layer) 병합(Merge), 이미지 압축 본문
Docker 이미지의 레이어가 많이 쌓여있고, 이미지 크기가 커졌다면 병합할 수 있는 방법이다.
Docker 이미지의 history를 확인하면 Dockerfile에서 생성되거나
컨테이너에서 생성된 이미지의 명령어 히스토리를 볼 수 있다.

docker inspect 명령어를 확인하면 적용된 환경 변수(Env)도 확인이 가능하다.
Dockerfile이 존재한다면 명령어들만 수정하여 이미지를 새로 빌드 하면 되지만
Dockerfile 없이 컨테이너로 이미지를 생성했다면, 아래와 같은 방법을 사용할 수 있다.
우선 빈 도커 이미지를 생성한다.
빈 도커 이미지(empty docker image) 생성
Docker Hub에서 제공하는 빈 이미지인 scratch를 사용하여 빈 도커 이미지를 생성할 수 있다. Link: Docker Hub scratch scratch - Official Image | Docker Hub This image is most useful in the context of building base images (such as de
machine-does-not-lie.tistory.com
그 후 Dockerfile을 작성한다.
컨테이너를 생성할 때 적용된 환경 변수와 필요한 명령어도 꼭 넣어주어야 하기 때문에
docker inspect 명령어로 확인하여 작성한다.
# 현재 존재하는 컨테이너 기반 이미지 FROM exists_image:0.1 as initial # 빈 이미지 FROM empty_image COPY --from=initial / / CMD ["/bin/bash", "-i"] # 적용할 환경 변수, 명령어 등등 ENV ... RUN ... ...
작성 후 docker build 명령어로 이미지를 다시 빌드하고 생성된 이미지의 레이어와 이미지 크기를 확인한다.
ex) docker build -t exists_image:0.2 -f Dockerfile.custom /path/to/Dockerfile_directory
'Container Tools > Docker' 카테고리의 다른 글
Docker 컨테이너 내부 한글 locale UTF-8 환경 변수 설정 (0) | 2024.07.14 |
---|---|
Ubuntu Docker daemon 기본 runtime nvidia 변경 (0) | 2024.03.22 |
빈 도커 이미지(empty docker image) 생성 (0) | 2024.02.25 |
Docker 컨테이너 이미지로 저장, 이미지 백업, 이미지 불러오기 (commit, save, load) (0) | 2023.02.28 |
Docker ps 출력 포맷 설정 (0) | 2023.02.25 |