Recommended
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門
PDF
PDF
PPTX
開発環境をVagrantからdockerに移行してみた
PDF
PDF
PDF
PDF
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
PDF
Docker for Windows & Web Apps for Containers 実践活用技法
PDF
はじめてのコンテナーDocker & Windows & Linux
PDF
PDF
PDF
PDF
Dockerイメージの理解とコンテナのライフサイクル
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PDF
Docker lifecycle event hooks
PDF
あの日実行したコンテナの名前を僕達はまだ知らない。
PDF
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
PDF
PDF
Docker最新動向2017秋+セキュリティの落とし穴
PDF
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PDF
Vagrant & Dockerによるイマドキの開発環境構築
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
Webアプリケーション開発者のためのDockerハンズオン
More Related Content
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門
PDF
PDF
PPTX
開発環境をVagrantからdockerに移行してみた
PDF
PDF
PDF
What's hot
PDF
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
PDF
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
PDF
Docker for Windows & Web Apps for Containers 実践活用技法
PDF
はじめてのコンテナーDocker & Windows & Linux
PDF
PDF
PDF
PDF
Dockerイメージの理解とコンテナのライフサイクル
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PDF
Docker lifecycle event hooks
PDF
あの日実行したコンテナの名前を僕達はまだ知らない。
PDF
【さくらのクラウド】Jupyter Notebook スタートアップスクリプト
PDF
PDF
Docker最新動向2017秋+セキュリティの落とし穴
PDF
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
PDF
Vagrant & Dockerによるイマドキの開発環境構築
Similar to Docker講習会資料
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
Webアプリケーション開発者のためのDockerハンズオン
PPTX
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
PPTX
PPTX
PDF
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
PDF
PDF
Webアプリケーション開発者のためのDockerハンズオン20210519
PPTX
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
PDF
PDF
PDF
PPTX
PDF
PDF
PPTX
More from teruyaono1
PDF
PPTX
Mikrotikルーターが仮想通貨採掘マルウェアに感染していました
PPTX
PPTX
PDF
PDF
PPTX
PPTX
Docker講習会資料 1. 2. 3. 4. 5. 6. 7. 8. Dockerイメージを確認しよう
(vm)$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.17-alpine 48c8a7c47625 5 weeks ago 21.8MB
先ほどの docker run は「イメージを取得してコンテナを⽣成,起動」
するコマンド
8
9. コンテナを起動
$ sudo docker run -d -p 8080:80 --name myserver nginx:1.17-alpine
"-d"と"--name [name]"オプションがつきました.
コンテナを確認してみよう
$ sudo docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
756632c14e60 nginx:1.17-alpine "nginx -g 'daemon of…" 17 seconds ago Up 16 seconds 0.0.0.0:8080->80/tcp myserver
9
10. 11. コンテナ内部のOS..?
(container)/ # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.10.4
...
Alpine Linuxは⾮常に⼩さなLinuxディストリビューションで,よく
Dockerイメージに利⽤されます.
コンテナ内部でホストとは別のOSが動いているように⾒えますが,実
際はそのように⾒せかけているだけです.
参考: https://qiita.com/kirikunix/items/33414240b4cacee362da 11
12. コンテナ内部に変更を加える
/ # echo "helloooo" >> /usr/share/nginx/html/index.html
/ # exit
index.html はnginxで配信されているファイルです. >> でファイルに
追記しています
ブラウザに反映されていますか?
12
13. もう1つコンテナを起動しよう
$ sudo docker run -d -p 8081:80 --name myserver2 nginx:1.17-alpine
イメージは同じ nginx:1.17-alpine です.
名前は myserver2
-pに指定するのは 8081:80
に注意してください.
13
14. 15. 16. 17. 18. 19. 20. 21. RUN set -x &&
apk --update add openssl &&
...(omitted)
chmod 400 /etc/nginx/server_private.key
RUN: イメージ作成時に実⾏するコマンド
ここで⽣成したファイルなどはイメージに含まれる
CMD ["nginx", "-g", "daemon off;"]
CMD: コンテナ起動時に実⾏するコマンド
21
22. 23. 24. 25. 26. multi stage build(1/2)
go/Dockerfile
# ビルド⽤のイメージ
FROM golang:1.14-alpine as builder
WORKDIR /go/src/app
COPY ./main.go .
RUN GOOS=linux GOARCH=amd64 go build -o /go/bin/app
# 実⾏⽤のイメージ
FROM alpine:3.11
COPY --from=builder /go/bin/app /go/bin/app
RUN addgroup --system myapp &&
adduser --no-create-home --disabled-password --system --ingroup myapp myapp
USER myapp
ENTRYPOINT [ "/go/bin/app" ] 26
27. multi stage build(2/2)
FROM golang:1.14-alpine as builder
...
COPY --from=builder /go/bin/app /go/bin/app
コンパイルさえできれば後は処理系が必要ない場合に使う
(例: golang, C++, Rust, webpack)
ビルド⽤と実⾏⽤のイメージを分離できる
$ sudo docker images | awk '{print $1 ":" $7}' | grep go
hoge/goapp:13.1MB # こちらだけサーバにデプロイすればOK
golang:369MB # これはもう必要ない 27
28. おまけ
RUN addgroup --system myapp &&
adduser --no-create-home --disabled-password --system --ingroup myapp myapp
USER myapp
CMD や ENTRYPOINT : 指定したコマンドは実⾏ユー
ザがroot
セキュリティ上良くない
USER
実⾏ユーザを変更
システムユーザを作成して実⾏している 28
29. 30. 31. 32. 33. 34. 35. 36. 37. 38.