最近、弊社でホスティングしているサーバの棚卸をしておりました。
現在管理中のサーバインスタンスが40台ぐらい。私が転職してきてから2月に1回のペースでサーバが増えてる計算です。
流石に40回もサーバ構築をしていると幾度となく同じすることをするケースがありまして、早いものでは1日あれば作業が終わるものだったりするのですが、そろそろ仮想マシンの上に仮想マシン(というかアプリケーションコンテナ)を構築しようという気になってきました。
加えて、数年前に作成したアプリケーションを久しぶりに自分のPCで稼働させようとするとすんなり動かないことが多いですね。
(その間、2回パソコンが変わってたりしますし)
DockerやVagrantなどの仮想化ソリューションを有効活用して「開発環境」を残しておけば健全に環境を運用することが可能だ。
加えてDockerならサーバ構成を設定ファイルで管理し、ホスティングしているサーバ上でcomposeすれば手間なく環境を構築することができる。
次期自社プロダクトではOAuthやLDAP認証にKeyCloak、フロントにVue,+Vuex, サーバにNginx,サーバサイドはGo + Beego, DBはPostgreSQLを検討していて、これらのアーキテクチャは全てDockerでコンテナ化する予定です。
Dockerにして嬉しいこと
- Nginx。気づいたらそこにある。
- Vue+Vuex。構築でnpm installでつまづくとか多分ない、みんな同じ環境
- Go+Beego、みんな同じ環境
- 既にPostgreSQLインストールされてるんだけど、アンインストールしなきゃダメ?→ No!
Hello Docker
Download Docker
こちらからダウンロード、ウィザードに従ってインストールを進めてしまいます。
https://store.docker.com/editions/community/docker-ce-desktop-windows
とりあえずの公式チュートリアル
進めます(Hello Dockerじゃなかった(笑))
https://docs.docker.com/get-started/
そういえば、、、
実はWindowsにDockerをインストールするにはWindows 10 Proじゃないといけないんです。
Homeだよーって人はDocker Tool Boxをお使いください。
(ProのHyper-Vではなく、Vagrant上でdockerを動かす構成になりますが、、、)
また、気が向いたら経過報告しようと思います。