작업관리자 상태

지난번에 말했던 Vmmem의 메모리 과점유 상태에 대해 알아보자.

 

Vmmem이란놈은 Windows에서 WSL을 사용할 때 생성되게 된다. 이 친구의 역할은 가상으로 생성되는 머신에 대한 CPU, Memory를 관리 하는 것이라고 한다.

 

즉, 가상 머신을 확장하면 확장 할수록 메모리 사용량이 늘어날 수 있다는 것이다.

 

이 이슈에 대해 조사를 해보니 이미 2019년도에 Open된 issue이고, 나름의 임시 대안들을 마련해서 사용하고 있는듯 하였다.

 

여러 방법중 정적으로 메모리를 제한하는 방법을 사용해보았다.

 

방법은 .wslconfig에 memory 값을 직접 설정하는 것이다.

 

container의 메모리 정보

User 디렉터리( C:\Users\ooo )에 .wslconfig 파일을 생성 후 아래와 같이 메모리를 설정한다.

memory 설정 파일

위와같이 설정 후 컨테이너 생성을 해 봤지만 결과는 똑같았다.

( config파일을 바꿔주었으니 wls를 재시작 해줘야 한다. )

 

powershell에서 wls.exe --shutdown 명령어를 통해 종료시키면 docker가 다음과 같은 경고 메시지를 띄운다.

( docker를 재시작해도 안된다.. )

 

wsl 재시작

Restart를 누르면 정상적으로 재시작이되고, 컨테이너를 생성 후 메모리 정보를 확인해본다.

 

container의 메모리 정보

이렇게 임시방편으로 메모리 제한을 걸어 사용할 수 있지만, 이러면 효율성이 매우 떨어지지 싶다..

 

그리고 사용하지 않을 경우 docker engine을 실행하지 않는 것이 좋겠다.

 

2년전에 오픈되었지만 아직도 이슈가 해결되지 않는 것으로 보아 쉽사리 해결될 것 같지는 않다.

 

다른 다양한 방법은 아래의 url을 참고하기 바란다.

 

참고 URL : https://meaownworld.tistory.com/160

'IT > Docker' 카테고리의 다른 글

Installing a GCC compiler  (0) 2022.01.17
Download Ubuntu Image In Docker  (0) 2021.12.15
docker for windows installation  (0) 2021.12.14

docker ubuntu 환경에서 우선 gcc 컴파일이 가능한지 확인을 해 보았다.

 

gcc 커맨드 실행

gcc: command not found라는 결과를 얻을 수 있다.( ubuntu에 gcc 명령어가 설치되어 있지 않다는 이야기이다. )

 

apt-get 명령어를 통해 gcc 를 설치해보자.

 

apt-get install gcc 실행

아무것도 없는듯하다...

 

우선 apt-get update를 통해 설치 가능한 package 리스트를 업데이트 해보자.

 

apt-get update 실행

 

apt-get update는 무사히(?) 실행이 된 듯 보인다.

 

그럼 다시한번 gcc를 설치해보자.

 

apt-get install gcc 실행

무언가 이번에는 성공한 느낌이 든다.

 

gcc --version을 통해 최종적으로 설치가 되어있는지 확인해 보자.

 

gcc --version

 

설치가 잘 되었다.

 

그럼 여느 기본서에 나온다는 Hello OO World 를 실행하는 c파일을 만들어 컴파일, 실행 해보자.( 소스의 내용은 간단하니... 생략하도록 한다. )

 

vim 실패 이미지

이번엔.. vim이 말썽이다.. vim을 apt-get install을 통해 받아보자.

 

apt-get install vim 실행

이번에도 설치가 잘 되었다.

 

vim명령어를 통해 설치 여부를 확인 해보자.

 

vim 실행

 

vim까지 설치가 되었으니 이제 Hello OO World 출력을 해보자.

 

Hello World 출력

이제 겨우 compile 환경을 구축하였다.

 

이제 dpdk를 설치해서 해볼 수 있으려나? 하는 기대감이 생긴다 :)

 

 

 

 

 

설치 도중 문득 궁금해진 컨테이너 사용하면 메모리는 얼마나 사용할까?

 

Vmmem ??

 

이친구는 뭐지... 

 

메모리 사용량이 상당하다. 이 친구가 뭐하는 친구이고, 메모리 최적화는 가능한지, 컨테이너 여러개 띄우는데 무리는 없는지 한번 확인해야겠다.

 

※ ubuntu는 apt-get을 이용했지만, centos는 yum을 통해서 설치하면 될것같다.

'IT > Docker' 카테고리의 다른 글

Vmmem memory issue  (0) 2022.01.19
Download Ubuntu Image In Docker  (0) 2021.12.15
docker for windows installation  (0) 2021.12.14

Docker에서 Ubuntu를 실행하는 실습을 해보았다.

 

지난번에 힘들게(?) 설치한 Docker에는 현재 아무 Image도 설치되어 있지 않다.

 

Docker UI

