Download - Dockerイメージを作る
![Page 1: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/1.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
Dockerイメージを作る
とみたまさひろNSEG#54
2014/08/31
![Page 2: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/2.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
自己紹介
とみた まさひろ
プログラマー (Ruby & C)
http://tmtms.hatenablog.com
http://twitter.com/tmtms
https://github.com/tmtm
![Page 3: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/3.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
自分用のまとめみたいな感じで目新しい話はありません
![Page 4: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/4.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
イメージ
![Page 5: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/5.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
コンテナの元になるもの
![Page 6: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/6.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
一覧を見る
# docker images
![Page 7: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/7.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
公式レジストリから持ってくる
# docker pull ubuntu
![Page 8: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/8.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
コンテナから作る
# docker run ubuntu ...
...コンテナ内のファイルを変更...
# docker ps -aCONTAINER ID IMAGE COMMAND ...17012e82eff3 ubuntu:14.04 /bin/bash ...
# docker commit 17012e82eff3 hoge
![Page 9: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/9.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
イメージから作る
# lsDockerfile
# cat DockerfileFROM ubuntuRUN apt-get updateRUN apt-get install ruby
# docker build -t hoge .
![Page 10: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/10.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
ベースイメージを作る
tar を元に作る
# cat /tmp/hoge.tar | docker import - hoge
![Page 11: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/11.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
Ubuntuのベースイメージ
# debootstrap trusty ./hoge http://ftp.riken.go.jp/Linux/ubuntu/# cd hoge# tar -c . | docker import - hoge
![Page 12: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/12.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
作ったイメージを管理
![Page 13: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/13.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
公開する
Docker Hub Registry
https://registry.hub.docker.com/
![Page 14: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/14.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
諸事情によりプライベートで管理
![Page 15: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/15.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
レジストリサーバを立てる
https://github.com/docker/docker-registry
# docker pull registry:latest# docker run -d -e STORAGE_PATH=/registry -v /dokka:/registry -p 5000:5000 registry
![Page 16: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/16.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
プライベートレジストリに登録
# docker tag hoge 192.168.1.1:5000/hoge:1.0# docker push 192.168.1.1:5000/hoge:1.0
![Page 17: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/17.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
プライベートレジストリから取出
# docker pull 192.168.1.1:5000/hoge
![Page 18: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/18.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
レジストリ内のイメージ一覧
![Page 19: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/19.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
準備
レジストリサーバー起動時に SEARCH_BACKEND を指定
# docker run -d -e STORAGE_PATH=/registry -e SEARCH_BACKEND=sqlalchemy -v /dokka:/registry -p 5000:5000 registry
![Page 20: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/20.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
取り出し
結果はJSON
% GET http://192.168.1.1:5000/v1/search{"num_results": 1, "query": "", "results": [{"description": null, "name": "library/hoge"}]}
![Page 21: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/21.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
おまけ
![Page 22: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/22.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
コンテナ環境に入るには?
![Page 23: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/23.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
ssh は sshd が動いてないといけないしカーネル同じなのに無駄っぽい
![Page 24: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/24.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
nsinit が便利
![Page 25: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/25.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
nsinit
Ubuntu の場合
# go get github.com/docker/libcontainer/nsinit
# cd /var/lib/docker/execdriver/native/コンテナID# nsinit exec bash
![Page 26: Dockerイメージを作る](https://reader034.vdocuments.pub/reader034/viewer/2022051411/547b311eb47959a9098b4cbe/html5/thumbnails/26.jpg)
Dockerイメージを作る Powered by Rabbit 2.1.3
おわり