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コンテナが動くようになった。