Docker/プログラミング初心者です。
開発環境にDockerを導入することを本格的に検討しています。
Dockerを使ったシステムの開発・テスト・本番環境のデプロイの際に一般的に取られる方法をご教示頂きたく質問いたします。
個人的には以下のような流れかと考えていますが、違う点についてご指摘頂きたく存じます。
#■①-1: 1人目のDockerコンテナを使った開発環境の構築
①手元のPCなどでコードを作成(ex. HelloWorld.java)
②手元のPCでコンテナ作成+コンテナを作成するときにHelloWorld.javaがある手元のPCをコンテナにマウント
③コンテナ内に開発環境・実行環境に必要なパッケージをインストール
④コンテナにマウントしたディレクトリ内にあるHelloWorld.javaをコンパイル・実行
#■①-2: ①-1を行った人が開発環境・実行環境をチームの他の人に配布するためのDockerfileの作成
①Dockerfileを作成
FROM centos:7 RUN yum install ...(開発環境・実行環境のインストール) ADD HelloWorld.java /ソースコード配置先ディレクトリ
②HelloWorld.javaとDockerfileをGitHubのリポジトリにpush
③他のチームの人間はgit cloneでHelloWorld.javaとDockerfileとローカルにコピー
④HelloWorld.javaを編集、Dockerfileをビルドしてイメージ作成→コンテナ作成してHelloWorld.javaを実行
(コードはDockerコンテナ外の手元のPCで編集して、コンテナ内ではコンパイルと実行のみイメージしていますが、この点も変であればご指摘頂ければ大変幸いです)
⑤完成したHelloWorld.javaとDockerfileをGitHubのリポジトリにpush
#■②: テスト環境の構築
① ①-2の⑤でGitHubにpushしたHelloWorld.javaとDockerfileを元にイメージ作成→コンテナを作成してコンテナに対してテスト実施
② テストに成功したら、別のGitHubのリポジトリにテストに成功したHelloWorld.javaとDockerfileをpush
#■③と④: ステージング・本番環境の構築
① ②の②でテストに成功したHelloWorld.javaとDockerfileをgit cloneでステージングまたは本番環境にコピー
② ①でコピーしたDockerfileを元にイメージ作成→コンテナ作成してステージングまたは本番環境をデプロイ
以上のイメージを持っているのですが、違う点やもっとこうした方がいいなどありましたらご教示頂ければ幸いです。
また、付随する内容について2点質問いたします。
#■追加質問①
DockerfileでFROMで使うのは信頼できるオフィシャルのイメージを指定するのが一般的で、DockerHubにpushした独自イメージはあまり指定しないのでは、と思っているのですが、その認識であっていますでしょうか?
どうぞ宜しくお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/02 07:58
2018/06/02 08:37 編集
2018/06/21 16:33 編集
2018/06/22 01:08
2018/06/22 18:00 編集