[Docker][Ubuntu][自分用メモ] Dockerでユーザーモードqemuを使ってARMイメージを動作させる。

AIX、UNIX、LinuxContainer

最近ARM板を買いまくっているわけですが、ARM板自体でコンパイルするのは結構難儀なものです。
ということで、x86 hostのDockerでARMイメージを動作させるようにしてみました。

といってもパッケージを一つ追加するだけです。
qemu-user-staticをインストールする

$ sudo apt-get install qemu-user-static

例えば、armhfのイメージをpullしてみます。

$ docker pull kytknst/debian-wheezy-armhf

これでrunできれば問題ないと思います。

QEMU でARM エミュレータ環境を作成する - Qiita
ARM エミュレータ環境はなぜ必要なのかRaspberryPI を始めとするBareMetal やスマートフォン等に広く搭載されているプロセッサです。Core i7 などのIntel 製プロセッサ…
はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグルー...

2019年8月1日:追記

Docker 19.03からの新機能であるdocker buildxで 複数のアーキテクチャに対応したイメージを簡単にビルドすることが出来るようになりましたね。

ちなみに2方式あるようです。

POINT

  1. 先述の docker context コマンドを用いて、アーキテクチャ毎にリモートのDockerホストを登録する
  2. QEMU user-mode emulationを用いて、1台のDockerホストで複数アーキテクチャをエミュレートする

詳しくは以下のWebサイトをどうぞ。

Docker 19.03新機能 (root権限不要化、GPU対応強化、CLIプラグイン…)
NTTの須田です。2019年7月23日に公開された、Docker 19.03の新機能をお伝えします。2018年11月8日にリリースされたDocker 18.09以来、8ヶ月ぶりのリリースです。
この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました