Dockerで開発環境を構築する際のOSの注意点について
解決したいこと
Dockerの開発環境のOSを本番環境のOSに合わせるにはどうすればよいか?(必要があるか?)
(本番環境のOSはCentOs7)
背景
Dockerで新規開発システムの環境構築をしています。
要件として、
本番環境のOSと同一にしたい。コンテナ内(PHP、Mysql、Nginx)のOSも。
と言われています。
@robozushi10さんの回答を見て追記↓↓
ただし、確定要件ではなく、本番環境のOSと一致せず、コンテナ内のOSもそれぞれ違っていても問題ない合理的説明ができれば、合わせなくても問題無し、というっこともあり得る
追記ここまで
自分で調べた感じでは、以下のようなDockerの理解状況です。
- Linuxは互換性がある(パッケージ管理のコマンドが違うくらい・・・?)
- コンテナ内のOSはホストOSのカーネルを使用している
- ホストOSはDocker for Macでインストールされる仮想マシンの中のLinux
そこで疑問が出てきました。
疑問点
- 本番環境がCentOs7なので、それを合わせるには、ホストOSを変更しないといけない?
- CentOs7のコンテナ内にMySQLなどをインストールしても、コンテナのOSが利用するカーネルはホストOSを利用しているから意味ない?
- VirtualBoxとかのほうが良い?
- そもそもOSを同一にする必要はある?
まだ理解が甘いところも多々あるかと思いますが、最後の疑問点について
ご回答またはご指摘いただけると幸いです。
よろしくお願いいたします。