Upgrade to Pro — share decks privately, control downloads, hide ads and more …

カスタムDockerイメージの作成

 カスタムDockerイメージの作成

More Decks by Masahiko Funaki(舟木 将彦)

Other Decks in Technology

Transcript

  1. 3 アジェンダ Dockerコンテナで何が嬉しいのか コンテナの基本 1 2 開発用コンテナの構築 チーム内で開発環境を共通化 3 開発用コンテナ上での開発

    アプリ開発、およびテスト 4 CircleCIによる自動化 テスト~デプロイ用コンテナ作成 5 Q&A 時間がない場合はブログにて回答
  2. 4 この Webinar を受講すると Dockerコンテナ上で開発をするための環境構築・作業の進め方・ビルド~デプロイについて理解できる。 1. (Node.js + express)環境構築のCircleCIによる自動化 2.

    Dockerコンテナ上で開発・テストを進める方法 3. アプリ・サービスのDockerイメージ構築のCircleCIによる自動化 リポジトリ 本日使用しているリポジトリは、 - https://github.com/mfunaki/CCI-Img-Node - https://github.com/mfunaki/CCI-App-Node - https://github.com/mfunaki/CCI-App-Node_Work (作業用)の3つです おことわり 個々の操作を行う上で前提としているライブラリやコマンド、プラグインなののインストールや設定について触れておりません(gitコマ ンドのインストールなど)。別途、ブログにて環境構築も含めた説明を公開する予定です。http://circleci.com/ja/blog/
  3. 9 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成

    5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  4. 10 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成

    5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  5. 11 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成

    5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  6. 12 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成

    5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  7. 13 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成

    5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  8. 14 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile(定義ファイル)の作成 (express, jest,

    supertest組込)+ npm initでpackage.jsonの作成+ .dockerignoreの作成 4. コンテナ構築用config.yml作成 5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
  9. 16 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
  10. 17 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
  11. 18 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新 8.
  12. 19 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新 8.
  13. 20 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
  14. 21 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から) 7. GitHub上のリポジトリをコンテナ内から 更新
  15. 22 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成

    4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
  16. 27 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成

    →コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
  17. 28 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成

    →コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
  18. 29 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成

    →コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
  19. 30 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成

    →コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
  20. 32 この Webinar を受講し終わって Dockerコンテナ上で開発をするための 環境構築・作業の進め方・ビルド~デプロイについてご理解いただけたでしょうか? 1. (Node.js + express)環境構築のCircleCIによる自動化

    2. Dockerコンテナ上で開発・テストを進める方法 3. アプリ・サービスのDockerイメージ構築の CircleCIによる自動化 ぜひご自身の環境での適用例や、修正箇所、ご質問等、 ハッシュタグ #CircleCIJp をつけてツイートください! (@CircleCIJapan のフォローお願いします)
  21. 34

  22. 35