More Related Content
PDF
PDF
PPTX
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン PDF
PDF
PDF
PPTX
PDF
”30分”ぐらいでわかる「Kubernetes」について What's hot
PDF
PDF
清貧Docker ~個人がDockerを使う理由~ PDF
dockerでImmutable InfrastructureなWordPressを考える PDF
Dockerfile for Perl development PDF
PPTX
Docker1.13で変わったことをわからないなりにまとめてみた PDF
Docker lifecycle event hooks PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか PDF
PDF
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B PPTX
PPTX
PDF
PDF
PDF
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する PDF
PDF
Docker基礎+docker0.9, 0.10概要 PDF
PDF
最近のKubernetesとDocker Machine/Swarmの話 PDF
Similar to アプリ屋のための Docker入門
PPTX
はじめてのDockerパーフェクトガイド(2017年版) PPTX
PDF
Dockerの基本と応用~快適コンテナライフを実現するArukas~ PDF
2024-03-09_Practical-engineering-LT_container-tech-intro_v2.1.pdf PPTX
PPTX
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料 PDF
PPTX
PDF
PPTX
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編 PDF
はじめてのコンテナーDocker & Windows & Linux PDF
PDF
鯨物語~Dockerコンテナとオーケストレーションの理解 PDF
PDF
PDF
Docker向けOSとか[LT] @ #techgirl 2015/01 PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解 PPTX
More from 小川 昌吾
PPTX
PPTX
PPTX
Flutter management statement PDF
Laravel vue-project-upload PPTX
PPTX
PDF
今年はある意味当たり年だった! という一年振り返り PPTX
PPTX
PDF
PPTX
PPTX
PPTX
ITの開発現場における最近の当たり前これからの当たり前(主観) PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
アプリ屋のための Docker入門
- 1.
- 2.
- 3.
What’s Docker
3 ●コンテナ型仮想環境
- 既存の仮想マシン(Hyper-VやVMwareなど)はOSイメージが
ホストOS上に丸ごと浮くため重いしブートの
オーバーヘッドが非常に大きい
- DockerはホストOSにプログラムだけが浮く形で
ブートのオーバーヘッドが非常に小さい
- 4.
- 5.
What’s Docker
5 ●Dockerの表面的な中身ってどうなってんの?
OSのファイルシステムに含まれている基本ファイル
※/usr/binや/sbinの下など
作ったアプリや、使用するミドルウェアなど
- 6.
What’s Docker
6 ●メリットって?
- ≒実行可能プログラム
- 論理的にどこで動かしても同じ
- ディスクリプタも各々持つ
- インフラ屋視点だともっとある
- 7.
- 8.
How to run?
8● DockerはDockerイメージから起動する
- Dockerイメージの作り方だけ最低限覚えておく
- Dockerfileから作れる
※Dockerfileは自分で作れなくても、とりあえず構わない
- 9.
Dockerfile
9 # Dockerfilefor MySQL Serve
FROM alpine:3.5
RUN apk update &&
apk add mysql mysql-client &&
addgroup mysql mysql &&
mkdir /scripts &&
rm -rf /var/cache/apk/*
VOLUME ["/var/lib/mysql"]
COPY ./startup.sh /scripts/startup.sh
RUN chmod +x /scripts/startup.sh
EXPOSE 3306
ENTRYPOINT ["/scripts/startup.sh"]
- 基本ただのyum
※alpineだからapk
- 基本コマンド叩くだけ
- 独自スクリプトはADDで足す
- 作成元イメージは色々あるけど
alpineが小さいからおススメ
- 10.
Dockerfile
10# Dockerfile forMySQL Serve
FROM alpine:3.5
RUN apk update &&
apk add mysql mysql-client &&
addgroup mysql mysql &&
mkdir /scripts &&
rm -rf /var/cache/apk/*
VOLUME ["/var/lib/mysql"]
COPY ./startup.sh /scripts/startup.sh
RUN chmod +x /scripts/startup.sh
EXPOSE 3306
ENTRYPOINT ["/scripts/startup.sh"]
利用可能な命令
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
Connect with DockerHub
23Docker使うだけなら、Docker Hubと仲良くなろう
- 世界中のDockerユーザーがimageを上げている
- 大概のものはセットアップ済で手に入る
- 何か試す場合にインストーラ叩かなくて良いから
圧倒的時間短縮になる
- 24.
- 25.
Connect with DockerHub
25WEB開くのめんどくさい場合はコマンドでも可能
- docker search --no-trunc {username or repository}
- スター数でフィルタとかもできる
docker search --no-trunc -s 1000 {username or repository}
- 26.
- 27.
- 28.
Connect with DockerHub
28imageが自分の環境に登録されるので、runして使う
※お手軽!
runの仕方はDocker Hubのページに大概書いてあるので、
それ通りに叩けばOK
- 29.
- 30.
Editor's Notes
- #4 絵にすると次のページみたいな感じ
- #5 Hyper-Vとの比較。
Hyper-Vはその上にOSが丸ごと乗るけど、DockerはDocker Engineの上にOSが来ない。
- #6 アプリ屋・・・は、とりあえず表面的な中身判れば良いと思う。
インフラ屋は勿論それではダメ。イメージの差分管理だったり色々覚えてデプロイロールバックとかできるようになる必要がある
- #7 雑に言うと、作ったアプリをファイルシステムごとパッケージングして実行することで、論理的にはどこで動かしても同じ実行環境になる。
本番にそのまま持って行ける!みたいなことを言ってるのはこの部分のこと。
- #8 クラ-サバ構成
・dockerコマンド(client)叩くとdaemon(server)が処理する
・ホスト上に保存領域があって、docker hubから取った内容をキャッシュしたりできる
- #9 絵にすると次のページみたいな感じ
- #10 後で出てくるDockerHubと仲良くなるために、読めた方が良い
- #11 後で出てくるDockerHubと仲良くなるために、読めた方が良い
- #13 動かすとこんな感じ
- #15 Dockerイメージのビルドでこけた場合は、正常に完了したイメージを使って、続きをビルドできるのでリトライ時に全部をやり直す必要がない。
勿論全部をやり直すことも可能。
- #19 データはホストOS上に書き出してコンテナ自体は毎回停止時に削除することで、起動するたびにクリーンな状態のコンテナを起動することもできる。
このスライド上だとrunオプションに-d付けてるので毎回コンテナは消える
- #20 データはホストOS上に書き出してコンテナ自体は毎回停止時に削除することで、起動するたびにクリーンな状態のコンテナを起動することもできる
- #22 他の状態もあるけど、使ったことないから除いてる。基本はコレ。
- #23 ここまで頭に入れておけばDockerは簡単に使えます