前回の続き
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 の兼ね合いもあって、わけわからん。