Raspberry PiでmysqlのDockerコンテナを動かす

公開日時

RaspberryPiをRaspbian Busterにアップデートしたところ、mysqlが動かなくなってしまった。

試行錯誤したものの依存解消するのが難しそうだったので、これを機にDockerでmysqlコンテナを動かすことにした。

  • インストール
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi

ただし、RaspberryPiは普段使っているMacとはCPUが異なるため、mysql公式イメージを動かすことができない。

RaspberryPi用のmysqlイメージとしてhypriot/rpi-mysqlが公開されているのでこちらを利用する。

バージョンは5.5のみが公開されている模様。

もともとMac用に作っていた[[docker-compose.yml]]が以下。

# docker-compose.yml
version: "3"
services:
  datastore:
    image: busybox
    volumes:
      - db_data:/var/lib/mysql
  db:
    image: mysql:5.5
    environment:
      MYSQL_ROOT_PASSWORD: pass
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

MacとRaspberryPi両方の環境でアプリケーションを動かしたかったので、[[docker-compose.override.yml]]を使ってイメージを上書きすることにした。

ついでに再起動時に自動で立ち上がるように[[restart: always]]も設定。

# docker-compose.override.yml
version: '3'
services:
  db:
    image: hypriot/rpi-mysql
    restart: always
    ports:
      - "3306:3306"

これでRaspberryPi上でもmysqlコンテナが動くようになった。

参考


Related #docker

Dockerのデータ保存場所を変更する

/etc/docker/daemon.jsonに追記

docker-composeで最新のログを確認する場合

tailオプションも合わせて指定しよう

docker-compose build時に「no Space Left on Device」が発生

1年前にも同じエラーにハマってた

Windows10 HomeにDockerを入れる

Windows 10 May 2020 UpdateでWSL2が導入されたおかげ