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
Keitaro Miyano
March 25, 2024
0
300
お手軽環境構築!はじめてのDocker講座
2024年3月25日に開催した「お手軽環境構築!はじめてのDocker講座」の資料になります!
Keitaro Miyano
March 25, 2024
Tweet
Share
More Decks by Keitaro Miyano
See All by Keitaro Miyano
全部お見せします!現役エンジニアが開発現場で実際に使っているツールと便利設定集
miyakei1225
0
22
【初学者向け】Honoを使ったREST APIを構築してみよう!
miyakei1225
0
200
React勉強会
miyakei1225
0
210
初学者歓迎!Go言語でWebサーバー構築ハンズオン!
miyakei1225
0
26
Expo SDK 50について&早速アップデートしてみた
miyakei1225
0
92
Webエンジニアが スマホアプリを個人開発した話📱
miyakei1225
0
51
connect-webの恩恵
miyakei1225
0
91
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Embracing the Ebb and Flow
colly
84
4.5k
RailsConf 2023
tenderlove
29
940
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Done Done
chrislema
181
16k
Navigating Team Friction
lara
183
15k
Being A Developer After 40
akosma
87
590k
Making Projects Easy
brettharned
116
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Transcript
お手軽環境構築! はじめてのDocker講座 技育CAMPメンター 宮野 奎太朗
はじめに 2 学生の皆さま、 今回ご参加いただきありがとうございます!
はじめに 3 【名前】宮野 奎太朗(ミヤケイ) 【出身】青森県青森市🍎 【会社】株式会社サイバー・バズ 【作っているもの】SNSデータ可視化ツール 【趣味】ランニング、自転車、個人開発 (React Native) 【X】@38ke1
本日はよろしくお願いします!
はじめに 4 ・Dockerを使った環境構築に興味がある ・Dockerで何が出来るかを学んでみたい方 ・チーム開発でDockerを取り入れようと考えている方
はじめに 5 前半のインプットタイムで Dockerの概要などについて話します!
はじめに 6 後半はアウトプットタイムとして 実際にコードを一緒に書いてみましょう!
今回のゴール 7 ・Dockerで実現出来ることを知る ・簡単な環境構築を一緒に完成させる
今回のアジェンダ 8 1. Dockerとは? 2. Dockerの構成について(イメージ、コンテナ) 3. yamlファイル 4. Docker
Composeについて 【インプットタイム🌞】
今回のアジェンダ 9 5. リポジトリのクローン 6. サンプルファイルを見てみよう! 7. 環境構築をしてみよう! 【アウトプットタイム🌝】
1. Dockerとは? 10 Dockerとは?
1. Dockerとは? 11 Dockerとは? →コンテナ型の仮想環境を 作成・配布・実行することが可能
1. Dockerとは? 12 例えば... →ローカルにNode.jsのインストール
1. Dockerを使わない場合 13 Aさん「Node.jsを使って開発しよう!」 Bさん「そうしましょう!」
14 Aさん「ほな各々進めるで〜(ver20系)」 Bさん「了解です!(ver17系)」 1. Dockerを使わない場合
15 Aさん「ほな各々進めるで〜(ver20系)」 Bさん「了解です!(ver17系)」 1. Dockerを使わない場合 →アプリの挙動が変わってしまう事がある
16 1. Dockerを使う場合 結果 ・Aさんと全く同じ環境が作れる。 ・使わなくなった時もリソースの削除が簡単!
まとめると 17 Dockerを使うことで 複雑なアーキテクチャでも簡単に どのようなマシン(OS)でも共有可能
18 次はDockerの主な構成について お話します!
19 2. Dockerの構成について 今回は以下の3つを覚えてほしいです! ・イメージ ・コンテナ ・ボリューム
20 2. Dockerの構成について 今回は以下の3つを覚えてほしいです! ・イメージ ・コンテナ ・ボリューム
21 2. Dockerの構成について(イメージ) Dockerのコンテナを作るために 必要な設定をまとめたもの →設計図
22 2. Dockerの構成について(イメージ) イメージはコンテナの元となる設計図 そのイメージ(設計図)をもとに コンテナを起動する
23 2. Dockerの構成について(イメージ) イメージを共有することで 他のメンバーが同様の環境を作ることが出来る
24 2. Dockerの構成について(イメージ) Dockerタグについて
25 2. Dockerの構成について(イメージ) Dockerタグについて →イメージのバージョン
26 2. Dockerの構成について(イメージ) 参考サイト
27 2. Dockerの構成について(イメージ) Dockerタグは何を使えばいい? →Alpine Linuxを使うことが多い(目的に合わせる)
28 2. Dockerの構成について(イメージ) 軽量Dockerイメージに 安易にAlpineを使うのは 使うのはやめたほうがいいという話
29 2. Dockerの構成について 今回は以下の3つを覚えてほしいです! ・イメージ ・コンテナ ・ボリューム
30 2. Dockerの構成について(コンテナ) コンテナとは? →アプリケーションの実行環境
31 2. Dockerの構成について(コンテナ) コンテナは作成・起動・削除が可能 ラクに環境の立ち上げ〜掃除🧹
32 2. Dockerの構成について(コンテナ) コンテナは作成・起動・削除が可能 →それぞれDockerコマンドで実行!
33 2. Dockerの構成について 今回は以下の3つを覚えてほしいです! ・イメージ ・コンテナ ・ボリューム
34 2. Dockerの構成について(ボリューム) ボリュームとは? →データの永続化を担う場所
35 2. Dockerの構成について(ボリューム) 永続化って何やねん! →外部HDDのようなもの
36 2. Dockerの構成について(ボリューム) コンテナを削除するとデータは消える!
37 2. Dockerの構成について(ボリューム) そのためデータを保存したい時は コンテナの外にデータを置く必要がある
38 2. Dockerの構成について(ボリューム) そのためデータを保存したい時は コンテナの外にデータを置く必要がある →その置き場所がボリューム
39 2. Dockerの構成について(ボリューム)
40 2. Dockerの構成について ・イメージ ・コンテナ ・ボリューム 以上3つの紹介でした!
41 3. yamlファイル yaml or yml(yaml推奨)
42 3. yamlファイル yaml or yml(yaml推奨) →今回の場合compose.yamlで使う
43 3. yamlファイル
44 3. yamlファイル 参考記事
45 4. Docker Composeについて
46 4. Docker Composeについて Docker Composeとは? →複数のコンテナを定義して実行するための yamlファイル
47 4. Docker Composeについて Docker Composeとは? →複数コンテナの起動や起動時の設定を担う
48 4. Docker Composeについて docker-composeコマンドで操作する
49 4. Docker Composeについて 例えば以下のようなコマンド $ docker-compose build(イメージ構築) $ docker-compose
up -d(コンテナ作成)
50 4. Docker Composeについて 例えば以下のようなコマンド $ docker-compose stop(停止) $ docker-compose
down(停止 + 削除)
51 お疲れ様でした! いよいよアウトプットタイムに移ります!
52 5. リポジトリのクローン GitHubのリポジトリをクローンしましょう! URL
53 5. リポジトリのクローン GitHubのリポジトリをクローンしましょう! URL
54 6. サンプルファイルを見てみよう! 一緒に今回作成した サンプルを見てみましょう!
55 7. 環境構築をしてみよう! サンプルファイルをもとに 環境構築をしてみましょう!
56 7. 環境構築をしてみよう! 【お題】 1.Next.jsの環境 2.Go言語の環境 この2つを一緒に作ってみましょう!
57 7. 環境構築をしてみよう! サンプルファイルは 一旦消して構築してみよう!
58 7. 環境構築をしてみよう! もし動かなくなったらコメントで (OSでの環境差分もある)
59 7. 環境構築をしてみよう! それではスタートです!
60 7. 環境構築をしてみよう! 完成! 一通り動かすことは出来ましたか?
まとめ 61 今回はDockerの概要に触れて 「何が出来るか?」について学んで いただきました
まとめ 62 Zoomのチャット欄に コメントを書いていただけると嬉しいです!
まとめ 63 粘った経験が必ずエンジニアとしての 糧になります!
まとめ 64 最後に僕の好きなキャッチコピーを紹介します👀
まとめ 65 皆さま本日はお疲れ様でした!👋