Ubuntu 설치를 위해 필자는 다음 순서에 따라 실행하였다.

 

먼저 관리자 모드로 PowerShell을 실행한다.( PowerShell 우클릭-> 관리자로실행 )

 

search command를 이용하여 설치 가능한 Ubuntu Image를 조회한다.

( 더 많은 Command 정보는 docker --help 를 통하여 조회할 수 있다. )

 

이미지 조회

이어서 pull command를 이용하여 Image를 다운 받는다.

 

특정 버전을 명시하지 않으면 최신 버전을 기본값으로 다운받는다.

( ※ 특정 버전 명시는 세미콜론을 추가하고 뒤에 버전명을 적는다. ex. docker pull ubuntu:20.04 )

 

이미지 다운로드

다운받은 이미지를 확인하기 images command를 통해 확인한다.

이미지 확인

Ubuntu가 존재하는 것을 확인 할 수 있다.

 

다운받은 Ubuntu Image를 이용하여 이제 Container를 생성한다.

 

컨테이너 생성
컨테이너 확인

Container가 생성된 것을 확인 할 수 있다.

 

이제 생성된 Container를 실행하게 되면

컨테이너 실행

Container 이름이 한번 출력된다. 실행이 된건가...?

 

attach command를 이용하여 접속해보자.

 

컨테이너 접속

해당 컨테이너가 실행이 잘 되었고, 다운받은 이미지 버전인 20.04 Ubuntu임을 확인 할 수 있다.

 

해당 내용은 UI에서도 확인이 가능하다!

컨테이너 확인(UI)
이미지 확인(UI)

CLI창 역시 UI에서 Container를 선택하면 실행 할 수 있다.

CLI 실행(UI)
CLI 확인

실습을 하면서 Image를 지우고 만들고를 반복 해보다가 깨달은 사실....

 

Image를 다운받지 않고 create를 실행하게 되면 알아서.. 최신버전 Image를 다운받고 Container성공까지 한다는 사실...

 

그래도 처음부터 할 줄 알아야 하니깐..@@

 

** docker command 숙지가 필요해 보인다. 옵션에 따라 다른 결과를 야기할 수 있다. **

'IT > Docker' 카테고리의 다른 글

Vmmem memory issue  (0) 2022.01.19
Installing a GCC compiler  (0) 2022.01.17
docker for windows installation  (0) 2021.12.14

Virtual Machine 환경과 Container 환경 중 무엇을 선택해야 할까 고민을 하다가

 

한정된 자원을 효율적으로 사용하는 방법은 Container 환경이지 않을까 생각하여 Container 환경(Docker) 구축을 도전해 보았다.

 

Windows OS에서 Linux, Dpdk 환경을 구축해서 실행하는게 맞는지, 얼마나 제약이 있는지 모르지만 도전!!!

 

해당 설치 과정은 Windows 10 Pro에서 Docker를 설치하는 과정이다.

 

먼저 공홈에 접속하여 docker for windows 파일을 다운 받는다. (https://docs.docker.com/desktop/windows/install/)

 

설치화면 1

 

다운받은 Docker Desktop Installer.exe 파일을 실행한다.

 

설치 과정은 간단한 설정( WSL 관련 Components, 바로가기 아이콘 )만 하면 쉽게 설치 할 수 있다.

 

설치가 완료되고 재부팅 과정을 거치면 자동으로 Docker가 실행된다.

 

여기서 첫번째 Error...

 

설치오류1

BIOS에서 가상화 관련 옵션을 켜주어야 한다.

바이오스 설정

( BIOS세팅은 보드에 따라 화면도 설정도 각기 다르고 옵션명도 상이할 수 있다. )

가상화 설정 확인

가상화 환경이 설정 되었는지 여부 확인은 작업관리자( Ctrl + Shift + Esc ) -> 성능탭에서 CPU 선택시 확인 할 수 있다.

 

가상화 환경 설정이 완료 되면!!!! 될 줄 알았다..

 

두번째 Error...

 

설치오류2

WSL(Windows Subsystem for Linux )2가 설치 되어있어야 한다.

 

필자는 PowerShell을 이용하여 설치하였다.

 

먼저 관리자 모드로 PowerShell을 실행한다.( PowerShell 우클릭-> 관리자로실행 )

 

1. 리눅스 서브 시스템을 활성화 한다.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. 가상머신 플랫폼을 활성화 한다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

WSL2 설치

3. 리눅스 설치를 한다.( 설치오류2 화면의 링크 접속하여 설치) )

 

리눅스 설치, 재부팅까지 완료하면 정말 끝!!!( 이제 시작!!! )

docker 설치 확인

다음번에는 ubuntu를 설치하고 개발 및 테스트 환경을 구축하는 과정을 공부하고 업로드해야겠다.

'IT > Docker' 카테고리의 다른 글

Vmmem memory issue  (0) 2022.01.19
Installing a GCC compiler  (0) 2022.01.17
Download Ubuntu Image In Docker  (0) 2021.12.15

+ Recent posts