Docker

Building Docker Image for Cross Platform(ARM64, ARM)

Building Docker Image for Cross Platform

arm64 머신과 x86 머신에서 동작해야 하는 프로젝트를 진행하게 되었다. 동일한 소스 트리를 유지하지 위해 하나의 아키텍처로 작업하는 경우 보다 더 많은 노력이 팔요하지만 프로젝트 진행 중 가장 귀찮(짜증나는)은 작업은 테스트를 위해 arm64과 x86 머신에서 이미지를 따로 빌드 해야 하는 것이었다.

개발 서버(PC)에서 ARM 이미지를 빌드 하는 방법을 찾던 중 qemu의 arm emulation 기능을 이용하여 x86 머신에서 arm용 Docker 이미지를 Cross Build 하는 방법을 찾아 공유한다.

Install Docker

sudo apt update
sudo apt dist-upgrade
curl -fsSL test.docker.com -o get-docker.sh && sh get-docker.sh

And add current user to docker group

sudo usermode -aG docker $USER

Change NodePort range local kubernetes

Change NodePort range local kubernetes

Add following line to add following line to /etc/kubernetes/manifests/kube-apiserver.yaml

- --service-node-port-range=80-32767

Examples

sudo vi /etc/kubernetes/manifests/kube-apiserver.yaml