勉強・個人開発用に作ってきた Dockerfile をリポジトリにまとめてみた
最近新しい MacBook Pro を買いました.「早速ライブラリやツールを入れていくぞぉ〜」って感じになったのですが,様々な言語・フレームワークの導入の都合で入れたツール・ライブラリの依存関係が原因でのエラーで時間を無駄に食ってきた記憶が頭を過ぎったので,普段の勉強・個人開発でも Docker をバリバリ使っていくことにしました.
そこで Dockerfile はちょこちょこ書いていたんですが,よく使う Dockerfile は dotfiles みたいにリポジトリにアップしてたら便利そうと思いました. というわけでは今回は Dockerfile をリポジトリ作ってみたのでそれについて思ったことなどをまとめていこうと思います.
Docker は普通に Docker for Mac です.ホストとゲストとファイル同期は Mutagen を使っています.
作ったもの
リポジトリはこちら.まだ Rails6 と Vue CLI しかないです笑. コメントアウトで少し説明を入れています.使う時は消しています.これから用途に合わせて Ruby や Golang なども入れていく予定です.
やってみての感想
Docker を勉強せざる負えない環境を作ることができた
今までは比較的仕事では Docker,個人では Mac に言語やフレームワーク を直接導入してコードを書いていました. そのため,普段から Docker 使っていないことによる躓きが少し目立っていたなぁと感じていました.
今は何かしらの言語でコードを書くぞ! となったら,まずは Dockerfile を作るところから始まるので, Docker を勉強せざる負えなくなり,そのおかげで段々と知識が着いていき,躓いていた箇所(特に port 周り笑)が「え?こんな所で躓いていたのか」と理解できるようになってきました.
ちなみにこの本を読んでます.
クラウドネイティブなアプリ開発の事例が増えている実感がやっと出てきた
仕事ではアプリケーションサーバとして Amazon EC2,CI 環境として Amazon ECR + AWS Code Build を使っております.しかし,今から新しいプロダクトを作るなら Amazon ECS や AWS Fargate,Amazon EKS などを使ったクラウドネイティブな事例をよく聞くようになりました.
まぁもう既にそんな事例は国内で沢山あると思いますが社内で他の何チームかが使い始めた話を聞いて「いよいよ身近になってきたなぁ」と今更ながら実感してきました.
その状況下で,フロントエンド・サーバーサイド・インフラエンジニアなど職種に関係なく,今まで Mac に言語・フレームワークを直接導入していた感覚で, Dockerfile を作れるレベルになる必要にならないとなぁと思うようになりました.
まとめと所感
今回は勉強・個人開発用に作ってきた Dockerfile のリポジトリについてまとめてみました. Docker を普段使いにしてから1ヶ月ほど経ちましたがだいぶ慣れてきました. 特に技術書に書いてあるコードをシュッと試す時に今回作ったリポジトリが役立っています. この調子でコンテナサービスの使い方も勉強していこうと思います.
Cloud Run が従量課金制でかつ AWS Fargate よりも手軽に使えるというのを会社の上司が熱弁していて,GCP にも少し興味が湧いてきました.
そういえば,よく使う Vim の設定は dotfiles って名前でリポジトリ管理する話は聞きますが,よく使う Dockerfile をリポジトリでまとめる話ってそこまで聞かないですね.(あくまで雛形レベルでの管理になりますが) そこらへんのところって皆さんどうしてるんだろ...🤔