Project

[LXC] Ubuntu 환경에서 LinuX Containers 사용하기

녜잉 2024. 8. 19. 19:07

LXC(LinuX Containers)란? 

  • 단일 리눅스 시스템에 동작하고 있는 프로세스를 격리시켜 각 프로세스마다 독자적인 리눅스 시스템 환경을 구축하는 것
  • OS 수준의 가상화를 지원
    • LXC는 OS 수준의 가상화를 제공하고 도커는 응용 수준의 가상화를 제공한다는 점에서 차이가 있다!

 

 

1. Ubuntu에 LXC 설치하기

sudo apt update
sudo apt install lxc

 

lxc 관리 패키지를 먼저 다운로드 받고 

 

sudo apt-get install lxc-templates

 

사용할 lxc 컨테이너 템플릿도 다운로드 받아준다 

 

ls /usr/share/lxc/templates

 

/usr/share/lxc/templates 경로의 파일들을 확인해보면 다양한 종류의 템플릿들이 있는 것을 확인할 수 있다. 

 

우리는 ubuntu 환경이므로 우분투 템플릿을 사용하여 컨테이너를 생성할 예정이다

 

 

2. 컨테이너 생성하기 

sudo lxc-create -n testContainer -t ubuntu

 

create을 사용해서 컨테이너를 생성한다

이때 -n이 컨테이너 이름을 정하는 옵션이고 -t가 템플릿을 결정하는 옵션이다 

 

sudo lxc-ls --fancy

 

lxc-ls 명령어를 사용해 host 머신에 올라간 컨테이너를 확인할 수 있다. 

 

 

3. 컨테이너 실행 및 진입 

sudo lxc-start -n {컨테이너 이름}
sudo lxc-ls --fancy

 

lxc-start로 컨테이너를 실행한 뒤 컨테이너의 상태를 확인하면 다음과 같이 stopped에서 running으로 변경된 것을 확인할 수 있다

 

sduo lxc-console -n {컨테이너 이름}

sudo lxc-attach -n {컨테이너 이름}

 

컨테이너에 들어갈 때 로그인을 해야 하는데 

초기 설정의 경우 ID/PWD는  ubuntu 가 된다! (컨테이너 생성되면 알려줌) 

 

 

4. 컨테이너 나가기 

 

exit명령어나 ctrl+D를 사용해서 나올 수 있다

 

근데 console로 접근했을 경우 가끔 로그 아웃 된 후에도 다시 로그인 될 수 있음...

 

그 때는 ctrl+a 누른 후에 q눌러주면 나올 수 있다

 

컨테이너를 종료하려면 아래 명령어를 입력한다 

sudo lxc-stop -n {컨테이너 이름}

 

 

이제부터 그냥 무조건 attach로 들어간다....

 

 

waydroid 설치하기 

sudo apt update
sudo apt install curl lxc lxc-templates sudo git -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid -y
sudo waydroid init

 

 

참고: https://pak-j.tistory.com/47

 

리눅스 Ubuntu에 Container(LXC) 설치 방법

개요Proxmox에서는 Web GUI 환경으로 LXC를 손쉽게 올릴 수 있지만, 필자는 리눅스의 CLI 환경이 익숙한 탓에 CLI로 LXC를 다루는 법을 공부하고자 Ubuntu Host 머신에서 복습하기 위한 글을 쓴다. 테스트

pak-j.tistory.com