ござるのブログ

覚え書きいろいろ

M1 MacでDocker Desktopに頼らずにx86_64のlRubyを使うまで(追記)

はじめに

前回limaでM1 MacでDocker Desktopに頼らずにx86_64のIRubyを使うまでを記載しましたが、こちらで紹介されているとおりにlima + Docker CLIにした上で、--platform linux/amd64で buildした方がいい感じ。

構築

こちらで説明されているとおりに環境を構築します。ただしパッチを当てたQEMUのインストールは今は不要だと思います。

qiita.com

あとは、前回同様以下のようなDockerfileを用意。

FROM jupyter/base-notebook:latest
USER root
RUN apt-get update \
  && apt-get install --no-install-recommends -y \
  libczmq-dev \
  libtool \
  make \
  ruby-dev \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*
RUN gem install --no-document \
  cztop \
  iruby
USER $NB_USER
RUN iruby register --force

Dockerfileを置いたディレクトリで以下を実行。

$ docker build --platform linux/amd64 -t iruby .

無事完了したら、以下のコマンドでIRubyを起動。

$ mkdir /tmp/lima
$ docker run -it --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v /tmp/lima:/home/jovyan/work iruby

表示されるhttp://127.0.0.1:8888/lab?token=…にブラウザでアクセスすると、x86_64のlRubyが使えました。

おわりに

aarch64では使えないneilslater/convolverも動きました。

f:id:gzalt:20211002120602p:plain
IRubyの画面

すばらしい。