#3: PHP Docker Container に入っても、Composer が見つからなくて挫折

kinocoboy
·

前回の続き

PHPの実行環境を作ろうとして、Docker hub から image をpull してみた。

結果的にhello world を Docker hub の image でやろうとしたけど、やり方がわからず&全然やりたいことと違う感じがしたため、挫折。

このhello world を出す続きをやっていく。

hello world のくせに難しい

心が折れそうになってきている。もう逃げたいー。Frontendだけやってたいー。

けど、目標の挫折100回に向かっている観点では順調なので、タラタラやっていく。

PHPが難しいんじゃなくて、Dockerが難しい。

とりあえず、記事を探してみる。

`docker-compose up -d` とかコマンドを打ちたいんだ。俺は!

そういえば、docker-compose ってなんだっけ。

もう一回入門する。

Docker 関連のソフトウェアについて

要約すると コンテナを乗せる部分 で、Linux で動く ソフトウェア。

そいつをコントロールするためにDocker CLIがおり、それをGUIで操作できるようにするために、Docker Desctopがいる。

Docker Desctop で Dockerの諸々が提供されているらしい。

Docker Hub 以外のやり方は?

前回の挫折ポイントでは、Docker Hub がよくわからなかった。

Docker Hub を利用しない方法で、image をどうにかできるか調べた。

Docker Compose がでてきた。

Docker Compose

要約すると docker コマンドをまとめて実行してくれるようなもの

なんかいろいろやってくれる特別な存在ではないようだ。

勘違いしていた。

Docker Compose で 何のコマンドを実行させるのかを理解しないと使えないのだね。こいつぁ。

Docker Compose は Yaml ファイルを書くことにより、複数のコンテナをまとめて起動したりしてくれるツール。

Container を XXX, Image をXXX, DockerFileをXXX などの細かい指令をまとめて掛けるだけか。

てことは、docker-compose.yaml を書けばいいってこと?

docker-compose.yaml を書いてみる

バイブスがあがってきた!!

いくぞ、おらおらおら。

あ?WSL2 で作ったディレクトリってどこにあるんだ...?

あー、、くそくそ。

WSL2 の ディレクトリがわからない

あった!見つけられた!

ん?VSCodeで参照できないぞ。。

あーーーくそくそ!

VSCode で WSL2 ubuntu の ディレクトリを開きたい

来た!!!開けた!!!

ubuntu 上で hello-world.bash を叩けた!!!

これでWindows で 開発行為ができるようになったってことだな。。

これはさらにバイブスがあがってくる。

でも、php の hello-world はまだできてない。

こっからこっから。

とりあえず、ubuntu から gitへアクセスできるようにしたぞ。

おっしゃああ!!おらあああ!

docker-compose.ymlを書く

とりあえず、一番新しそうなQiitaの記事を参照して、写経してみた。

いざ、docker-compose up -d

くおおおおお!!

きた!!

Hello-World!!!!

今までにやったどのHelloWorldよりうれしいぜ。。。

php の container に入って、composer が使えるのか見てみる。

コンテナには入れた!

けど、composer がない...??

node にたいしての npm みたいに連動して動いてはくれないんだね。

なんだこれ、、、どうやってやるんだ、、、。

どこにcomposer を適応したらよいのだ?

container?? WSL2?? Windows??

いや、windowsはないよな。

WSLか??php入ってないぞ?

心ここで折れた!!!ダメーーー!

振り返り

  • PHPでHello World ができたぞ!!!!!

  • PHP が利用できる Docker Container も作ることができた!

    • でもその中にComposer が入ってない。。

      • Node と npm みたいな関係じゃないの...??

      • わけわからん。

  • 課題

    • Laravelを組み込むにあたって、Composer を使えるようにしないといけない。

    • WSL2 の兼ね合いもあって、わけわからん。

@kinocoboy
挫折するたびに記事を書きます。 2024年は100回挫折することを目標にした。