linux-containers

View the Project on GitHub super-learners/linux-containers

리눅스에서 LXC 설치 및 실행

설치

Ubuntu/apt

Ubuntu 16.04.1 LTS Xenial 환경에서

apt-get -y install -y lxc bridge-utils \
  debootstrap libcap-dev cgroup-bin \
  libpam-systemd bridge-utils

dpkg --list | grep lxc

LXC 2.0 Release Announcement

소스로부터 설치

GitHub 리포가 있음 LXC 깃헙 repo 3.0 버전대

git clone https://github.com/lxc/lxc.git
cd lxc

빌드하기 위한 패키지 설치

apt-get install -y build-essential libtool \
  automake pkg-config bridge-utils \
  libcap-dev libcgmanager-dev cgmanager

설치

./autogen.sh
./configure \
  --enable-capabilities \
  --enable-cgmanager
make && make install

확인

lxc-create --version
# 3.0.0

제거

make uninstall

설치 과정일 뿐이므로 CentOS/yum은 하지 않았음.

LXC 디렉토리 레이아웃

소스 또는 패키지로 설치 후 디렉터리 레이아웃. 설치 방법과 distro에 따라 다를 수 있으니 참고만

LXC 설치 디렉토리 구조 출처: Containerization with LXC

LXC 컨테이너 만들고 조작하기

1장에서는 매뉴얼하게 namespace를 만들고 cgroup으로 리소스 제한을 해봤다면 이제 userspcae tools을 이용해서 더 편리하게 같은 작업을 할 것임

lxc-download 템플릿을 이용해서 container 만들기

lxc-create -t download -n c1

컨테이너 리스트 출력

lxc-ls -f

컨테이너 시작

lxc-start -n c1 -d -l DEBUG # lxc.init.cmd가 실행됨

컨테이더 정보

lxc-info -n c1