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

WSL2でCannot connect to the Docker daemonエラーが発生

Stable版をダウンロードしてきて再インストールしたら直った

docker-credential-desktop.exe not installed or not available in PATH

rm ~/.docker/config.jsonしたら起動できた

mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.

windowsだとvolume mountすると777になるのでDockerfileを作ってcopyするようにした

Dockerで日本語対応のPuppeteerを動かす

日本語フォントを入れて文字化けしないようにした

docker-composeでElasticsearchの検証環境を作る

手軽に全文検索エンジンの検証環境ができた