質問: 部活動用にサーバを構築しています。 redmineなどいくつかのサービスが必要だと思ったので、管理がしやすそうで同じ環境をいつでも再現しやすそうなDockerを使用しようとしています。 セキュリティを考え公式イメージを使うように心がけていますが、なかなか構築できないといったときに非公式イメージを使用したくなります。 疑問 --- * 非公式イメージを部活動用に採用するのは大丈夫か * 非公式イメージのソースを見たうえで安全だと確認した後、その後ソースが変更される可能性を考えると採用してもいいのか 安全を考えればすべて自分で構築するのが良いかと思うのですが、すでに作られているイメージを使う利点も欠点もあるので判断に迷うところです。 皆さんはどのようにお考えでしょうか。
回答: DockerHubは、以下の種類のイメージが存在します。 * ホストマシンで好き勝手に生成して作った仮想マシンのスナップショット的なイメージ * GitHubと連携し、Webhook機能を利用してDockerHubが生成したイメージ(公式もだいたいこれ) DockerHubでユーザアカウントを作成して、リポジトリを作る時、 既存のGitHubのリポジトリと連携する機能を使って3番のように作る手法があります。 この機能を利用して作ったリポジトリは、 画面右側に対応するGitHubのリポジトリのURLが付帯する上、 ホストマシンで作ったDockerのイメージをアップロードさせる事が不可能になります。 > > セキュリティを考え公式イメージを使うように心がけていますが、 > > なかなか構築できないといったときに非公式イメージを使用したくなります。 > > > 従って、GitHubのリポジトリが悪意の第三者によって一瞬だけ変なコードが混入した状態になり、 たまたまそのバージョンを踏んづけてしまうようなケースならばともかく、 基本的にDockerHubとGitHubリポジトリが同期しているイメージは、非公式イメージであってもわりと安全です。 非公式イメージを採用する場合、GitHub連携されているかつ、 コードを呼んでこれで行けそうと感じるものであれば利用しても大丈夫だと思います。 まぁ、それでも上司や先輩を納得させられないなら、 Dockerfile読んで同じことするDockerfileを自分で作って自分でビルドすれば良いと思います。