とりあえずDockerって何?と思った人のためのまとめ
Dockerとは
一言でまとめると
ざっくりというと「仮想環境構築のためのツール」。
Dockerのメリット
1、要するに開発環境の構築&破棄が簡単になる。
2、環境による違いをなくせる。
3、クラスタ構成を作るのも楽。
こちらが詳しかった(https://knowledge.sakura.ad.jp/13265/
コード化されたファイルを共有することで、どこでも誰でも同じ環境が作れる。
作成した環境を配布しやすい。
スクラップ&ビルドが容易にできる。
例えば、開発環境(Windows上)では動いていたけどLinuxで動かなかった、といったケースも、開発工程からDockerを活用していくことで防ぎやすくなります。そして、開発工程の中で使っていた環境をそのまま本番環境に持っていくことも可能なため、環境差分が少なく、環境による問題を減らすことができます。作成したDockerイメージを他の人にも渡して使ってもらうことで、各自の環境のバージョンずれ防止や、開発環境準備の短縮化にもつながります。開発環境の準備で、説明不足や手順ミスで、丸一日かかったとなってしまうのはもったいないですよね。私自身も、開発環境からDockerを使っていて、新規メンバ参画時のコスト削減や、環境依存問題を減らせて、役立っています。また、クラスタ構成を構築する場合も、Dockerイメージがあれば、それを起動する名前(コンテナ名)などを変えるだけで、
複数の環境(コンテナ)を起動できるので、一から手順に沿って環境を作る作業もなくなり、クラスタ構成を構築するのも容易になります。これは、コンテナを管理するオーケストレーションツールを使うことで、より運用が楽になります。
Dockerを導入する基準は? Dockerのデメリットは?
こちらが詳しい。https://qiita.com/taishin/items/e1e7153cecb3ffd44a54
要するにインフラや開発サイクルや運用のことまで考えて導入すべきと思われる。
大規模チームで常にリリースする事業会社なら必須だろうが、少人数で小規模な受託開発するならメリットは無さそう。
(ちなみに前々職では意味なかった
Dockerで環境を作る流れ
1,Dockerレジストリ(DockerHub)からDockerイメージ(環境に必要なソフトウェアのことPHP,Apache、MySQLなど)を取得。
2,DockerイメージをDockerコンテナ(仮想環境のこと)として動かす。
DockerでPHPを環境を動かす
こちらが詳しい。https://qiita.com/nemui_/items/f911be7ffa4f29293fd5
DockerでLaravelの開発環境を作る
Laravelの場合はLaradockを使用するらしい。
https://qiita.com/J_Shell/items/695a30fd38444d065ae5
Dockerのトラブルシューティング
コンテナ間での通信やイメージに関するトラブルが多い模様。