Help us understand the problem. What is going on with this article?

Raspberry Pi4(Ubuntu server20.04)でDockerを動かす勘所

初めに

 ここに書いたのは、あくまでも2020年11月28日現在の話。Raspberry Pi上のDocker環境は激しく変わる。

 Raspberry Pi OSの64bitはまだβ版。しかし64bitしかサポートしないアプリが増えているのでUbuntuを使う。

dockerは公式の最新を使う

 ディストリビューションからインストールされるバージョンは大抵古いので、Docker公式のレポジトリを登録して使う。

 https://docs.docker.com/engine/install/ubuntu/

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

docker-compseを入れる

 docker-compseは、公式からARM版バイナリが公開されていません。自力でコンパイル pip3でインストール。

$ sudo apt-get install libffi-dev libssl-dev
$ sudo apt-get install python3 python3-pip python3-dev
$ sudo pip3 install docker-compose
  • Python3はデフォルトでインストールされているかも

MySQL

  • NG(イメージがダウンロード出来ない)
$ docker pull mysql
  • OK
$ docker pull mysql/mysql-server

docker-compose.ymlで image:mysqlと書いてある部分は、mysql/mysql-serverに置き換える(挙動はあまりかわらない)

  • 両者の違いは前者はDocker公式(debian base)で、後者がOracle公式(Oracle Linux base)みたい。

phpmyadmin

  • 動かなっかった AMD64版を動かそうとしていたみたい。
$ docker run phpmyadmin/phpmyadmin

exec user process caused "exec format error" dockerエラーがでてコケた。

  • 動いた
$ docker run arm64v8/phpmyadmin

jwilder/nginx-proxy

 これも動かない。
 Dockerfileを見ると同梱するツールがamd64版をハードコードされていた。一緒に入れているツールのarm64版をコンパイルする必要がありそうなので取りあえずパス。

tsudon
リハビリで適当にやってます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away