ラベル docker の投稿を表示しています。 すべての投稿を表示
ラベル docker の投稿を表示しています。 すべての投稿を表示

2014年9月21日日曜日

[Docker] Dockerfile 初級編

前回は基本的なDockerの使い方の列挙した。
次,Dockerfileを使ってみる。
GitHubにコミットしたリポジトリを元にDocker hubにAUTOMATED BUILD REPOSITORYができる。

元になったリポジトリはこれ
centosを元にsshdをただ立ち上げただけ。

基本的にDockerfileがあるフォルダで
docker build -t [repository name] .

を実行すればDockerfileに書かれた命令を上から順に実行してimageを作成してくれる。
Vagrantfileっぽい様に見えるがプロセスを起動するような命令は一回しか実行出来ない。

ここらへんはどうもdockerの仕様らしいが、やはり一つのコンテナ上で複数のプロセスを立ち上げたいみたいな 需要はあるようでDocker 起動と共にサービスを複数立ち上げたいと思ったらまず Supervisor あたりを試してみようみたいな記事はいっぱいある。

最終的にlighttpdとsshd辺りをコマンド一つで起動させたりしたいのでSupervisor辺りを使って書きなおそうかなとは思っている。

前はカスタマイズしたイメージをDocker hubにあげてたけどDockerfileでレシピを残したほうが筋が良いような気がする。
今までVMとcontainerどう使い分けたら良いかと思ったけど(そもそも技術的には違うけどやれること対して変わらないきがする)
テストオートメートのためのワンショットビルドとかの使い方がいい感じがする。

2014年9月19日金曜日

[docker] dockerの使い方 初級編

最近話題のdocker、基本的な使い方はここ のチュートリアルをみれば大体分かりそう。 今回は基本的なコマンドとその説明を書き留めていこうと思う。
docker ps : containerのリストを取得
docker inspect  : 指定したidのcontainerの情報を取得。ipとか取れる。
docker run -i -t  : コンテナを起動させる。-t ttyをアロケート、-iはstdinをオープンし続ける。
docker commit   : 指定したcontainer idをリポジトリにコミット(多分ローカル)
docker push  : commitした内容をDocker hub上のリモートリポジトリにpush
docker pull :
上記コマンドがdockerの基本的なコマンド、docker runで起動したコンテナに変更を加えて、commit, pushでその変更を Docker hub上に保持できる感じ。 Docker hubなんてネーミングからわかるがすごいgit like.
なお、余分なimageとcontainerの削除は下記ページに記載されていたので参考までに。

Dockerで不要になったコンテナやイメージを削除する 次はDockerfileをちょっと触ってみたい。