#概要
簡単なアプリケーションを作成することがあり、せっかくであれば、触ったことがない技術にチャレンジしたいと思い、「Docker」で開発環境・本番環境を構築することにしました。
(全て新しい技術だと死んでしまうので、6:4=使い慣れた技術:触ったことのない技術ぐらいのバランスでやってみました。)
今回は、開発環境をdockerで構築してみました。
ただ、あまりにインフラ部分が苦手なので、わかりやすい記事を見つけたので、参考にしながら、わからない用語や仕組みなどを調べて、記事にしたいと思います。
Dockerでいい感じにPHP(Laravel)のローカル開発環境を作る
#誰向けの記事か
とりあえず簡単なアプリケーションを作れるけど、インフラとかサーバーの話はあんまりわかっていない人向け(プログラミング学習始めて、半年ぐらいかな?)
初心者の僕が、わからない用語を解説するので、基本的な内容ばかりです。
#そもそもDockerとはなんぞや
公式のサイトにはこのように書かれていました。
The Docker platform is the only container platform to build, secure and manage the widest array of applications from development to production both on premises and in the cloud
ざっくり訳すと、「Dockerは開発環境から自社施設やクラウド環境での本番環境で利用でき、ビルド、保守、運用を手がけることができます」って感じですかね?
自分は、環境構築が恐ろしく苦手なので、開発環境で動いたのに、本番環境では動かない!みたいなことは避けたかったので、dockerを使うことでリスクを軽減できればと思っております。
詳細な説明はこちらをご覧ください。
#Docker Composeとは
DockerはDockerイメージからコンテナを取り込んで、そのコンテナ内に環境を構築するのですが、開発環境というのはさまざまなソフトウェアを入れる必要があるので、毎回コマンドを打つのはめんどくさいということで、Docker Composeというツールを使うことで、複数のコンテナを扱うことが可能となります。
#Nginxとは
Webサーバーの一種。Apacheと比較されることが多い。両者の違いについては、こちらがわかりやすくまとまっていました。
#Webサーバー・・・??
クライアント(PC,スマホ、タブレット)からブラウザーを利用して、ウェブページにアクセスする際に、ブラウザに対してデータを返すサーバー。うん、この記事見た方がわかりやすい笑
#感想
やはりまだ一つ一つのコマンドの意味がわからないことが多く、用語を理解するだけで精一杯でした。でも、自分みたいな状態になっている初心者の方は多いかなと思い、このような記事を書いてみました。(頭の整理にもなりました)
#追記(2018年3月18日現在)
「docker-compose exec」というコマンドがわからなかったので、下記のリンクに詳細がありました。
日本語のドキュメントがあるのはありがたい。
http://docs.docker.jp/engine/reference/commandline/exec.html