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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hank Ehly
January 19, 2023
Technology
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【初心者/ハンズオン】Dockerコンテナの基礎知識
Hank Ehly
January 19, 2023
More Decks by Hank Ehly
See All by Hank Ehly
Fivetranでデータ移動を自動化する
hankehly
0
660
Celeryの紹介と本番運用のTips
hankehly
0
1.7k
ChatGPTを活用した 便利ツールの紹介
hankehly
1
1.4k
Efficient Energy Analytics with Airflow, Spark, and MLFlow
hankehly
0
410
Deferrable Operators入門
hankehly
0
760
Compositeパターン: オブジェクトの階層関係をエレガントに表現する方法
hankehly
0
350
10/29 Airflowの基礎を学ぶハンズオンワークショップ
hankehly
0
310
システム/データ品質保証のための Airflow 活用法
hankehly
0
680
海外の記事からコードレビューのBest Practiceを集めてみました
hankehly
0
1k
Other Decks in Technology
See All in Technology
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
220
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
2
290
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
2
110
CloudWatchから始めるAWS監視
butadora
0
110
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
540
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
150
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
500
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
290
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1.1k
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.6k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
810
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.4k
Product Roadmaps are Hard
iamctodd
55
12k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
How to Ace a Technical Interview
jacobian
281
24k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Context Engineering - Making Every Token Count
addyosmani
9
1k
The SEO identity crisis: Don't let AI make you average
varn
0
520
How STYLIGHT went responsive
nonsquared
100
6.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
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