Server/Docker

dockerfile alpine 작은 리눅스 한글 환경 설정

juhpark 2024. 5. 16. 23:03
반응형

최초 이미지 크기가 10MB 이하인 작은 alpine 리눅스에 한글 설정을 하는 dockerfile을 작성하여 사용해보자

musl-locales 패키지를 설치하고 환경설정만 하면 끝.

(기능) bash, sudo, musl-locales, vim 설치 후, 한글 사용가능한 이미지 생성

도커파일

# alpine:latest 이미지를 가져온다.
FROM alpine

# 최종이미지에서 사용할 사용자명과 패스워드
ARG USER_NAME user \
ARG USER_PASSWORD 0000

# 필요한 패키지 설치 (ssl 오류발생시 --no-check-certificate 옵션추가)
RUN apk add --no-cache bash sudo musl-locales vim

# 사용자 추가 & sudo 권한 추가
RUN adduser -D -g '' -s /bin/bash $USER_NAME &&\
    echo "${USER_NAME} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USER_NAME && \
    echo "${USER_NAME}:${USER_PASSWORD}" | chpasswd

# 한글 환경설정
RUN echo "export LC_ALL=ko_KR.UTF-8" >> /home/${USER_NAME}/.bashrc &&\
    echo "export LANG=ko_KR.UTF-8" >> /home/${USER_NAME}/.bashrc  &&\
    echo "export LANGUAGE=ko_KR.UTF-8" >> /home/${USER_NAME}/.bashrc

# 새로 설치한 vim 을 사용하도록 alias 설정
RUN echo "alias vi=vim" >> /home/${USER_NAME}/.bashrc

# vim에서 한글사용 가능하도록 환경설정
RUN echo "set encoding=utf-8" >> /home/${USER_NAME}/.vimrc &&\
    echo "set fileencodings=utf-8,euc-kr" >> /home/${USER_NAME}/.vimrc

# root로 생성된 파일을 사용자 소유로 변경
RUN chown -R ${USER_NAME} /home/${USER_NAME}

# 사용자 변경
USER $USER_NAME

# 디렉토리 변경
WORKDIR /home/${USER_NAME}

 

이미지 빌드(생성) 후 접속하기 

아래 변수에 원하는 값을 입력후, 실행하면, 40M정도의 작은 Alpine 리눅스 이미지가 생성된다. 기본적은 VIM설정과 sudo 사용이 가능한 사용자를 생성하여 이 이미지를 기초로 원하는 이미지를 만들수 있다.

# 이지지 빌드
docker build -t <이미지명>:<tag> \
   --build-arg USER_NAME=<username> \
   --build-arg USER_PASSWORD=<password> \
   .
  
# 컨테이너 실행
docker run -it --name <컨테이너명> -d <이미지명>:<tag>

# 컨테이너 실행 확인
docker ps

# 컨테이너 접속
docker exec -it <컨테이너명> bash
반응형