언젠가 독커
(docker
)를 사용해 보고 싶었습니다.
독커
란 무엇일까요?
저도 아주 자세히는 모르겠습니다만, 리눅스의 커널 영역
을 제외한 여러 배포판
의 사용자 영역 이미지
로 시작하는, 반 가상화(?)
라고 이해하고 있습니다.
독커
사용에 매우 편리한 독커 허브
(https://hub.docker.com)에 있는 여러 official image
의 Dockerfile
을 보면, FROM
이 있고, 각 이미지들은 여러 배포판
을 선택하고 있습니다.
Arch Linux
는 독커 허브
에 Official Image
가 없기 떄문에, 저만의 Arch Linux
이미지를 만들어 보았습니다.
Minibrary Docker Hub Arch Linux Image 링크
Ubuntu 16.04 LTS x64
입니다.독커는 apt
나 yum
등의 패키지 매니저로도 설치할 수 있지만, 여기서는 독커에서 제공하는 ppa
를 추가하여 설치 하겠습니다.
먼저, curl
이 설치되어 있는지 확인합니다.
which curl
curl
이 없다면 설치합니다.
sudo apt update && sudo apt install curl -y
curl
이 설치 되었으면, 아래 명령어로 docker
를 설치합니다.
curl -fsSL https://get.docker.com/ | sh
명령어를 실행하면 sudo
권한을 위한 비밀번호를 묻습니다.
비밀번호를 입력해 줍니다.
아래 명령어로 이미지를 가져옵니다. (아래 명령어에 포함된 이미지는 제가 만든 Arch Linux
입니다.)
sudo docker pull minibrary/archlinux
가져온 이미지 목록을 봅니다.
sudo docker images
가져온 이미지를 bash
가 실행되도록 컨테이너로 실행합니다.
sudo docker run -i -t --name arch minibrary/archlinux /bin/bash
-i
는 interactive
모드로 컨테이너에 접속(attach)
하지 않았어도 실행되도록 합니다.-t
는 allocate pseudo-TTY
로, terminal
을 만들어 줍니다.--name arch
는 해당 이미지로 만드는 컨테이너에 자기가 원하는 이름(여기서는 arch
)를 붙여줍니다.
실행 하면 바로 컨테이너가 실행 되면서, 해당 이미지의 /bin/bash
가 실행 됩니다.
현재 상태의 Arch Linux
는 거의 아무것도 들어있지 않습니다.
일단 Repository
를 업데이트 해 줍시다.
pacman -Syu
현재 상태의 컨테이너는 종료
를 하거나 나가기
를 할 수 있습니다.
exit
를 입력 하면 컨테이너에서 빠져 나오며, 컨테이너를 멈춥니다.
exit
아래 명령어로 현재 실행 중인 컨테이너를 확인해 봅시다.
sudo docker ps
아무것도 나오지 않습니다.
다시 아래 명령어로 모든 컨테이너의 목록을 확인해 봅시다.
sudo docker ps -a
방금 만든 arch
라는 이름의 컨테이너가 표시 되고, status
는 exited
입니다.
이제, 다시 실행 하기 위해서 아래의 명령어를 입력 합니다.
한 번 만들어진 컨테이너는 본인이 붙인 이름으로 간단하게 전과 같은 환경으로 실행할 수 있습니다.
아래 명령어로 컨테이너 실행 및 프로세스를 확인합니다.
sudo docker start arch && sudo docker ps
이 상태에서 다시 컨테이너에 접속
(컨테이너의 command
를 실행) 합니다.
sudo docker attach arch
명령어 실행후 아무 키나 눌러 보면, 다시 Arch Linux
의 bash cli
로 접속한 것을 알 수 있습니다.
이렇게 생성한 컨테이너는, 실제 리눅스 환경처럼 사용하고, 필요가 없어지면 컨테이너
및 이미지
를 삭제하는 것으로, 실제 Host OS
를 지저분
(?) 하지 않게 사용할 수 있습니다.
이상으로 간단하게 docker
를 이용하여 Arch Linux
를 실행 하여 보았습니다.
출처 | http://kr.minibrary.com/352/ |