はじめに
最初にDockerのコードを見た時や環境構築でエラーが続出し、全く立ち上がらなかった時、「Dockerは難しそうだし、触りたくない」と思っていました。
しかし、全くの初心者から一通りDockerを使って開発を進めるうちに、その便利さやメリットが少しずつ分かってきました。ここでは、私が実感したDockerの良さについてまとめます。
環境構築さえしてしまえばこちらのもの
Dockerで一度環境構築を済ませてしまえば、開発がかなりスムーズに進みました。
ここでは特に「異なるOS間でも開発できること」と「バージョン変更が容易に行えること」の2点に注目してまとめています。
異なるOS間でも開発できる
Dockerを使うことで、Linuxベースの開発環境を用意することができるのだとわかりました。
これにより、開発者が異なるOS(Windows、macOS等)を使用していても、同じ環境で開発を進めることができて、OSの違いによる不具合や動作の違いを気にすることなく、開発へ集中できるようになるのだと理解しました。
通常、Linuxを導入するには「VirtualBox」を使用する必要があったり、WindowsとmacOSで開発環境が異なったりしますが、Dockerを使えばこれらの問題を解決できるため、非常に便利だと感じました。
バージョン変更も容易に行える
Dockerfileやcompose.ymlを編集することで、使用するプログラミング言語やライブラリのバージョンを簡単に変更できることがわかりました。
通常なら、rbenvやnode、yarnなどをコマンドで変更しなければならないのですが、Dockerでは記述をするだけでバージョン変更ができるため、非常に感動しました。
これにより、新しいバージョンのリリースに対応したり、プロジェクトごとに異なるバージョンを使用したりすることが容易になりました。
チーム開発をするなら必須
これらから見えてきたのはチーム開発においてもDockerは非常に有用だと感じました。
Dockerを使用せずに環境構築を行うと、各開発者の環境に依存する部分で不具合が発生したり、設定ミスが起こったりする可能性が高まるだろうと思いました。
しかし、Dockerを使用することで、全員が同じ環境で開発を進めることができるため、環境の違いによる問題を防ぐことができるんだなと思いました。
まだチーム開発はやったことありませんが、その際にDockerが役立つのだろうとワクワクしています。
初学者のDocker学習におすすめ本
Dockerの学習では「Docker&仮想サーバー完全入門」が非常にわかりやすかったです。気になる方は目を通してみてください。
zennのこちらの記事(書籍)もかなりおすすめです。すごくわかりやすくイメージがつかめました。
おわりに
初めはDockerに対して抵抗感がありましたが、実際に使ってみると、その便利さを実感することができました。
今ではDockerが開発を容易に進めるために必要なツールであると理解し、Dockerに対するイメージが変わりました。これからもDockerを活用し、さらにスキルを磨いていきたいと思います。
また、本記事より感じたことや気づいた点などありました教えていただけますと幸いです。