Docker Ubuntu환경에서 C언어 환경을 구성한 상태에서 개발을 진행하고 있었다.
그러다 -m32 이라는 32bit 파일을 빌드해야하는 상황이 발생했었고, 빌드했을 때 정상적으로
빌드가 안되는 상황이 발생했었다.
그래서 32bit 도 호환될 수 있게
apt-get install gcc-multilib
를 설치해주어야 하는데
위 명령어를 실행하게 되면 오류가 뜰텐데, 그 오류의 내용은 대략적으로 ARM64의 저장소에서는 없는 라이브러리라고 나온다.
즉, 애플 실리콘 CPU로는 설치가 되지 않는 상황이라고 판단된다
처음에는 저장소에 대한 이슈인줄 알고, 저장소 관련 URL를 수정하고, 그러다가 도커 허브에서 될 수 있을 법한 이미지를 여러개
서칭하다가 도저히 해결방안이 떠오르질 않았다.
그러다 발견한 것이 Docker buildx 라는 기능을 활용하는 것이였다.
이 기능을 활용하게 된다면, ARM이 아닌 다른 amd64 아키텍쳐를 통해 도커 컨테이너를 빌드할 수 있게 된다.
buildx는 다양한 아키텍처에서 동작하는 이미지를 생성할 수 있게 도와주는 기능이다.
이 과정을 위해서 buildx를 활용하여 플랫폼(amd64) 이미지를 빌드합니다
docker buildx create --name mybuilder --use
docker buildx inspect --bootstrap
그 이후에
docker buildx build --platform linux/amd64 -t myimage:latest . --load
- -platform linux/amd64: 빌드할 플랫폼을 amd64로 지정
- t myimage:latest: 빌드된 이미지에 myimage:latest라는 태그를 지정합니다.
- .: Dockerfile이 위치한 디렉토리를 지정합니다. 현재 디렉토리를 가리킵니다.
- -load: 빌드된 이미지를 로컬 Docker 환경으로 로드합니다.
로 buildx 를 빌드했고 해당 이미지를 통해 dockerfile 를 빌드합니다.
docker run -it myimage:latest /bin/bash'오픈소스' 카테고리의 다른 글
| Eventsim으로 생성한 로그데이터로 SuperSet으로 시각화하기(2) (0) | 2023.11.25 |
|---|---|
| Eventsim으로 생성한 로그데이터로 SuperSet으로 시각화하기(1) (0) | 2023.11.19 |
| SuperSet 설치하면서 발생한 오류들 (1) | 2023.11.12 |
| Eventsim 빌드 및 실행하기 (1) | 2023.10.24 |
| Eventsim 를 사용하여 음악 스트리밍 데이터 생성하기 (1) | 2023.10.23 |