朝活78日目 書籍のDocker動かない!?から動くまで
寒いなぁー
もうちょっと厚着して寝るんだった。。。
ということでDocker久しぶりに書いていく
書籍の内容を試してみる
先日まで読んでいた書籍「はじめてのPHPプロフェッショナル開発」のコードをまずは動かしてみる。
幸いにもコードが公開されているので落としてみよう。
落としてみた。
とりあえず動かしてみる。
docker-compose up -d
お、こけた
=> CANCELED [internal] load metadata for docker.io/library/php:7.2-apache
ネットで調べたら、直で落とすといいとのこと
docker pull php:7.2-apache
=> CANCELED FROM docker.io/library/composer:1.7
docker pull composer:1.7
今度はここ
RUN apt-get update && apt-get install -y \
libicu-dev \
zip \
unzip \
&& docker-php-ext-install -j$(nproc) intl \
&& docker-php-ext-install -j$(nproc) pdo_mysql
apt-get updateだけにしても詰まる
RUN apt-get update --allow-releaseinfo-change にしたら通った
RUN apt-get update --allow-releaseinfo-change && apt-get install -y \
libicu-dev \
zip \
unzip \
&& docker-php-ext-install -j$(nproc) intl \
&& docker-php-ext-install -j$(nproc) pdo_mysql
は通らない。
&&より後ろをみていく
RUN apt-get update --allow-releaseinfo-change
RUN apt-get install -y \
libicu-dev \
zip \
unzip \
&& docker-php-ext-install -j$(nproc) intl \
&& docker-php-ext-install -j$(nproc) pdo_mysql
分裂させてみた。
CANCELED [stage-0 4/8] RUN apt-get install -y libicu-dev zip
やっぱここでおコケになってる
RUN apt-getの直前にRUN sudo rm -rf /var/lib/apt/lists/* を記述したら通った。
この後ここ不要だったことがわかった
=> CANCELED [internal] load metadata for docker.io/library/mysql:5.7
馬鹿の一つ覚えでdocker pull mysql:5.7エラー
no matching manifest for linux/arm64/v8 in the manifest list entries がでた
あなた初めてじゃないねー
M1 Macのアーキテクチャの問題
docker-compose.ymlにplatform: linux/amd64を追記
そしたら、先ほど書いたRUN sudo rm -rf /var/lib/apt/lists/*がエラーを起こす。
削除してdc up 通った
立ち上がった!
なんでRUN sudo rm -rf /var/lib/apt/lists/*を記述して通るようになったのに、platform: linux/amd64を追記したら不要になって、しかもその後とおるようになったのかわからない。
そもそもplatform: linux/amd64がなかったからエラー起こしてただけ?
もう今日は朝活終わりにしますが、一旦コンテナ削除してplatform: linux/amd64を追記した状態から始めてみようかなー
おわり
ただの環境構築だけど、こうして動くと嬉しいものがあります。
原因は分かってないので、動いた理由を明日以降探ってみようかなー
最近仕事の方は出来ないことばかりで凹みに凹んでますが、一つ一つできることが増えていくようにしたいですねー。
この記事が気に入ったらサポートをしてみませんか?