![Google 크롬 브라우저에서 '향상된 보호'를 활성화하는 방법](/f/7192924a69e7845c9e254023c1e293a9.jpg?width=100&height=100)
LXD 컨테이너 내부 또는 가상 머신으로 실행되는 Linux 시스템에 몰입감을 제공하는 차세대 컨테이너 및 가상 머신 관리자로 설명됩니다.
다양한 스토리지 백엔드 및 네트워크 유형을 지원하는 수많은 Linux 배포판에 대한 이미지를 제공합니다. 또한 개별 PC/노트북 및 클라우드 인스턴스에도 이미지를 설치하는 옵션을 제공합니다.
LXD 세 가지 방법을 사용하여 컨테이너와 VM을 관리할 수 있습니다. 활용할 수 있습니다 lxc 클라이언트 또는 명령줄 도구, REST API 또는 타사 통합.
주목할 만한 LXD 기능에는 다음이 포함됩니다.
와 혼동하지 말 것 lxc 에서 제공하는 명령줄 클라이언트 도구 LXD, LXC (리눅스 컨테이너)는 강력한 API 및 기타 도구를 사용하여 사용자가 단일 호스트에서 컨테이너와 가상 머신을 원활하게 생성하고 관리할 수 있도록 하는 인기 있는 OS 수준 가상화 기술입니다. 템플릿, 도구 언어 및 라이브러리 바인딩으로 구성됩니다.
LXC 다음 커널 기능을 활용하여 프로세스를 처리합니다.
Linuxcontainers.org 둘 다 뒤에 우산 프로젝트입니다 LXD 그리고 LXC. 그 목표는 Linux 컨테이너 기술을 위한 배포판 및 공급업체 중립적 플랫폼을 제공하는 것입니다.
소개는 생략하고 이제 생성 및 관리 방법을 보여 드리겠습니다. LXC 컨테이너 RHEL 기반 Linux 배포판 ~와 같은 센트OS, 록키 리눅스, 그리고 알마리눅스.
최소한의 설치로 작동하는 Linux 운영 체제:
바로 설정부터 시작하겠습니다. SE리눅스 허용으로 설정합니다. 그러나 그렇게 하기 전에 다음과 같이 시스템 패키지를 업데이트합시다.
$ sudo dnf 업데이트.
설정 SE리눅스 허용하려면 다음 명령을 실행하십시오.
$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config.
이를 적용하려면 서버를 재부팅하십시오.
$ sudo 재부팅.
상태를 확인하고 SE리눅스.
$ getenforce.
에펠 의 저장소입니다. 페도라 프로젝트 고품질 패키지 세트를 제공하는 레드햇 엔터프라이즈 리눅스 및 기타 RHEL 기반 배포.
$ sudo yum 설치 https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. 또는. $ sudo yum install epel-release.
설치하기 전에 LXD, 몇 가지 추가 매개변수가 필요합니다. 따라서 루트 사용자로 전환하십시오.
$ 수 -
그리고 다음과 같이 매개변수를 추가합니다.
$ grubby --args="user_namespace.enable=1" --update-kernel="$(그루비 --default-kernel)" $ grubby --args="namespace.unpriv_enable=1" --update-kernel="$(그루비 --default-kernel)" $ echo "user.max_user_namespaces=3883" | sudo 티 -a /etc/sysctl.d/99-userns.conf.
매개변수가 설정되면 계속 진행하고 스냅 활성화.
가장 간단한 설치 방법 LXD 켜짐 RHEL 8 로 설치하는 것입니다. 스냅 패키지. 하지만 먼저 설치하자 스냅 다음과 같이.
$ sudo dnf 설치 스냅샷.
설치됩니다 스냅 표시된 것처럼 다른 Python 종속성과 함께 데몬 또는 서비스를 제공합니다.
스냅이 설치된 상태에서 계속 진행하여 메인을 활성화합니다. 스냅 통신 소켓.
$ sudo systemctl enable --now snapd.socket.
또한 다음에서 심볼릭 링크를 만들어 클래식 지원을 활성화합니다. /var/lib/snapd/snap 에게 /snap.
$ sudo ln -s /var/lib/snapd/snap /snap.
업데이트하려면 스냅 경로, 시스템을 다시 시작하십시오.
$ sudo 재부팅.
두 가지 설치 방법이 있습니다 LXD 에서 스냅. 의 최신 버전을 설치할 수 있습니다. LXD 보여진 바와 같이.
$ sudo snap install --classic lxd.
또는 최신 안정 버전을 설치할 수 있습니다. LTS 다음과 같은 버전:
$ sudo snap install lxd --channel=4.0/stable.
실행할 수 있도록 lxc sudo 사용자로 전환하지 않고 명령을 실행하려면 현재 로그인한 사용자를 1xd 그룹.
$ sudo usermod -aG lxd $USER.
사용자가 1xd 사용자가 속한 모든 그룹을 나열하여 그룹화합니다.
$ 그룹 tecmint.
다음으로 실행 newgrp 다음과 같이 명령합니다.
$ newgrp lxd.
이 명령은 로그인 세션 동안 현재 그룹 ID를 변경합니다. 현재 그룹 ID를 명명된 그룹으로 설정합니다. 1xd.
생성 및 관리를 시작하기 전에 LXD 컨테이너를 초기화해야 합니다. LXD 명령을 실행하여 환경.
$lxc 초기화
다음은 환경을 설정할 수 있는 일련의 프롬프트입니다. 기본값은 잘 작동하지만 원하는 대로 자유롭게 지정하십시오.
라는 스토리지 풀을 만들었습니다. 텍풀 와 더불어 lvm 옵션을 백엔드로.
확인하려면 LXD 방금 구성한 환경에서 사용할 수 있는 여러 명령이 있습니다. 예를 들어 기본 LXD 프로필을 표시하려면 다음을 실행합니다.
$ lxc 프로필은 기본값을 표시합니다.
네트워크 어댑터를 표시하려면 IPv4 그리고 IPv6 주소, 실행:
$ lxc 네트워크 목록.
범위를 더 좁혀서 에 대한 자세한 정보를 표시할 수 있습니다. lxdbr0 다음과 같이 인터페이스합니다.
$ lxc 네트워크 쇼 lxdbr0.
저장소 풀을 확인할 수도 있습니다.
$ lxc 스토리지 목록.
스토리지 풀에 대한 복잡한 세부 정보를 추가로 얻을 수 있습니다.
$ lxc 스토리지 쇼 tec-pool.
실행 목록에 lxc 컨테이너에서 다음 명령을 실행합니다.
$lxc 목록.
현재 실행 중인 컨테이너가 아직 없습니다. 따라서 열 레이블만 있는 빈 테이블이 표시됩니다.
처럼 도커, LXC 플랫폼은 컨테이너를 생성할 수 있는 사전 빌드된 이미지의 리포지토리를 제공합니다. 가상 머신을 포함한 모든 운영 체제에 대해 사전 빌드된 모든 이미지를 나열하려면 다음 명령을 실행합니다.
$ lxc 이미지 목록 이미지:
이렇게 하면 모든 운영 체제에 대한 방대한 컨테이너 이미지 및 가상 머신 목록이 채워집니다. 특정 Linux 배포판으로 범위를 좁히려면 다음 구문을 사용하십시오.
$ lxc 이미지 목록 이미지: grep -i os-type.
예를 들어 사용 가능한 이미지를 검색하려면 록키 리눅스, 다음 명령을 실행합니다.
$ lxc 이미지 목록 이미지: grep -i rocky.
검색하는 경우 데비안 이미지를 보려면 다음 명령을 실행하십시오.
$ lxc 이미지 목록 이미지: grep -i 데비안.
개시하다 lxc 컨테이너는 다음 구문을 사용합니다.
$ lxc 시작 이미지:{distro}/{version}/{arch} {container-name-here}
여기에서 2개의 컨테이너를 시작합니다. tec-container1 ~에서 데비안 10 그리고 tec-container2 ~에서 록키 리눅스 8.
$ lxc 시작 이미지: debian/10/amd64 tec-container1. $ lxc 시작 이미지: rockylinux/8/amd64 tec-container2
나열하려면 lxc 컨테이너에서 다음 명령을 실행합니다.
$lxc 목록.
출력은 컨테이너에 대한 많은 정보를 표시합니다. 여기에는 컨테이너 이름, 상태(실행 중 또는 중지됨), IPv4 및 IPv6 주소, 유형(컨테이너 또는 가상 머신), 스냅샷 수가 포함됩니다.
실행 중인 컨테이너만 나열하려면 다음 명령을 실행합니다.
$lxc 목록 | grep - 나는 실행 중입니다.
마찬가지로 중지된 컨테이너의 경우 다음을 실행합니다.
$lxc 목록 | grep -i 멈췄습니다.
다음 명령을 사용하여 몇 가지를 언급하기 위해 실행 중인 프로세스, CPU 및 메모리 사용률, 대역폭과 같은 컨테이너의 정보 및 메트릭을 조사할 수 있습니다.
$ lxc 정보 tec-container1
다음 구문을 사용하여 컨테이너에 대한 bash 액세스 권한을 얻을 수 있습니다.
$ lxc exec 컨테이너 이름 쉘 이름.
에 대한 셸 액세스 권한을 얻으려면 tec-container1, 우리는 명령을 실행할 것입니다:
$ lxc exec tec-container1 bash.
셸 액세스 권한을 얻었으면 다음과 같이 시스템 업데이트를 포함하여 일반적인 셸 명령을 실행하여 루트 사용자로 컨테이너와 상호 작용할 수 있습니다.
$ 적절한 업데이트.
컨테이너를 종료하려면 다음 명령을 실행합니다.
$ 출구.
또는 다음 형식을 사용하여 셸에 액세스하지 않고 컨테이너에서 직접 명령을 실행할 수 있습니다.
$ lxc exec 컨테이너 이름 명령.
예를 들어 패키지 목록을 업데이트하는 다음 명령을 실행하고 데비안 컨테이너에서 실행 중인 OS 버전을 확인하고 날짜를 확인할 수 있습니다.
$ lxc exec tec-container1 apt 업데이트. $ lxc exec tec-container1 cat /etc/debian_version. $ lxc exec tec-container1 날짜.
수행할 수 있는 또 다른 작업은 컨테이너 간에 파일을 전송하는 것입니다. 이를 보여주기 위해 새 디렉토리를 생성합니다. LXD 컨테이너로 이동합니다.
# mkdir 데이터 && cd 데이터.
다음으로 샘플 파일을 만들고 일부 데이터를 추가합니다. 이를 위해 샘플 파일을 생성합니다. 정력 편집자
# vim 파일1.txt.
다음으로 샘플 텍스트를 입력하고 파일을 저장합니다.
Hello World, LXD 컨테이너에 오신 것을 환영합니다.
컨테이너에서 로컬 호스트 시스템으로 파일을 가져오기 위해 다음 구문을 사용합니다.
$ lxc 파일 풀 {컨테이너 이름}/{경로/대상/파일} {/경로/대상/로컬/대상}
이 경우 명령은 다음과 같습니다.
$ lxc 파일 풀 tec-container2/root/data/file1.txt /home/tecmint.txt
로컬 디렉토리에서 컨테이너로 파일을 푸시하거나 복사하려면 다음 구문을 사용하십시오.
$ lxc 파일 푸시 {/path/to/file} {container-nane} /path/to/dest/dir/
이 경우 홈 디렉토리에 샘플 파일이 있습니다. 파일2.txt 복사 중 /root/data/ 경로 tec-container2 컨테이너.
$ lxc 파일 푸시 /home/tecmint/file2.txt tec-container2/root/data/
컨테이너에 파일이 있는지 확인하기 위해 다음을 실행합니다.
$ lxc exec tec-container2 ls /루트/데이터.
와 더불어 lxc 명령줄 유틸리티를 사용하면 컨테이너 중지, 시작, 다시 시작 및 삭제와 같은 컨테이너 관리 작업을 수행할 수 있습니다.
중지하려면 lxc 컨테이너에서 다음 구문을 사용합니다.
$ lxc 중지 컨테이너 이름.
예를 들어 중지하려면 tec-container1, 우리는 명령을 실행할 것입니다:
$ lxc stop tec-container1.
시작하려면 lxc 컨테이너에서 다음 구문을 사용합니다.
$ lxc 시작 컨테이너 이름.
예를 들어 시작하려면 tec-container1, 우리는 다음을 실행할 것입니다:
$ lxc 시작 tec-container1.
둘 다 다시 시작하려면 lxc 컨테이너에서 다음 명령을 실행합니다.
$ lxc tec-container1을 다시 시작합니다. $ lxc tec-container2를 다시 시작합니다.
삭제하려면 lxc 컨테이너를 삭제하려면 먼저 컨테이너를 중지한 다음 삭제해야 합니다. 예를 들어 삭제하려면 다음 명령을 실행합니다.
$ lxc stop tec-container1. $ lxc tec-container1을 삭제합니다.
또는 그림과 같이 이 두 명령을 결합할 수 있습니다.
$ lxc stop tec-container1 && lxc tec-container1을 삭제합니다.
에서 제공하는 다른 명령 옵션에 대한 도움말을 보려면 LXC, 다음 명령을 실행하기만 하면 됩니다.
$ lxc --도움말. 또는. $ lxc 명령 --help $ lxc 파일 --help.
에 대한 깊은 잠수였습니다. LXD 컨테이너 및 컨테이너를 사용하여 생성 및 관리하는 방법 lxc 명령줄 유틸리티 도구. 이 가이드가 도움이 되셨으리라 믿습니다.