Dockerを2年間すべてのプロジェクトで使ってみた正直な感想

Dockerを2年間すべてのプロジェクトで使ってみた正直な感想

🤔 なぜDockerなのか

最近、Dockerが主流であることは間違いありません。

約2年前から、すべてのプロジェクトをDocker基盤で制作するようになりました。一度使い始めると、もう元には戻れません。

🔧 Dockerを使い始めたきっかけ

きっかけは単純でした。プロジェクトを納品するたびに、直接サーバーに行って環境設定をするのがとにかく面倒だったのです。

PHPのバージョンを合わせて、MySQLのバージョンを確認して、Apacheの設定をいじって…これをプロジェクトごとに繰り返していると、さすがに嫌になります。

# 以前の納品方式(地獄)
ssh root@サーバー
apt-get install php7.2
apt-get install mysql-server
vi /etc/apache2/sites-available/000-default.conf
# ... 終わりのない設定

💡 使ってみて良かったこと

導入障壁が低い

Dockerの最大の長所は、思ったより導入障壁が低いことです。Dockerfileの文法自体が直感的なので、Linuxコマンドをある程度知っていればすぐに適応できます。

パッケージ化デプロイが楽

これが本当の核心です。いくつかのスクリプトを用意しておけば、プロジェクト納品時にわざわざ現地に行く必要がありません。誰でも行って数行タイプするだけで完了します。

# 現在の納品方式(天国)
docker-compose up -d

この1行で終わりです。Webサーバー、DB、キャッシュサーバーまですべて起動します。

開発環境の統一

「私のPCでは動くんですけど…」— 開発者なら一度は聞いたことがあるでしょう。Dockerを使えば、この問題が完全に解消されます。開発環境と本番環境が同一になるからです。

⚠️ デメリットはないの?

仮想化によるパフォーマンスオーバーヘッドは確かに存在します。

しかし、メリットと比較すると微々たるものです。特にWebサービスを運用する立場では、体感できるレベルではありません。

もう一つ不便な点は、最初にDockerfileとdocker-compose.ymlを書くのに少し時間がかかることです。ただし、一度作ってしまえば継続的に再利用できるので、初期投資と考えれば問題ありません。

🎯 まとめ

まだDockerを使ったことがない方にお伝えしたいのは…

とりあえず使ってみてください。導入障壁は低いです。一度味わうと、使わなかった頃には戻れなくなります。

特にフリーランスや受託開発が多い方は、Docker導入で納品プロセスが劇的に短縮されることを実感できるはずです。2年間使ってみて、確信を持って言えます。