Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【初心者/ハンズオン】Dockerコンテナの基礎知識
Search
Hank Ehly
January 19, 2023
Technology
0
520
【初心者/ハンズオン】Dockerコンテナの基礎知識
Hank Ehly
January 19, 2023
Tweet
Share
More Decks by Hank Ehly
See All by Hank Ehly
Fivetranでデータ移動を自動化する
hankehly
0
590
Celeryの紹介と本番運用のTips
hankehly
0
840
ChatGPTを活用した 便利ツールの紹介
hankehly
1
1.3k
Efficient Energy Analytics with Airflow, Spark, and MLFlow
hankehly
0
330
Deferrable Operators入門
hankehly
0
650
Compositeパターン: オブジェクトの階層関係をエレガントに表現する方法
hankehly
0
310
10/29 Airflowの基礎を学ぶハンズオンワークショップ
hankehly
0
260
システム/データ品質保証のための Airflow 活用法
hankehly
0
610
海外の記事からコードレビューのBest Practiceを集めてみました
hankehly
0
970
Other Decks in Technology
See All in Technology
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
210
CLIPでマルチモーダル画像検索 →とても良い
wm3
0
490
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
360
アノテーション作業書作成のGood Practice
cierpa0905
PRO
0
220
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
5
1.9k
20251027_findyさん_音声エージェントLT
almondo_event
2
480
AIを使ってテストを楽にする
kworkdev
PRO
0
230
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
140
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
3
550
生成AI時代のPythonセキュリティとガバナンス
abenben
0
150
re:Inventに行くまでにやっておきたいこと
nagisa53
0
690
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
210
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Building an army of robots
kneath
305
46k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How STYLIGHT went responsive
nonsquared
100
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Code Reviewing Like a Champion
maltzj
526
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Code Review Best Practice
trishagee
72
19k
Balancing Empowerment & Direction
lara
5
700
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Transcript
【初心者/ハンズオン】 Dockerコンテナの基礎知識 2023/01/19 (木) まだの方は以下を進めてください! 1. Dockerのインストール https://docs.docker.com/get-docker/ 2. Dockerhubのアカウント作成
https://hub.docker.com/ https://github.com/hankehly/docker-core-knowledge-workshop (サンプルコード)
よろしくお願いします • Hank Ehly(名:ハンク 姓:イーリー) • ENECHANGE株式会社(エンジニア) • hankehly.com •
qiita.com/hankehly • github.com/hankehly • linkedin.com/in/hankehly • twitter.com/hankehly • connpass.com/user/hankehly
アジェンダ 1. コンテナ技術の概要 2. コンテナのメリット 3. ハンズオン課題(コードエディターのご準備お願いします)
1. コンテナ技術の概要
コンテナ技術の概要 > VM(バーチャルマシン)の仕組み ハードウェア ハイパーバイザー OS アプリケーション 仮想マシンを管理する ソフトウェア VM(バーチャルマシン)
物理的なサーバー 仮想マシン 1 仮想マシン n 1仮想環境に複数のアプリケーション OS アプリケーション
コンテナ技術の概要 > Dockerの仕組み ハードウェア ホストOS Docker Engine (バックグラウンドプロセス) Dockerコンテナ コンテナ1
コンテナ2 コンテナn 1コンテナに1つのプロセス
コンテナ技術の概要 > 重要な用語 コンテナイメージは、ソースコードと、そのソースコードを実行するために 必要なシステムライブラリーや依存ファイルすべてを同梱したファイル $ docker run my_app $
docker build -t my_app . コンテナは、コンテナイメージの実行可能なインスタンス Dockerは、コンテナイメージの管理と実行を行うツール
コンテナ技術の概要 > 開発の流れ $ docker build -t my_app . $
docker push my_app $ docker run my_app Step 1: コンテナイメージを作る Step 3: コンテナイメージをPushする Step 2: コンテナを起動する
2. コンテナのメリット
コンテナのメリット > コンテナを使わないAさん v1.21 v10 共有のシステムソフトウェア Ruby v2.7.6 PostgreSQLバージョンを上げた いけど、他のアプリが影響を受け
ちゃうよな… ポイント: • バージョン管理が厄介な時がある • 変更のリスク
コンテナのメリット > コンテナを使うBさん v1.21 コンテナ v14 コンテナ v7.0.4 コンテナ v1.14
コンテナ ポイント: • バージョンの共存が可能 • アプリケーションの分離 v10 コンテナ v5.2.8 コンテナ 案件AでPostgreSQL 14 案件BでPostgreSQL 10 … Aが異常終了してもBへの影響なし アプリケーション アプリケーション
コンテナのメリット > コンテナは可搬性(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 (コンテナイメージの作成)
• 学習コストがある • 同じコンテナが WindowsとLinux どちらでも 動かない コンテナのメリット > メリット・デメリット
• 独立している(例: PostgreSQLバージョンを 複数同時に使える) • dev/stg/prodの差異を少なくできる • クラウドを変えやすくなる (AWS→GCP) • 共有しやすい • 再現性 メリット デメリット
3. ハンズオン課題 続きはVisualCodeで… https://github.com/hankehly/docker-core-knowledge-workshop