강의

멘토링

커뮤니티

BEST
Programming

/

Devops & Infra

DevOps 向けの Docker 仮想化技術 (Private Harbor Registry)

この講義は、Cloud Native Architecture を構成する 4 つの構成要素のうち、コンテナ仮想化技術について学習するプロセスです。 マイクロサービス アプリケーションをデプロイおよび運用するための最良の方法であるコンテナ仮想化という技術の基本的な概念を理解し、コンテナ仮想化技術の中で最も広く知られている Docker 技術について取り上げる学習プロセスです。 MSA 型式で開発されたアプリケーションをデプロイおよび運用するために必要な必須の内容について、理論学習だけでなく、関連する実習例を通じて、実際の Docker コンテナがどのように動作するかを理解できます。 このコースでは、既存の他の講義では取り上げられていない Docker Security や Logging などのさまざまな要素についても学習できます。 最終的な実習プロジェクトでは、Docker 技術と連携できるサービス (Harbor + Argocd) を構築し、アプリケーションをデプロイすることで、DevOps を適用する際に必要な重要な運用環境について実習できます。

  • Dowon Lee
컨테이너
데브옵스
가상화
이론 실습 모두
교수님 강의
Docker
CI/CD
Virtualization
MSA

学習した受講者のレビュー

受講後に得られること

  • Docker コンテナ技術

  • Docker イメージの作成

  • Docker レジストリの構成

  • Docker Compose を使用したマルチコンテナの管理

  • Docker セキュリティ

  • Docker ログ ファイルの分析

  • Docker 以外のコンテナ技術

  • マルチプラットフォーム向けの Docker ビルド

  • CI/CD での Docker 環境の構築

  • プライベート ハーバー レジストリ

  • Jenkins CI/CD パイプラインの連携

  • Kubernetes 配布 (Argocd)

Microservice Architectureで開発されたアプリケーションは、どのように展開/運用する必要がありますか? 🤔

