宇佐木さんの務めているIT会社(zoozoo社)は、小さい代わりに小回りが効くので新しい技術を取り入れるテンポが速いです。以前から開発現場にDockerを取り入れており、そろそろ顧客の本番環境でも活用しようという議論が始まっています。
SE虎岡 Docker(ドッカー)の件だけど、検討してくれた?というか、ウサさんの検討を待ってると永遠に待たされるから、もう導入しちゃうよ。
宇佐木 あああああ、ごめんごめん。忘れてた。勉強しようと思ってたんだけど。
SE虎岡 ウサさんはいつもそうだよねぇ……。
宇佐木 ごめん。もらった本は、軽く読んだけど、良さそうだから入れよう。今まで、特に問題は起こってないんでしょ?
SE虎岡 最近は問題ないね。じゃあ、入れるよ。どういうふうに入れる?
宇佐木 その話の前に、Dockerの理解が合っているか確認したいんだけどさ。要するにコンテナをポコポコ作れて、それぞれのマシンにDockerの母体さえインストールすれば、コンテナを簡単に移せるって理解でいいんだよね?それをウチの開発機と顧客の本番機でもやろるんだね。
SE虎岡 まあ、そういうことだね。簡単に移せるというか、再現できるというか。
鹿野(PM補佐) Dockerって何ですか?
宇佐木 うーん。ものすごく大ざっぱに言うと、サーバーを簡単に作れるソフトかな。
SE虎岡 それはDockerの本質じゃないよ。サーバーを簡単に作れるといえばそりゃそうなんだけど。
鹿野(PM補佐) サーバーって作るの大変なんですか?
SE虎岡 サーバーというのは、普通のパソコンと同じで、OSとソフトウエアをいくつか入れなくちゃいけないんだよ。ソフトウエアを1つ入れるにも設定とかなんとかあって、結構な手間がかかる。鹿野君だって、Officeのインストールに時間かかっただろ?
鹿野(PM補佐) うーん。僕、ソフトウエアってインストールしたことないんですよね。いつも宇佐木さんのお古のパソコンですし。
SE虎岡 とにかく、Dockerというソフトウエアを使うと、サーバーがすぐできるから、開発環境を作りやすいし、本番環境にも移しやすい。そんな感じで使う予定。ウサさん、鹿野君にDockerの解説書を貸してあげて!!
Dockerとは、パソコンやサーバー上に独立したプログラムの実行環境を作れる仕組みです。宇佐木さんの「ものすごく大ざっぱに言うと、サーバーを簡単に作れるソフトかな」という解説は、間違ってはいませんが、Dockerの使い方の1つに過ぎません。
zozoo社で導入を決めたようなので、まずはDockerがどのようなもので、どのようなメリットがあるのか概要を解説していきましょう。