본문 바로가기

IT/mendix

Mendix 프로그램 컨테이너화 ( by docker build pack )

반응형

Mendix 로 만든 프로그램을 컨테이너 환경에 적용하기 위해서는, 멘딕스 프로그램을 컨테이너 이미지로 작성해야 합니다.

역시 멘딕스! 답게 해당 문서는 잘정리 되어 있습니다.

 

Docker | Mendix Documentation

 

Docker

Describes how to deploy using a Docker image.

docs.mendix.com

 

그럼 문서에 나와있는데로, 따라 해보겠습니다.

 

0. 준비

docker desktop 과 wsl을 설치합니다.

wsl 내 리눅스 이미지는 필자는 rocky8.8 을 이용했습니다. 

 

1. 샘플 프로그램을 준비하고, Product 레벨로 보안을 변경합니다.

저는 Rapid Develop 실습에서 만드는 LearnNow 프로그램을 대상으로 하겠습니다.

App Security 의 Security level을 Production 으로 하고 에러를 모두 잡아줍니다.

로컬에서 실행후, 정상임을 확인하면 일단 끝 입니다!

 

2. 멘딕스 도커 빌드 팩 다운로드 및 테스트 쉘 실행

도커빌드팩의 실행 스크립트가 bash 로 되어 있으므로 이번 작업은 wsl 에서 진행합니다.

 

최신버전의 멘딕스 도커 빌드 팩을 git clone 으로 다운로드 합니다. 

버전부분은 현재 v5.0.3 이 최신이었으나, 페이지를 참조해서 설정합니다. 

그리고 예제를 빌드하는 쉘까지 실행합니다. ( 아래 참조 )

 

mendix/docker-mendix-buildpack at latest (github.com)

 

GitHub - mendix/docker-mendix-buildpack: Build and Run Mendix in Docker

Build and Run Mendix in Docker. Contribute to mendix/docker-mendix-buildpack development by creating an account on GitHub.

github.com

git clone --branch v5.0.3 --config core.autocrlf=false https://github.com/mendix/docker-mendix-buildpack
cd docker-mendix-buildpack
tests/integrationtest.sh

 

음.. 현재 기준으로도 오류가 발생하는데, 일단 무시합니다.

 

3. Mendix 프로젝트를 빌드팩을 이용하여 이미지화

Mendix 프로젝트를 도커 이미지 빌드팩의 홈에 복사 합니다.

ex) C:\Users\cruel\Mendix\LearnNow-main -> C:\study\docker-mendix-buildpack 로 복사

이미지화 대상 프로젝트 위치 C:\study\docker-mendix-buildpack\LearnNow-main

 

wsl 환경에서 도커 빌드를 실행합니다.

docker build --build-arg BUILD_PATH="{relative-mendix-project-location}" -t {image name} .

ex) docker build --build-arg BUILD_PATH="./LearnNow-main" -t learnnow .

 

 

4. 이미지 실행

멘딕스 도커 컨테이너 실행을 참고해서 실행해 줍니다.

Run a Mendix Docker Image | Mendix Documentation

 

Run a Mendix Docker Image

Describes running a Mendix Docker image.

docs.mendix.com

ex) docker run -it -e ADMIN_PASSWORD=암호입력 -e DATABASE_ENDPOINT=postgres://db-user:db암호입력@db-ip:db-port/db-name  -p 8080:8080 learnnow

 

 

잘됩니다! 굳!

반응형