2019년 5월 12일 일요일

Docker를 위한 Linux 배포판 - Alpine Linux

Alpine linux
-> musl libcbusybox 기반의 보안을 우선적으로 생각하는 경량 배포판입니다.

우리의 목적은 Docker의 Hosting 환경으로 이 배포판을 설치하고, 간단한 container를 배포해 보는 것입니다.

설치 파일 다운로드

URL : https://alpinelinux.org/downloads/
위의 URL에 접속해 보면, 다양한 설치 파일의 종류에 놀랄 것입니다.
각 카테고리 별로 설명을 하면 다음과 같습니다.

[STANDARD] - 표준 설치 관련된 이미지 , 네트워크 연결이 필수입니다.
[EXTENDED] - 많이 사용되는 패키지가 포함되어 있으며, 라우터 및 서버에 적합합니다.
[NETBOOT] - 네트워크 부팅 이미지입니다.
[MINI ROOT FILESYSTEM] - 컨테이너에 사용하기 적절한 최소한의 Root File 시스템입니다.
[VIRTUAL] - 가상시스템에 최적화 되어 있습니다.
[XEN] - Xen 하이퍼바이저 지원이 내장되어 있습니다.
[RASBERRY PI] - 라즈베리파이를 위한 이미지입니다.
[GENERIC ARM] - 일반적인 ARM 시스템을 위한 이미지 입니다.

우리는 일반적인 용도에 해당하므로 STANDARD의 x86_64를 다운로드 하여 설치를 진행하도록 하겠습니다. 이 글을 쓰는 현재 시점의 최신 버전은 3.9.3입니다.

현재 저희가 선택한 기본 이미지는 내부에 설정되거나 준비된 파일이 별로 없습니다. 그래서 반드시 네트워크 연결이 선행되어야 합니다.



위의 이미지는 실제 설치 관련 사항을 Capture 한 것입니다.
기본적인 선택은 위의 선택지 대로 선택하시면 크게 문제없이 설치가 가능하실 것입니다.
설치가 완료되었다면,
alpine 리눅스에 docker를 설치하도록 하겠습니다.


docker를 설치하기 위해서는 Community 레파지토리를 추가해야 합니다.
이를 위해서는 /etc/apk/respositories 파일에

http://dl-cdn.alpinelinux.org/alpine/latest-stable/community


항목을 추가하고, 

apk update를 수행합니다.
docker를 설치하기 위해서, apk add docker 명령을 수행합니다.
docker가 데몬모드로 수행되도록 설정하기 위하여, 
rc-update add docker boot를 수행합니다.
설치 완료 후에 수동으로 데몬을 수행하기 위하여 
다음을 수행합니다. -> 귀찮으시면, 이 단계를 생략하고 reboot 하시면 됩니다.
service docker start

이상의 과정을 수행하는 화면이 다음에 있습니다. 



이제 docker의 설치가 완료되었습니다. 
이제 까지의 설치를 통해 docker는 시스템이 시작될 때 자동으로 실행되고, 현재 daemon모드로 실행되고 있습니다.

이제, 간단한 docker 이미지를 다운로드하여 실행해 보겠습니다.
docker에서의 일반적인 예제인 hello-world를 실행하겠습니다.
이미 docker 설치가 완료되어 있기 때문에 다음과 같이 실행하시면, 
docker의 hello-world가 다운로드되어 실행되는 것을 볼 수 있습니다.
# docker run hello-world
실행 결과는 아래와 같습니다.

추가 도구의 사용이나, docker 자체에 대한 것은 저의 다른 글 들에 정리해 두었습니다.

다음에는 다른 배포판인 CoreOS에 대해서 알아보겠습니다.

댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

쿠버네티스 네트워크 정리

본 문서는 쿠버네티스의 공식문서( https://kubernetes.io/docs/concepts/cluster-administration/networking/ )의 일부를 번역하고 링크를 정리하여 붙이는 것에서 시작한 문서입니다. 일부 링크는 ...