Microservice Architectureで開発されたアプリケーションは、コンテナ仮想化技術を使用して展開および運用する必要があります。 Linux の傘下の機関である CNCF (Cloud Native Computing Foundation, https://www.cncf.io/ ) では、Cloud Native Application Architecture を構築および実行するために使用するさまざまなソフトウェアおよびインフラストラクチャコンポーネントとして、マイクロサービス、コンテナ仮想化、CI /CD、DevOpsなどを定義しています。その中でクラウドネイティブアプリケーションとして開発された成果物を実行して運営するためにコンテナ仮想化という技術を紹介していますが、まさにこのコンテナ仮想化技術分野で最も一般的に知られていて使用されているサービスがDockerサービスです。

このレッスンでは、Docker仮想化技術を理解するために必要な重要な概念から、マルチコンテナを構成および管理するために必要なDocker Compose技術、コンテナ仮想化を使用する際に考慮すべきセキュリティ部分、およびCI / CDパイプラインとの連携部分だけでなく、Docker Orchestrationの部分について学習し、関連するサンプルコードを練習するように構成しました。

様々な実践例やToyプロジェクトを通じて、Docker仮想化技術に重要な機能に加え、シンプルな3-tier構造のアプリケーションをどのようにコンテナ化して管理し運営すればよいかについても紹介しており、Docker Desktopに含まれるOrchestrationツールを利用して、基本的なリソースを管理するだけでなく、サービスのスケーリング作業のローリング更新方法についても学習しています。

講義の後半では、Dockerの基本的なRuntimeとRegistryのほか、PodmanやHarborなどの代替技術を通じてDockerを使用する方法についても取り上げており、最終プロジェクトではJenkinsとKubernetesとArgocdを通じて配布運営する過程についても紹介しています。

今回の講義を通じて、コンテナ仮想化の全体的な内容と、ITインフラストラクチャを構築するために仮想化技術をどのように活用できるかについて学んでください。

💡DevOpsのコンテナ仮想化の専門家に向けた第一歩を踏み出してください。

  • コンテナ仮想化技術を理解し、アプリケーションを複数のコンテナに分割してデプロイする方法を学びます。

  • 概念的な説明のために様々なイメージを活用して理解しやすく内容を伝えています。


  • 本講義では、理論と実習を一緒に並行できるように構成しました。理論的な講義にとどまらず、各節で説明した概念については必ず実習過程を通じて直接テストしてみることができるように構成し、プログラミングやインフラに関する高い知識がなくても簡単に例を実習してみるように構成しました。



  • すべての練習の例は、各セクションで説明されている内容に基づいて練習するように構成されています。管理するプロセスについて学ぶことができます。

  • 基本的なWebアプリケーションは、Frontendサービスの場合はReact.js、Backendサービスの場合はSpring Boot、DatabaseはMariadbを使用して構成されています。しかし、プログラミングの理解に基づいて実践例を実行するのではなく、Docker仮想化技術に必要な内容で例を実習できるように説明しています。

この講義の特徴

📌Docker仮想化技術の基本的な概念から、運用に必要なコア技術まで、さまざまな要素について理論的な説明と実践を一緒に実行できます。

📌簡単なWebアプリケーションを使用して各コンテナごとに設定する必要がある環境を理解し、マルチコンテナを構成して運用するために必要なDocker ComposeやDocker Orchestration技術についても学習できます。

📌各セクションでは、理論に説明と実践例をまとめて提供することで、受講生の方々は直接自分のDocker環境で様々な例を実行してみることができます。

📌基本的なDockerの機能に加えて、Docker技術に代わる技術についても紹介しており、CI/CD配布自動化のためにDockerがどの部分で使用できるかも紹介しています。

📌本講義は、コンテナ仮想化技術に初めて触れたり、基本的なDocker環境について理解している方のために、マルチコンテナを運用する方法と、Docker仮想化技術を使用するために必要なセキュリティな要素、マルチプラットフォームビルド、ログメッセージの処理 そして、Cloud Native Architecture での Docker の役割や場所などについても一緒に学習できます。

💡 From Beginner to Master

  • このレッスンでは、コンテナ仮想化の基本的な内容を理解しながら、Webアプリケーションを仮想化形式でデプロイして運用するために必要な必要な技術まで学習できるように構成されています。

  • 簡単なDockerイメージ生成とコンテナの生成から、マルチコンテナを管理するためのDocker Composeの使用、マルチHostでコンテナを管理するためのDocker Orchestration、CI/CDとの連携について学習しています。

  • さらに、Docker Imageのセキュリティ要素、マルチプラットフォームでのDockerイメージの構築、Dockerコンテナのロギングメッセージ管理、クラウド環境でのコンテナ使用のためのマネージドコンテナ技術についても紹介しています。

  • 本講義では、学習したすべてのコースの仕上げCapstone Projectとして、Webアプリケーションとオープンソースで構成されている様々なサービスとの連携を通じて、実務で作業している環境について間接的に経験し実践してみることができるように構成しました。

こんな方におすすめです

DevOpsエンジニアでレベルアップしたいです。

DevOps環境でアプリケーションのデプロイと運用に関心を持つ開発者/学生

コンテナ仮想化技術に興味があります。
Microservice Architectureで開発されたアプリケーションをどのように運営するのか疑問に思いました

CI/CDのパイプラインでCDのプロセスが気になります。
アプリケーションをデプロイするための継続的な統合と継続的なデプロイのためにDockerを使用することについて疑問に思います。

💡コンテナ仮想化技術だけでなく、Microserviceアプリケーションのデプロイと運用にも興味がある方!

  • アプリケーションの開発プロセス後に継続的な展開でどのような手順を運用環境に展開するのか疑問に思いました

  • コンテナ仮想化技術に関心を持って、DevOpsエンジニアで聖定したい方

  • マルチコンテナ運用およびコンテナリソース管理のためのDocker Orchestrationツールに興味がある人

  • KubernetesなどのプロフェッショナルなOrchestrationツールを使用していなくても、コンテナのRolling UpdateおよびRollback機能を活用してサービスを運営したい方

受講後は

  • コンテナ仮想化技術を理解し、アプリケーションを展開するためにマルチコンテナを管理する方法を学びます。

  • Docker Composeテクノロジを使用して複数のコンテナを一度に実行して管理する方法を学びます。

  • Docker Swarmテクノロジを使用して、基本的なDocker Orchestrationツールの使い方を学び、コンテナのRolling Updateだけでなく、Rollback機能についても知ることができます。

  • Docker Imageのセキュリティ脆弱性チェックにより、より安全なDocker Imageを使用できるようになります。

  • Docker以外のコンテナ仮想化技術を理解して使用できるようになります。

  • CI/CDオートメーション配布パイプラインでDockerを使用して継続的な配布システムを構築できます。

  • Webアプリケーションをクラウドサービスが提供する仮想化サービス環境で運用する方法を学びます。

  • コンテナ仮想化をより効率的に実行するためのOrchestrationツールにDockerコンテナイメージを展開するためにどのテクノロジが使用されているかを理解することができます。

💡この講義を受講すると得られる変化について書いてください。

  • このレッスンでは、コンテナ仮想化技術について理解することができます。

  • 開発者と開発に興味がある人は、自分のアプリケーションを仮想化環境で実行して運用できるかどうかを理解できます。

  • さまざまなマルチコンテナを運営するための技術と処理方法について学習できます。

  • CI/CD 環境で Docker 仮想化技術をどのように応用すればよいかを実践してみることができます。

このような内容を学びます。

Docker仮想化の基本概念とコア技術

本講義では、Docker仮想化使用のための基本的なイメージ生成、コンテナ使用、ボリュームとネットワークの使い方だけでなく、マルチコンテナ管理のためのDocker ComposeとDocker Swarmについても実習しており、DockerセキュリティやLogging処理方法などについても紹介しています。 。

CI/CD環境でのDocker仮想化の使用

Docker Virtualizationを使用する最大の目的は、物理的なシステム環境が持つ制約的な問題を解決し、さまざまなアプリケーションやミドルウェアを簡単に操作および管理することです。これらのサービスを自動化して展開するための方法として、CI / CD環境と連携してDockerコンテナ仮想化技術の使用方法を学ぶことができます。

さまざまな練習の例

本講義の理論的な説明の後には、各セクションで説明されている内容をもとに練習することができる例を一緒に提供しています。提供される実践コードを自分の環境で直接実行することで、Dockerコンテナの動作過程についてより簡単に学習できます。講義では、Dockerの基本サービスに加えて、Private Registry HarborやPodmanなどのDocker代替技術についても実践してみることができます。

Capstone project (最終実習プロジェクト)

すべての理論的なレッスンと実践的な学習が完了したら、最後のセクションでCapstoneプロジェクトを実行する準備が整いました。 Capstone projectでは、WebアプリケーションをCI/CD環境で自動化展開できるように連携するとともに、オープンソースで提供されるDocker Registryとの連携、そしてOrchestrationツールを利用してリソースを管理してみる全体の過程について学習できるように構成されています。

この講義を作った人

  • )エンジェイワンカンパニー代表

  • )東国大学国際情報大学院情報保護学科大宇教授

  • ) JP Mogan Chase AMJ Tech consultant (日本)

  • )サムスンSDS CMS事業本部責任エンジニア

受講前の注意

練習環境

  • 講義はMacOSで説明します。 Windows 10、Windows 11環境と呼ばれるDocker Desktopがインストールされている場合は、ほとんどの練習の例に従うことができます。

  • 講義では、様々なDockerコンテナイメージを起動しながら実習を進めています。最低8GB以上のメモリ(16GB以上推奨)と100GB以上の空き容量を用意し、練習をお勧めします。

  • レッスンでは、練習に使用されるいくつかのスクリプトとコードについて、Visual Studio Codeを使用して確認して修正しています。

  • さまざまなマルチホストを構成してDocker Swarm環境を実践するために、Dind(Docker in Docker)形式のイメージを提供しています。

    • Dind イメージは教育プロバイダーによって MacOS Intel chip、MacOS Apple chip、Windows 10、Windows 11、Ubuntu バージョンで提供しています。ただし、受講生がご使用の環境によっては、Dindイメージの実行にエラーが発生することがあります。


  • このレッスンで使用される実践的な環境のためにDindイメージを使用するのではなく、VM環境を構成して実行できるように、別途提供されているInflearnレッスンを無料で参照できます。

学習資料

  • レッスンで使用されている実習サンプルコードはGithubを介して共有されます。

選手の知識と注意事項

  • ITサービスの基本的な知識

  • Client、Server、Cloudなどの用語の理解

  • WebサービスとWebアプリケーションの基本的な理解(意味と操作プロセス)

  • Windows環境ユーザー) CMDコマンド(dir、curl、ping、ipconfigなど)

  • MacOS 環境ユーザー) Terminal コマンド (ls、curl、ping、ifconfig など)

  • 共通)Linux環境のドキュメント編集ツールであるVIMを授業時間に使用するため、基本的な使い方を習得すれば講義を受講するのにより効率的であるようです。

💡このレッスンで使用される実践例を実行するには、次のプログラムがインストールされている必要があります。

  1. 練習環境

    • オペレーティングシステムとバージョン(OS):Windows 10、Windows 11対応、MacOS Intel Chip、MacOS Apple Chip対応

    • 使用ツール:各オペレーティングシステムに適したDocker Desktopのインストール(レッスンでのインストールプロセスについて練習)

    • エディター: Visual Studio Code

    • PC仕様:CPU Intel i5+、メモリ8GB+(16GB以上を推奨)、ディスク100GB+がプログラム駆動用の最小仕様です。

  2. 学習資料

    • 提供する学習資料は、実習例とPDF教案はGithubを通じて提供される予定です。

    • 完全な11セクションで構成されています。

  3. 選手の知識と注意事項

    • 学習難易度:初心者向けのITサービスに関する基本的な知識とコマンドプロンプトまたは端末での基本的なコマンドの使用


    • 講義に関する質問について質問掲示板を活用してください。

    • レッスンコンテンツと実践例のアップデートは、今後のアップデートに関する記事で共有します。

    • この講義で使用されている実践例と講義の内容については、講義プロバイダに著作権があります。講義で使用された内容と実習例をインターネットを通じて共有することは自由ですが、可能であれば事前に共有後に公開してください。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • コンテナ仮想化技術に興味のある方

  • Cloud Native テクノロジーに興味のある方

  • MSA アプリケーションの配布と運用を担当する人

  • CI/CD 환경にコンテナ仮想化技術を適用したい人

前提知識、
必要でしょうか?

  • IT サービスの理解

  • クラウド サービスの理解

  • Windows 環境ユーザー) CMD コマンド (dir、curl、ping、ipconfig など)

  • MacOS 環境ユーザー) ターミナル コマンド (ls、curl、ping、ifconfig など)

こんにちは
です。

29,841

受講生

1,629

受講レビュー

1,369

回答

4.8

講座評価

8

講座

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

カリキュラム

全体

113件 ∙ (20時間 31分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

23件

4.8

23件の受講レビュー

  • parksangdonews님의 프로필 이미지
    parksangdonews

    受講レビュー 17

    平均評価 4.8

    5

    100% 受講後に作成

    最終的に開発者が知っておくべきスペクトルの多くを知ることができる講義です。コードを書いてビルドして実行してみることを越えて、次のすべてのプロセスを扱うようです。 最近Linuxを勉強し、管理のためにGitlabを直接インストールしてみて、 CI/CDを構築する過程で自然にドッカーを使用するのに遭遇する問題を解決するために経験したことがこの講義で既に見逃さないことを願うと十分な説明になっていましたね。 ドッカー川の多くでも実行してみて終わったり、CI/CD講義多くでも設置と実行してみて終わる場合も多く、しばしばフェイトハブビルド/配布実行でどうしても流行する内容で本と講義があふれるこのごろ... ... 1ヶ月間、多くの試みや学習、試行錯誤や悩みを経験しており、組織ではなく1人の開発者でも.. 'システム'これがあるべきだという気持ちで、自動化に多くの時間をかけて作る過程にあります。 最近のドメイン設定から、Gitlab、Gitlab Runner、プロメテウス、グラファナなどをインストールして設定する過程で講義中に言及されたSSL通信のための証明書のインストールとパス指定、証明書の確認と発行、更新が随所にしなければなりませんでした。 。 ところがこれがドメイン証明書は3ヶ月、SSL証明書は最大1年というのですが、すぐに使用するには問題がないほどですが、その後は期限切れになって問題が発生したり、実際の運営中であれば中断事故が発生したり、鍵を紛失して新たに設定する必要がある場合があるようです。 証明書についてさらに学習して学ばなければならないのは私の分けであり、可能であれば自動更新のためのシェルプログラムをクローンとして登録してみようかと思います~~万~ ^^ ㅎㅎ 銀行公認証明書よりも不安ですね.. 一人で何を勉強しなければならないのか分からない状態でここまで来なければ、数ヶ月はかかったはずですが、素晴らしい講義のおかげで数日で終わることができると自信がありました。 残りの週末は実際のサーバーに適用してみる実習をしたいと思います。 開発者ならぜひ知っておくべき開発 それ以来の話…みなさんここが名江のです。~~~~ ありがとうございます。 ^^

    • sorayeon님의 프로필 이미지
      sorayeon

      受講レビュー 81

      平均評価 5.0

      5

      30% 受講後に作成

      先生の講義はいつも正しいです。

      • junhero3077님의 프로필 이미지
        junhero3077

        受講レビュー 2

        平均評価 5.0

        5

        30% 受講後に作成

        • eunhyeko7647님의 프로필 이미지
          eunhyeko7647

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          • eomsi4706님의 프로필 이미지
            eomsi4706

            受講レビュー 2

            平均評価 5.0

            5

            30% 受講後に作成

            ¥10,940

            Dowon Leeの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!