M1 Macのdocker previewでWordPressを動かしてみた。


docker previewが一般公開されたのでテストしたかった。

M1 Macのdocker previewが出たので早速テストしてみた。
普段はVPSのWordPressで開発を行なってるが、ローカルで動かしてみる。
なお、localbyflywheelが既にSilicon対応済みなので、
WordPressの開発だけであればそちらの方が楽だと思う。

dockerをDLした場所
https://www.docker.com/blog/download-and-try-the-tech-preview-of-docker-desktop-for-m1/

参考
https://docs.docker.jp/compose/wordpress.html

まずは何も考えずにdocker-compose

docker-testというフォルダにdocker-compose.ymlを作って上記参考アドレスからコピペ

docker-compose.yml
version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:
$ docker-compose up     
Creating network "docker-test_default" with the default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries

 
mysqlをpull中に ERROR: no matching manifest for linux/arm64/v8 が出てる。

docker-imageでもarm_64対応が必要らしい

docker hubのmysqlを確認

x86-64のみでarm64がないから動かないっぽい。

mysqlからmariadbに変更

mariadbを確認してみる。

行けそう。docker-compose.ymlを一部変更

docker-compose.yml
version: '3'

services:
   db:
     image: mariadb
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

db:imageの部分をmysql:5.7からmariadbに置き換えた

$ docker-compose up

エラー出なかったのでlocalhost:8000をブラウザで開く。

動いた。ログインも問題なかったです。

おまけ

アクティビティモニタだと、Docker DesktopはintelでDockerコアのみappleになっている模様。
まだそれほど動かしてないけど、CPU使用率もメモリ使用率もそれほどでもない。
初回起動は少し時間がかかったが、ブラウザが爆速なので快適。