Search
Duplicate

Alpine

Tags
Setting
가상 환경
Inception 과제에서 요구하는 문서 작성일 기준 Release 비교
Alpine
Debian
크기
아주 가벼움
상대적으로 무거움
사용 용도
컨테이너 및 임베디드 환경
데스트탑 및 서버
패키지 관리
apk(Alpine Package Keeper)
apt(Advanced Package Tool)
패키지 지원
상대적으로 적음
다양한 패키지 제공
보안 및 업데이트
빠른 보안 업데이트가 특징
보안은 신속하지만 복잡함
사이트
Dockerfile 모범 사례에 아래와 비슷한 문구가 있어서 저는 Alpine을 선택했습니다.
가상 머신은 apline 연습 겸 “apline 위의 도커 위의 apline 위의 mariadb” 설치해보고 싶었어요.
가능하다면 최신 공식 이미지를 이미지의 기초로 사용하세요. 엄격하게 제어되고 크기가 작으면서도(현재 6MB 미만) 여전히 완전한 Linux 배포판인 Alpine 이미지를 권장합니다.

Alpine

SSS 배포판 원칙에 따라 만든 보안 지향의 경량 Linux 배포판
1.
SMALL
musl libc 및 Busybox를 기반으로 구축되어 규모가 작고 리소스 효율성이 매우 높다.
컨테이너는 8MB 이하가 필요하며 디스크에 설치하려면 약 130MB의 공간이 필요하다.
2.
SIMPLE
OpenRc init system
/sbin/setup-* 스크립트 기반 설정
apk(alpine package keeper) 자체 패키지 관리자
3.
SECURE
모든 사용자 영역 바이너리는 스택 스매싱 보호 기능을 갖춘 PIE(Position Independent Executables)로 컴파일 된다. 이러한 사전 예방적 보안 기능은 제로데이 및 기타 취약점의 전체 클래스 악용을 방지한다.

이미지 다운로드

standard
네트워크를 요구하는 최소 설치 이미지
extended
추가 패키지를 포함하여 standard 설치
virtual
가상 환경에 최적화된 다른 커널을 사용하는 standard 이미지
netboot
PXE와 함께 사용하기 위한 넷부트 이미지.
xen
xen dom0 설치에 사용되는 특수 이미지
최소 하드웨어 요구사항 (x86_64 기준)
RAM: 설치 시 320MB 이상, GUI 데스크탑 구성 시 최소 512MB, 권장 8GB
Storage: 설치 시 1GB 이상
localhost login: root # 전체 설정 $ setup-alpine # interfaces, openssh 등 기본 설치 # Select keyboard layout : us # Select variant : us # system hostname : minjungk.42.fr # ... # ........ 기본 iso 이미지는 RAM에 설치되므로 디스크 연동 필요! # Which disk(s) would you like to use? : sda # How would you like to use? : sys # Erase the abod disk(s) and continue? : y # GUI 데스크탑 설정 $ setup-xorg-base $ rc-update add hwdrivers sysinit $ rc-update add mdev sysinit $ setup-desktop # 한글 설정 $ apk add musl-locales $ locale -a | grep ko_KR ko_KR # 없으면 lang xfdesktop-lang 설치해보기 $ vi /etc/profile.d/locale.sh # 또는 ~/.profile export LANG=ko_KR.UTF-8 # 한글 깨짐 (폰트 설치) $ mkdir /usr/share/fonts/nanumfont $ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip $ unzip NanumFont_TTF_ALL.zip -d /usr/share/fonts/nanumfont $ fc-cache -fv # ISO 이미지 제거 후 재부팅 $ reboot
Shell
복사
GUI 설치가 완료되지 않은 경우 setup-desktop 한 번 더 호출하고 재부팅하면 보통 해결됨!

openssh 설정

setup-alpine 기본 값으로 자동으로 설치되지만 virtual machine에서 네트워크를 Bridge로 설정해줘야 ssh로 접속이 가능합니다. born2beroot에서 설정한 것 처럼 해줍시다.
# IP 재설정 $ setup-interfaces Which one do you want to initialize? (or '?' or 'done') [eth0] eth0 Ip address for eth0? (or 'dhcp', 'none', '?') [192.168.10.238] dhcp Do you want to do any manual network configuartion? (y/n) [n] n $ rc-service networking restart $ ifconfig .... 10.11.4.2 ... . # 이제 ssh minjungk@10.11.4.2 명령으로 알파인 원격 접속 가능
Shell
복사

볼륨 마운트

평가 때 마다 파일을 옮겨주기 귀찮으므로 자동 볼륨 마운트 설정
VirtualBox에서 공유 폴더 설정
Folder Name
goinfre
Folder Path
/Users/minjungk/goinfre
Mount point
/media/goinfre
볼륨 마운트 (일회성)
부팅 시 자동 마운트 설정
마운트 옵션 참고
$ mkdir /media/goinfre $ vi /etc/fstab goinfre /media/goinfre vboxsf defaults,uid=1000 0 0 $ reboot
Shell
복사

도커 설치

docker-compose 명령어는 deprecated 돼서 docker compose를 사용해야 함
$ apk add docker docker-compose docker-cli-compose $ rc-update add docker # enable $ rc-service docker start # start $ rc-status $ addgroup minjungk docker # 사용자에게 도커 실행권한 부여
Shell
복사

추가 설치

make & sudo 설치
$ apk add make $ apk add sudo $ visudo minjungk ALL=(ALL:ALL) ALL
Shell
복사
한글이 두부(tofu)로 나오면서 깨지는 현상으로 인해 locale 설정 필요
# 한글 설정 $ apk add musl-locales $ locale -a | grep ko_KR ko_KR # 없으면 lang xfdesktop-lang 설치해보기 $ vi /etc/profile.d/locale.sh # 또는 ~/.profile export LANG=ko_KR.UTF-8 # 한글 깨짐 $ mkdir /usr/share/fonts/nanumfont $ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip $ unzip NanumFont_TTF_ALL.zip -d /usr/share/fonts/nanumfont $ fc-cache -fv
Shell
복사