본문 바로가기
IT/mendix

Docker Mendix BuildPack 이용해서 Mendix App 빌드 배포 해보기

by 가능성1g 2024. 9. 13.
반응형

Docker Mendix BuildPack 이 업그레이드 되면서 Docker 버전도 올라갔습니다. 

기존 20.10 버전으로 했더니 오류가 발생하네요... Docker 업그레이드를 먼저 진행 했습니다. 

 

1. 도커 업그레이드 ( 20 -> 27 )

 

환경 : Debian 12

## 도커 업그레이드 - 기존 삭제
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# 업그레이드!
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

현재 기준 업그레이드를 완료하면 27.2.1 버전이 설치 완료 됩니다!

 

2. docker mendix-buildpack 설치

설치는 아니고 github 에서 클론 합니다. 현재 기준 v5.1.0 이 최신 입니다.

git clone --branch v5.1.0 --config core.autocrlf=false https://github.com/mendix/docker-mendix-buildpack

 

 

3. docker mendix-buildpack 에 나와 있는 사전사항을 실행합니다. ( 빌드 이미지, 앱 이미지 다운로드 )

docker mendix-buildpack 폴더에서 실행하면됩니다. 

docker build -t mendix-rootfs:app -f rootfs-app.dockerfile .
docker build -t mendix-rootfs:builder -f rootfs-builder.dockerfile .

 

4. Mendix app 을 빌드 합니다. docker mendix-buildpack 폴더에서 실행하면됩니다. 

저는 2개를 했습니다. 

python3 ./build.py --source ../kjbbsa --destination ../kjbbsa-mda build-mda-dir
docker build --tag kjbbsa:20240913 ../kjbbsa-mda

python3 ./build.py --source ../kjbbsaapi --destination ../kjbbsaapi-mda build-mda-dir
docker build --tag kjbbsaapi:20240913 ../kjbbsaapi-mda

 

5. 마지막으로 Mendix App 을 실행합니다!

Mendix 는 항상 8080 으로 뜹니다. 도커에서 앞쪽이 호스트의 노출포트 입니다.

docker run -it \
  -p 8080:8080 \
  -e ADMIN_PASSWORD='암호' \
  -e DATABASE_ENDPOINT='postgres://접속정보' \
  kjbbsa:20240913
  
  docker run -it \
  -p 8113:8080 \
  -e ADMIN_PASSWORD='암호' \
  -e DATABASE_ENDPOINT='postgres://접속정보' \
  kjbbsaapi:20240913

 

** 참고사이트

# Docker 업그레이드 on Debian

Debian | Docker Docs

 

Debian

Learn how to install Docker Engine on Debian. These instructions cover the different installation methods, how to uninstall, and next steps.

docs.docker.com

 

# mendix docker-buildpack

mendix/docker-mendix-buildpack: Build and Run Mendix in Docker (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

 

반응형