본문 바로가기
Linux 리눅스/우분투

우분투에서 lxc 활용하여 테스트 서버 만들기

by 프즈 2020. 5. 20.
반응형

안녕하세요. 프즈입니다.

 

 

도커가 유명해지기 전에는 lxc 가 있었고 저는 지금도 각정 테스트하는 경우 많이 활용하고 있어요.

도커랑 가장 큰 차이점은 lxc는 테스트하던 서버를 중단시켜도 사용하던 파일 시스템이 살아 있다는 건데요.

이건 장점이 될 수도 단점이 될 수도 있는데 각 특성을 알고 사용한다고 유용하게 상황에 맞게 활용할 수 있습니다.

 

우분투 20.04에서 lxc를 설치하려면 간단하게 아래 명령어로 설치 가능합니다.

sudo apt-get install lxc lxctl lxc-templates -y

설치 후에 lxc 상태를 확인해볼 수 있어요.

lxc-checkconfig

설치 가능한 템플릿 목록을 확인해보세요. 대부분 centos와 ubuntu 이겠지만요

ls /usr/share/lxc/templates/

실행 결과

lxc-alpine     lxc-busybox  lxc-debian    lxc-fedora-legacy  lxc-oci           lxc-oracle  lxc-sabayon     lxc-sshd          lxc-voidlinux
lxc-altlinux   lxc-centos   lxc-download  lxc-gentoo         lxc-openmandriva  lxc-plamo   lxc-slackware   lxc-ubuntu
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-local          lxc-opensuse      lxc-pld     lxc-sparclinux  lxc-ubuntu-cloud

아래 명령어로 우분투 컨테이너를 만들어 볼 수 있어요~

sudo lxc-create -n new-container -t ubuntu

이렇게 나오면서 템플릿이 다운로드되고 컨테이너가 생성됩니다~

Checking cache download in /var/cache/lxc/focal/rootfs-amd64 ... 
Installing packages in template: apt-transport-https,ssh,vim,language-pack-en
Downloading ubuntu focal minimal ...
I: Retrieving InRelease 


엄청 많이 ...


##
# The default user is 'ubuntu' with password 'ubuntu'!
# Use the 'sudo' command to run tasks as root in the container.
##

마지막에 아이디랑 암호를 알려줘요. 우분투는 ubuntu / ubuntu입니다. 접속해서 바꿔주면 됩니다.

 

목록 확인 명령어로 확인합니다.

sudo lxc-ls --fancy

new-container 가 정지 상태로 생성되어 있어요. 이제 부팅시켜 봅시다

lxc-start -n new-container -d

다시 상태 보는 명령어로 확인해보면 컨테이너가 시작했고 IP가 할당되어 있습니다.

sudo lxc-ls --fancy

콘솔로 접속하는 명령어로 접속해 볼 수 있습니다. 빠져나오려면 Ctrl + a를 누르고 q를 누르면 빠져나와요.

sudo lxc-console -n new-container 

확인했던 정보롤 ssh 접속해볼 수 있어요~

ssh ubuntu@10.0.3.123

이제 하고 싶은 테스트를 많이 해볼 수 있어요~ 잘못되면 컨테이너 지우고 다시 만들면 되니까요~

 

컨테이너 정보를 확인해봅시다

sudo lxc-info -n new-container
Name:           new-container
State:          RUNNING
PID:            78062
IP:             10.0.3.123
CPU use:        1.85 seconds
BlkIO use:      5.69 MiB
Memory use:     40.26 MiB
KMem use:       6.57 MiB
Link:           vethnMrFVi
 TX bytes:      2.14 KiB
 RX bytes:      11.07 KiB
 Total bytes:   13.20 KiB

컨테이너를 강제 종료시킬 수 있습니다.

sudo lxc-stop -n new-container

컨테이너 삭제하는 방법입니다. 정지 ( stop ) 상태에서만 삭제할 수 있습니다.

sudo lxc-destroy -n new-container
반응형

댓글