M1macbookPro で a-blog-cms のDocker環境作ってみた。

先日、会社のM1Macbook ProでDocker環境を作成しましたのでその備忘録を記事に残したいと思います。

Dockerのインストール・起動

公式サイトからインストールします。intelチップ用ではなくappleチップのDockerをインストールする点に注意してください。
M1チップ搭載のMacbookの場合Rosetta 2をインストールする必要がありますので下記のコマンドでインストールをします。Rosetta 2をインストールせずにDockerを起動するとDockerからエラーが出ますので、必ずインストールしてください。

softwareupdate --install-rosetta

docker-compose.yml の作成

普段はdocker-compose を利用してDocker環境を作成していますので、docker-compose.ymlを用意します。
docker-compose.yml

version: '2'
# service
services:
    # mysql
    mysql:
        image: mysql:5.7
        platform: linux/x86_64
        container_name: mysql
        user: "1000:50"
        ports:
            - "3306:3306"
        volumes:
            - ./docker-compose.d/mysql/mysql/data:/var/lib/mysql:rw
            - ./docker-compose.d/mysql/mysql/conf.d:/etc/mysql/conf.d:ro
            - /var/run/docker.sock:/tmp/docker.sock:ro
        environment:
            MYSQL_ROOT_PASSWORD: root
        command: --innodb-use-native-aio=0
    # proxy
    proxy:
        image: jwilder/nginx-proxy:latest
        platform: linux/x86_64
        volumes:
            - /var/run/docker.sock:/tmp/docker.sock:ro
            - ./docker-compose.d/certs:/etc/nginx/certs:ro
            - ./docker-compose.d/nginx.tmpl:/app/nginx.tmpl
        ports:
            - "80:80"
            - "443:443"
    # acms.lab(ドメイン名)
    acms.lab:
        image: atsu666/ioncube:7.2
        platform: linux/x86_64
        privileged: true
        volumes:
            - ./acms:/var/www/html
            - /etc/localtime:/etc/localtime:ro
        environment:
            - VIRTUAL_HOST=acms.lab
            - HTTPS_METHOD=noredirect

intel製のmacでDocker環境を作成するときとの違いは platform: linux/x86_64を指定している点です。
この記述がないと下記のようなエラーが出てしまいます。

docker: no matching manifest for linux/arm64/v8 in the manifest list entries.

上記のエラーは調べたらmysqlと一緒に書かれていることが多かったので、記述するのはmysqlだけで良いかもしれません。
ついでにdocker起動に必要なファイルも用意します。
docker-compose.dフォルダ内のファイルです。(ちょっとこれは会社で公開している人がいなくて、公開してもよいか分からないので一応伏せておきます。)
これらのファイルをを任意のディレクトリを作成して、設置します。例えば、~/develop/docker/ディレクトリを作成して設置します。

hostsファイルの設定

hostsファイルを以下のように編集します。

127.0.0.1 acms.lab

Dockerコンテナの起動

ここからはintelのMacと一緒です。下記コマンドを叩いてあげると、Docker環境が起動して、今回の場合だと http://acms.lab/でローカル環境が立ち上がっています

docker-compose up -d

a-blog cmsのインストール

ここからはいつも通りa-blog cmsをインストールできたら大丈夫です。 1点注意点としては、データベース設定でデータベースサーバー名を mysql にすることです。データベース名は任意で大丈夫です。 これは M1 と Intel で変わることではないのですが、忘れがちなところなのでメモとして残しておきます。

まとめ

今回は M1 Mac のDockerを初めて触ってみました。Docker が M1チップに対応したことは噂に聞いていたのですが、実際どうなのかは触ってみなければ分からなかったので勉強になりました。これからPCがM1チップになっていってもきちんと動かせるということがわかって安心しました。


関連記事

この記事のハッシュタグに関連する記事が見つかりませんでした。

最新記事

カテゴリー

アーカイブ

ハッシュタグ