Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 개발
- 자바
- cleancode
- spring boot
- API
- ES
- 스프링
- 코드
- 애자일프로그래밍
- JPA
- Baekjoon
- 그리디알고리즘
- 그리디
- Elasticsearch
- 엘라스틱서치
- 프레임워크
- 애자일
- Spring
- 애자일기법
- database
- 백준
- 개발자
- 코딩
- Java
- 알고리즘
- 읽기쉬운코드
- 코딩테스트
- 데이터베이스
- framework
- 클린코드
Archives
- Today
- Total
튼튼발자 개발 성장기🏋️
[docker] alpine linux 이미지 만들고 실행하기 본문
반응형
Alpine linux에 대해 살짝 알아보고 가자.
알파인 리눅스는 보안/간편성/리소스 효율을 위해서 디자인된 리눅스 배포판이다.
[그림 1]과 같이 알파인 리눅스는 glibc 대신에 musl libc를 사용하게 되었는데 라이브러리의 size 차이가 많이 차이나는 사실을 알 수 있다.
docker images
상기 command로 OS 이미지의 크기를 [그림 2 ]와같이 알 수 있다. 타 OS 이미지와 비교해보았을 때 알파인이 훨신 더 경량화되어있다는 것을 알 수 있다.
이 처럼 size가 중요한 이유는 메모리/디스크 공간을 적게 잡아먹고, 로딩이 빠른만큼 앱이 올라가는 속도가 빨라진다.
하지만 많은 dependency 라이브러리가 빠져있기 때문에 멀티 스테이지 빌드 방식을 사용한다.
# Alpine linux base이미지 다운로드
wget https://github.com/alpinelinux/docker-alpine/raw/fc965e3222f368bea8e07c1c1da70b6928281a76/x86_64/alpine-minirootfs-3.15.4-x86_64.tar.gz
# 압축 해제
tar zxf alpine-minirootfs-3.15.4-x86_64.tar.gz -C alpine_root/
# 리눅스 구동하기 위한 디렉토리 구조 확인
ls -l alpine_root/
# 이미지를 빌드하기위한 docker file 생성
vim dockerFile
.......
FROM fedora
COPY ./alpine_root /
CMD ["/bin/sh"]
.......
# 기본 알파인 이미지 생성
docker build --tag alpine_fedora .
# 이미지 확인
docker images | grep alpine_fedora
# 이미지 실행/os정보 확인
docker run --rm alpine_fedora apk update
alpine linux의 이미지를 만들고 실행까지 해보았다.
반응형
'기타 > DevOps' 카테고리의 다른 글
로드 밸런서란? (0) | 2024.08.28 |
---|---|
[linux] 커널 (0) | 2023.03.31 |
[docker] 다중 운영체제 지원 (0) | 2023.03.30 |
[docker] 컨테이너 기술 (0) | 2023.03.14 |