App's
 | 

Mac M1用のDockerプレビュー版でエラー(トラブル)が起きた時の解決策

Apple M1チップ対応のMacでDockerを使うには、2021年2月時点では専用のDockerアプリ(Docker Preview版)のインストールが必要です。
(インストール方法は割愛します)

今回は、M1用のDockerアプリ(以下、Docker)で環境構築する際に起きたトラブルの解決策をまとめました。

おそらく、Docker Preview版ではない通常版でも起きる可能性もありますが、Docker初心者の方の役に立てばと思い記事を書きました。

dockerコマンドが実行できない

タイトルの通り、dockerコマンドが実行できい事象に陥りました。

バージョンを確認するdocker --versionは実行できたのですが、他のコマンドがダメでした。

このような事象が起きた場合、次の項目を確認してください。

Docker for Macにログインする

Dockerを起動したら、ステータスバーにDockerにアイコンが表示されます。

アイコンをクリックして、「Dashborard」を選択します。

Dockerのダッシュボードが表示されるので、右上からログインしましょう。

もし、アカウントが無い場合は作成してログインしましょう。

TravelshootからClean / Purge dataを実行する

ダッシュボードの右上のアカウントアイコンの左にあるてんとう虫?のアイコン(Travelshootを開くボタン)をクリックします。

「Clean / Purge data」という項目があるので、それを実行します。

その後、Dockerを再起動します。

私自身、「Clean / Purge data」を実行してDockerを再起動したら解決しました。

docker-compose buildやdocker-pullでエラーになる

docker-compose buildを実行したらこのようなエラーが表示されました。

ERROR: Service 'php-apache' failed to build : error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>\nYour browser didn't send a complete request in time.\n</body></html>\n\n"

調べてみると、こちらの記事が参考になりそうでした。

https://us-blog.com/docker-pull-http-408-response/

 

こちらの記事によると、どうやらネットワーク(Wi-Fi)の問題とのことです。

試しに、ネットワークのMTU値を変更してみたのですがダメでした。

 

なので、自宅のWi-Fiは一旦切断して、iPhoneのデザリングに切り替えて、再度docker-compose buildを実行してみました。

すると無事完了しました!

 

ネットワークを切り替えればいいので、iPhoneのデザリングではなく、違う場所(会社やFree Wi-Fiなど)で試してみるのもいいと思います。

まとめ

普段使わないツールで躓くのはかなりしんどいですよね。

とりあえずエラー文でググってみましょう。