こんにちは coffeeです。

コメント 2018-12-22 152828

 

多人数で開発する際に、開発環境を揃えたい時、ありますよね。

サーバーの構成管理を楽にするためにもDockerを使ってみよう、と言うことで

Dockerにトライします。

 

docker

 

Dockerとは何か?

DockerはLinuxのコンテナ技術を使用したもので、プロセスやミドルウェア単位で区切った仮想マシンのようなものです。区切ったという部分がコンテナです。

 

  • イメージ
  • コンテナ

と言う用語があるのですが、

簡単に言うとイメージは動作しないもの、コンテナは動作するものです。

イメージを元にコンテナを作ります。するとそのイメージだったミドルウェアやOSが動き始めます。

また、イメージはインターネット上から引っ張って来ることができます。

つまり、自分の本番環境と同じイメージファイルをインターネット上から引っ張ってきて、コンテナとして動作させれば良いのです。

これによって本番環境と同じ環境で開発を進めることができます。

 

また、コンテナ間の通信もできます。

例えばWordpressはMysqlを利用して記事を管理していますが、この間の通信を定義する必要があります。Dockerネットワークを作成する、という言い方をするようです。

 

docker composeは複数のコンテナまとめて起動することができますが、その際にdockerfileやコンテナ起動のための情報、Dockerネットワークなどを定義します。

composeは組み合わせる、と言う意味なのでそのままですね。

 

これによって、複数のコンテナが組み合わさってできた複合体を起動したりストップしたりするようです。

 

つまり、好きなイメージをインターネットから引っ張ってきて、それらを動くコンテナに変えて、そのコンテナをネットワークなどを定義しながら組み合わせて複合体にすることで、プロセスやミドルウェアの起動、ストップを簡単にするようです。

 

これを複数人で使う、となると自身で作成したコンテナや、composeをインターネット上に公開して、それを別の人が取ってくる、と言う仕組みが必要ですがその機能もあるようです。

Docker hubという所にアップロードするみたいです。

Githubを使ったことのある人ならわかるかもしれませんが、似たような仕組みになっているようです。

 

この記事では「Githubを明らかに意識したつくりである」という風に述べられています。

2018年なぜ私たちはコンテナ/Dockerを使うのか

 

以上を踏まえて次回は自分なりに、dockerで環境構築を行ってみたいと思います。

 

参考文献

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください