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

【初心者/ハンズオン】Dockerコンテナの基礎知識

Hank Ehly
January 19, 2023

 【初心者/ハンズオン】Dockerコンテナの基礎知識

Hank Ehly

January 19, 2023
Tweet

More Decks by Hank Ehly

Other Decks in Technology

Transcript

  1. よろしくお願いします • Hank Ehly(名:ハンク 姓:イーリー) • ENECHANGE株式会社(エンジニア) • hankehly.com •

    qiita.com/hankehly • github.com/hankehly • linkedin.com/in/hankehly • twitter.com/hankehly • connpass.com/user/hankehly
  2. コンテナ技術の概要 > 重要な用語 コンテナイメージは、ソースコードと、そのソースコードを実行するために 必要なシステムライブラリーや依存ファイルすべてを同梱したファイル $ docker run my_app $

    docker build -t my_app . コンテナは、コンテナイメージの実行可能なインスタンス Dockerは、コンテナイメージの管理と実行を行うツール
  3. コンテナ技術の概要 > 開発の流れ $ docker build -t my_app . $

    docker push my_app $ docker run my_app Step 1: コンテナイメージを作る Step 3: コンテナイメージをPushする Step 2: コンテナを起動する
  4. コンテナのメリット > コンテナを使うBさん v1.21 コンテナ v14 コンテナ v7.0.4 コンテナ v1.14

    コンテナ ポイント: • バージョンの共存が可能 • アプリケーションの分離 v10 コンテナ v5.2.8 コンテナ 案件AでPostgreSQL 14 案件BでPostgreSQL 10 … Aが異常終了してもBへの影響なし アプリケーション アプリケーション
  5. コンテナのメリット > コンテナは可搬性(portability)がある FROM ruby:3.2.0 WORKDIR /app COPY hello_world.rb .

    CMD ruby hello_world.rb $ docker build -t my_container . $ docker push my_container push $ docker run my_container Hello world pull (コンテナイメージの作成)
  6. • 学習コストがある • 同じコンテナが WindowsとLinux どちらでも 動かない コンテナのメリット > メリット・デメリット

    • 独立している(例: PostgreSQLバージョンを 複数同時に使える) • dev/stg/prodの差異を少なくできる • クラウドを変えやすくなる (AWS→GCP) • 共有しやすい • 再現性 メリット デメリット