목적
열심히 WSL위에 Docker를 설치하고 Docker로 Ubuntu컨테이너를 만들어 zsh과 oh-my-zsh을 통해 꾸며주었다. 이 과정을 다시 반복하지 않기 위해서이미지로 저장해두는 작업을 하려고 한다.
이미지 저장은 commit을 통해서 쉽게 할 수 있으나 dockerfile을 만들어보고 제대로 동작하는지 확인하는 과정을 거쳐보려고 한다.
방법
- docker commit을 이용한 이미지 저장 ⇒ 변경하려면 앞의 모든 작업을 다시 수행
- dockerfile을 이용한 이미지 저장
commit으로 저장하기
이미지 생성
docker commit Ubuntu-20.04 ubuntu:zsh
Ubuntu-20.04라는 컨테이너를 ubuntu라는 이미지베이스에 zsh이라는 태그를 달아서 저장한다.
생성된 이미지 확인
docker images
컨테이너 동작 확인
docker run -it ubuntu:zsh
새로운 컨테이너를 생성해서 zsh이 내부테마까지 제대로 동작하는지 확인한다.
dockerfile로 저장하기
Dockerfile 만들기
touch Dockerfile
# ubuntu install FROM ubuntu MAINTAINER 9r00t RUN apt-get -y update && \ apt-get install -y git\ wget # zsh install & change shell RUN apt-get -y install zsh RUN chsh -s /usr/bin/zsh # oh-my-zsh install RUN sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # powerline install RUN apt-get -y install fonts-powerline # hack font install COPY ttf /ttf ENV TERM xterm-256color # bullet-train theme install RUN git clone https://github.com/caiogondim/bullet-train.zsh.git ~/.oh-my-zsh/custom/theme/bullet-train ENV ZSH_THEME bullet-train/bullet-train COPY .zshrc /root/.zshrc CMD ["zsh"]
Hack font 다운로드
wget
https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.zip
bullet-train 테마는 뭐가 많이 깨져서 다양한 방법을 시도하다 이 폰트를 설치하고 많은 부분이 정상적으로 동작하는 것을 보고 해당 폰트를 받아 적용해주도록 한다.
압축해제
unzip Hack-v3.003-ttf.zip
.zshrc파일 복사
cp ~/.zshrc .
테마가 적용된 파일을 옮겨주도록 한다.
내부 로직에 맞게 수정
vim .zshrc
zsh 테마가 적용될 수 있도록 .zshrc
파일을 수정한다.
원래대로라면 이 파일이 아닌 다른 파일을 수정해야하지만 적용되지 않는 오류가 생겨 해당 파일을 수정했다.
export ZSH=$HOME/.oh-my-zsh ZSH_THEME="bullet-train/bullet-train" ... ZSH_CUSTOM=$ZSH/custom/theme plugins=(git) source $ZSH/oh-my-zsh.sh ...
dockerfile 빌드
docker build -t ubuntu_zsh .
작성한 Dockerfile을 빌드해 이미지로 만든다 .
빌드된 이미지 확인
docker images
실행
docker run -it --name zsh8 ubuntu_zsh
무려 8번 만에 성공했다.... 😭
Uploaded by Notion2Tistory v1.1.0