Docker를 통해dotfiles의 휴대성을 높이는 개발 환경 구축

Docker를 이용하여dotfiles의 휴대성을 높이는 개발 환경을 만들다


개시하다


최근dotfiles를 제작하여 생산성을 높이기 위해 분투하고 있다.
이번에는 구축과 폐기된dotfiles를 제작하면서 청결한 개발을 진행하기 위해 휴대성dotfiles를 의식하였다
dotfiles 개발 환경을 더욱 효율적으로 하기 위해서 저는 Docker를 사용하여 깨끗한 개발 환경을 구축하고 싶습니다.
왜 Docker를 사용하면 휴대성을 의식할 수 있습니까? 같은 환경에서 환경 설정을 하는 스크립트를 한 번 실행하면 초기 설정을 반영할 수 없습니다간단한 설정만 썼는데 어느새 휴대성을 잃어 이번 기사는 노트로 남아 있다.

dotfiles 정보


dotfiles란 말 그대로 dot(.)관리가 시작된 설정된 창고나 파일을 나타낸다.
Unix 시스템 OS에서 주로 사용되는 설정 파일로도 인식할 수 있습니다.
CLI로 기억하는 지령과 문법이 늘면서 지령, 문법을 보완하거나 기술문법의 두드러진 설정을 할 수 있어 조금만 설정하면 생산성과 효율을 크게 높일 수 있다.
물론 이런 설정은 매뉴얼로도 설정할 수 있지만 환경이 변할 때마다 같은 지령과 설정 파일을 묘사하면 오히려 생산성이 떨어진다.
또한dotfiles를 어렵게 만들어서 맞춤형으로 만들어도 다른 시스템과 환경에서 실행되지 않으면 의미가 없다.
이 문제를 해결하기 위해 Docker를 사용하여 환경을 제거하고dotfiles의 사용자 정의 드라이브 개발을 진행하여 효율을 높이는 것을 목표로 한다.
dotfiles에 대한 @yutkat의 글은 참고 가치가 있습니다[1].

Docker 소개


Docker는 인프라 시설 관계와DevOps 부근에서 주목받는 기술 중 하나로 Docker회사가 개발한 컨테이너형 가상 환경을 제작, 분배, 집행하는 플랫폼[2]이다.
Docker를 사용하면 무엇이 기쁜지 공유된 인코딩된 설정 파일 Docker file을 통해 어디서든 똑같은 환경을 만들 수 있고 스크랩과 구축이 쉬워서dotfiles 개발과 관련된 이상적인 환경을 얻을 수 있다.

컨디션


작업 환경(macOS)

  • macOS Big Sur 11.1
  • Zsh
  • Docker version 20.10.5, build 55c4c88
  • Docker-compose version 1.28.5, build c4eb3a1f
  • 개발 환경(Docker)

  • Ubuntu 20.04.2 LTS
  • bash
  • zsh(install 사용)
  • Docker version 20.10.5, build 55c4c88
  • Docker-compose version 1.16.1, build 6d1ac21
  • Docker 설치


    우선 이번에는 작업 환경인 MacOS에 Docker를 설치합니다.
    다음 절차에 따라 Download from Docker Hub에서 설치합니다.
    https://docs.docker.com/docker-for-mac/install/

    설치한 후 이런 화면을 표시하려면 Skip tutorial을 클릭하면 된다.
    그런 다음 Docker 설정 파일 Docker file을 만듭니다.
    임의의 위치에서 다음 내용 만들기
    $ mkdir dotfiles-vm
    $ cd dotfiles-vm
    $ touch Dockerfile
    
    Docker file에서 다음 설정을 설명합니다.
    Dockerfile
    FROM ubuntu
    
    ENV DEBIAN_FRONTEND=noninteractive
    # timezone setting
    RUN apt-get update && apt-get install -y tzdata
    ENV TZ=Asia/Tokyo
    
    RUN apt-get update \
        && apt-get install -y \
        curl \
        git \
        vim \
        zsh \
        sudo
    
    # install docker-compose
    RUN curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    RUN chmod +x /usr/local/bin/docker-compose
    
    # install docker-ce
    RUN yes | apt-get install apt-transport-https ca-certificates curl software-properties-common
    RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
    RUN yes | add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
    RUN yes | apt-get update
    RUN yes | apt-get install docker-ce
    
    이 구성 파일에는 다음이 포함됩니다.
    상호작용 케이스의 무효화, 시간대 설정, 기본 명령 설치, 도커의 보완도 도커에 도커 명령을 설치했다.
    이어서 Docker의 컨테이너를 구축한다.
    같은 디렉터리 경로에서 다음 명령을 실행합니다.
    $ docker build -t dotfiles-vm .
    

    각종 자동 설치에 성공한 후, 이어서 컨테이너를 가동한다.
    다음 명령을 실행합니다.
    $ docker run -it dotfiles-vm zsh
    
    이렇게 되면 컨테이너 안의 ubuntu의zsh가 작동할 것이다

    zsh가 시작되면 미리 만들어진dotfiles clone을 다시 만들 수도 있습니다.
    참고로 최소한의 설정으로 템플릿으로 사용할 수 있는 설정을 위한 창고를 준비했기 때문에 이 클론을 사용자 정의할 수 있습니다.
    https://github.com/Iovesophy/dotfiles-vm
    Docker 컨테이너 케이스에 들어간 상태에서 다음 명령을 실행하면 clone됩니다.
    $ cd ~
    $ git clone https://github.com/Iovesophy/dotfiles-vm.git
    
    다음 명령을 사용하여 구성 스크립트를 실행할 수 있습니다.
    $ cd dotfiles-vm
    $ ./start_setting.sh
    $ zsh
    
    스크립트를 실행하면 제시된 겉모습과 보충이 효과가 있을 것입니다.
    이렇게 하면dotfiles의 동작을 시도하면서 맞춤형 구동 개발을 진행할 수 있다.
    저도 처음 dotfiles를 만들기 시작했기 때문에 더욱 열심히 공부하고 맞춤형 제작을 하고 싶습니다.
    각주
    "dotfiles의 세계에 오신 것을 환영합니다"https://qiita.com/yutkat/items/c6c7584d9795799ee164#:~:text=dotfiles는 홈 디렉터리를 설정한 것을 말합니다.↩︎
    "Docker 입문(처음)~ Docker가 뭐, 뭐가 좋을까~"https://knowledge.sakura.ad.jp/13265/↩︎

    좋은 웹페이지 즐겨찾기