自分は、「どんな立場で」Dockerを使うのだろうか
Dockerコンテナを「作ること」と「使うこと」は違います。
これは他の技術でも同じですが、誰もがDockerコンテナを作る技術を必要とするとは限りません。
Dockerが登場したときは、それこそサーバーの設計や管理をするような「つよつよエンジニア」の人たちが最初に飛びつきました。それからDockerは様々な場面で、色々な人たちに使われるようになり、現在に至ります。ですから、最初の頃のイメージで「Dockerを使うなら、深いところまで知らなければならない!!」と言う人たちもいるのですが、そうではありません。
例えば、世の中に運転免許を持っている人は数多くいますが、ペーパードライバーという人もいれば、毎日車に乗っている人もいます。免許を持っているからといって、必ずしも車に毎日乗らなければならないわけではありません。また車のマニアになる必要もありません。それと同じことです。
必要な人は、しっかりと、深いところまで技術を知る必要がありますが、そうでない人は、「どのようなものであるか知ること」「簡単に使えること」ができれば十分なケースも多いです。
例えば、あなたがマネージャー職や、プログラマー、マークアップエンジニアなど、どちらかというとDockerを使う側の人であれば、深い話はスキップしてしまってよいでしょう。いずれ必要になるかもしれませんが、そのときには技術がさらに進化しているでしょうから、改めて勉強しても問題ありません。
逆に、ネットワークエンジニアやサーバー管理者、リードエンジニアなど、周りの人に環境を配る立場や、インフラ関係の仕事を目指したいのであれば、Dockerについて深く学ぶ必要があるでしょう。Dockerだけでなく、次に紹介するKubernetesなども必要になってきます。
また、Dockerだけを知っていても、対応が難しいことがあります。まずはDockerからはじめ、よくわからないことに関しては、Linuxや個々のソフトウェアについて情報を得ると良いでしょう。
このように目指す仕事ややりたい仕事によってDockerとの付き合い方は変わってきます。自分はどのような仕事を主戦場とし、さらにDockerとはどのように付き合っていくのかということを考えてみてください。
もし、あなたがまだ、進む道が決まっていないのであれば、楽しいか楽しくないかということを指標の一つにするのもいいでしょう。楽しくない仕事よりは、楽しい仕事の方が向いている可能性が高いからです。まずは試しに触ってみて、自分の方向性について考えるのも良いかもしれませんね。
Docker composeとKubernetesって何?
最後にDocker compose(ドッカー・コンポーズ)とKubernetes(クバネティス)について軽く触れて終わりにします。
本来は、ちょっと難しいので、この話はあまりしたくないのですが、Dockerの話には必ずと言っていいほど名前が出てきてしまうので、皆さん気になると思いますから、どんなものかということだけお話をしておきましょう。
■Docker composeとは
まず、Docker composeはDockerの機能の一部です。
Dockerは、何かしたい場合にコマンドを一つずつ打って実行するのですが、Docker composeは、一つの定義ファイルに色々と書き込んで、それを一気に実行することができる機能です。
特に、誰か詳しい人が、定義ファイルを作って、プログラマや、マークアップエンジニアのような「使う側の人」がそれを使って、一気に環境を整えたりするときに活躍します。
また、同じようなコンテナを色々な状況で作りたいときにも便利です。
以前は、Dockerとは別の、付属のような機能だったのですが、現在では、本体に組み込まれています。
※『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』マイナビ出版 P.203より引用
■Kubernetesとは
Kubernetesは、コンテナを自動で調整・管理できるソフトウェアです。
簡単にいうと、Dockerのコンテナを自動で操作するようなイメージでしょうか。実は、Kubernetesにも種類がたくさんあり、コンテナもDockerではないので、正確な表現ではないのですが、ザックリとそんなイメージだと捉えてください。
▲Kubernetesは、クラスターを形成し、コンテナをまとめて管理できる ※『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』マイナビ出版 P.234より引用
Kubernetesは、自動で動くので、コンテナがダウンしてしまっても、人間が何かすることなく、自動で復活させることができます。そのため、大規模なプロジェクトの管理で使われます。
初心者のうちは、あまり遭遇する場面はありませんが、もし、関わることになったら、Dockerを学んだ後に取りかかると良いでしょう。その方がわかりやすいはずです。
ニャゴロウ先生のまとめ
3回に渡ってDockerについてお話をしてきましたが、なんとなくイメージが掴めたでしょうか? Dockerは大変便利な仕組みなのですが、ターミナルソフトを使っての操作であるため、どうしても難しく感じてしまいがちです。しかし、実際はそこまで難しいものでもなく、初心者のうちであれば簡単なコマンドしか使いませんし、複雑なコマンドが必要になるころには、あなたも知識が身についているはずです。
自分のパソコンの環境に影響することなく、手軽に、様々なコンテナを立てては壊すことができるので、慣れると大変便利です。
面白そうだと感じたなら、少しずつ、慣れて取り入れてみましょう。
それでは、良きDockerライフを!
▼Dockerゆる入門
1:「Dockerが便利」といわれる理由は?
2:Dockerを使ってみよう!
3:Dockerとの付き合い方はどうしたらいいの?
技術ライター、イラストレーター。システム開発のかたわら、雑誌や書籍などで、データベースやサーバー、マネジメントについて執筆。図を多く用いた易しい解説に定評がある。主な著書に『なぜ?がわかるデータベース』(翔泳社)、『図解即戦力 Amazon Web Serviceのしくみと技術がこれ1冊でしっかりわかる教科書』『ゼロからわかるLinuxサーバー超入門 Ubuntu対応版』(技術評論社)、『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』(マイナビ出版)がある。
※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。