探検


Docker

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
2013/07/27(土) NY:AN:NY.ANID:5oaw2wHS
LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。

http://www.docker.io/
2016/01/15(金) 04:04:45.21ID:eyDykv1a
>>321
使わないと言っても、開発の終盤っていうか、区切りがいい時点で
実環境をDockerにしているとして、それと同じ環境でテストを
実行したいって場合には使うけどね。

ただ無理して開発時までDocker使いまくるのはちょっと違うかなーって思う。

あー、そうそう例えばウェブアプリを開発していて、データベースとして
MySQLを使う場合に、ホストOSに直接入れるんじゃなくてDocker使っていれる。
なんて使い方はするよ。
323293
垢版 |
2016/01/16(土) 17:27:47.46ID:Pwu81H6k
自分の場合、開発をアプリごとに新規で立ち上げた VirtualBox(Vagrant) のゲスト OS 内で
やっているので、DB を含むアプリで使うミドルウエアは ゲスト OS に入れることにしてます。

今のところ Docker の使いどころは、リモート環境へ配布するときに Vagrant 内で
Docker イメージを作ってそのままデプロイできるってあたりかなと思ってます。
2016/01/16(土) 21:15:11.68ID:Xjp5rZQ7
>>323
> 自分の場合、開発をアプリごとに新規で立ち上げた VirtualBox(Vagrant) のゲスト OS 内で
> やっているので、DB を含むアプリで使うミドルウエアは ゲスト OS に入れることにしてます。
俺もそんな感じ。

スレ違いだけど、これをやると幾つもの仮想マシンにソースコードが分散してしまうのと、
仮想マシンをアップデートするときに、いくつもメンテナンス作業(再プロビジョンは時間がかかる)が
必要だったり、ベースとなるboxファイルを更新しても、既存の仮想マシンはそれを使うわけじゃないし
消してから作りなおせばいいんだけど、仮想マシン上にあるソースコード、全部コミットしたっけ?
消してよかったっけ?とかなって、まだ満足していない。
ホームディレクトリの設定も仮想マシン毎に必要になるし。
常に最新の開発環境が、素早く使えればいいんだけどな。

> 今のところ Docker の使いどころは、リモート環境へ配布するときに Vagrant 内で
> Docker イメージを作ってそのままデプロイできるってあたりかなと思ってます。
ミドルウェアに使うのも便利だよ。例えばいろんなバージョンのMySQLでテストするとか。
2016/01/17(日) 17:02:11.92ID:6EWsUrMI
仮想マシンじゃなくてchroot環境のすごい版てことか
2016/01/17(日) 19:52:53.44ID:oRpvIOkb
>>325
その通り。

OpenVZいうコンテナ技術を使ってKVMのような仮想マシンを
つくり上げるソフトウェアがあるが、これとは考え方が
違うということに注意する。

chrootが特定のプロセスだけのルートディレクトリを変更するのと同じように
Dockerが作るものは、特定のプロセス(のように見える物)であって
マシンを作っているわけではない。
2016/01/18(月) 00:00:56.97ID:n4Yuq225
じゃあGUIアプリを動かすのは
Dockerじゃうまくイカないんだな
X飛ばすしかないもんな
2016/01/18(月) 00:11:34.46ID:Va23OUxH
>>327
普通に出来てるぞ。これとか

http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/

Xはクライアント・サーバーモデルなのでウェブアプリと
同じようにXアプリとしてネットワーク通信経由で動くよ。


たぶんあんたはGUIのログイン画面とかあってVNCで接続するようなものを
イメージしているのだろうけど、そもそもそれは仮想マシン的使い方であって
Dockerの本来想定する使い方じゃない。

とは言えvncserverとか入れれば出来ないことはないんじゃね?
デスクトップ環境全体を一つのアプリとして考えるという、
ChromeでOS作りましたみたいな話になるけどw
2016/01/23(土) 19:47:10.30ID:nusVPIhl
>>328
ホストは64bit環境だけど
32bitライブラリじゃないと動かないアプリがあるので
Dockerで閉じ込めたい と思っただけ

chrootだとXつかうのに 結構手間かかったけど
Dockerでもやっぱゴチャゴチャするんだな
2016/01/23(土) 19:48:40.27ID:nusVPIhl
まあ地味にもっと面倒くさいのは 音を出す方なんだよな
2016/01/25(月) 06:04:46.99ID:QR7uXNOZ
上でdllヘルがどうとかあったけどwinなら実行ホルダにdll突っ込んどけば避けられるんだよな
ハードリンク使えば容量も食わない
Linuxもようやく追いついたということか
2016/01/25(月) 11:38:08.74ID:1yX7na1L
dockerの実際の運用例の解説とかでオススメの書籍はありませんか?
2016/01/25(月) 11:44:36.02ID:F1RCk+6X
>>331
釣れると良いですねぇ
2016/01/28(木) 00:35:44.16ID:ZO4AyjLz
>>332
運用例ならネットの方が百花繚乱では。採用事例とか書籍になるころには古くなってるようなもんだし
2016/01/29(金) 01:55:58.13ID:Ca6DG0PI
Docker内でファイルを書いたり消したりを繰り返すと
容量が増えていくんだけど回避策ないの?
2016/01/29(金) 02:10:27.50ID:KbwU3dID
>>335
Dockerの使い方が間違っている可能性が高い。
基本的に追加することはあっても消さない。
2016/01/29(金) 02:46:01.98ID:Ca6DG0PI
>>336
使ってるWebFrameworkがファイルアップロードするとテンポラリとしてファイルに落としてから処理してんだよね。
この方がメモリの使用量が少ないので、こんな仕組みは多いと思うけど。
使い方間違っているというか一般的な問題かなと。
2016/01/29(金) 02:55:12.78ID:PTVigO0v
それテンポラリのファイルを消してないだけじゃないの?
2016/01/29(金) 02:56:24.83ID:PTVigO0v
使用容量はどうやって調べたの?
2016/01/29(金) 18:16:20.40ID:qb7fRlD6
>>336
マジで?
仮想環境的に使うものじゃないの?
増えたり減ったりするファイルはどうするの?
nfsとかするの?
2016/01/29(金) 19:13:57.48ID:Q/BmfN/g
データ用のコンテナ作るかホストの領域をバインドする
2016/01/29(金) 23:40:58.64ID:t1XsAtII
>>337が書かないから調べてみたが、削除したらデータ増えない。
watch -n 1 df -m しつつ下を実行。

・作成して削除・・・増えない
docker run -i -t busybox /bin/sh -c 'while true; do dd if=/dev/urandom of=/tmp/a bs=1M count=1; rm /tmp/a; done'

・作成する・・・当然増え続ける。
docker run -i -t busybox /bin/sh -c 'while true; do dd if=/dev/urandom of=$(mktemp) bs=1M count=1; done'
2016/01/29(金) 23:44:46.04ID:t1XsAtII
>>340
何度も言ってるけどDockerは仮想環境じゃない。アプリを作るもの。
アプリ+それを動かすのに必要なサーバーやライブラリなどを
一つにまとめて、単体のアプリのようにするもの。

アプリのバイナリの中にデータ追加していかないだろ?
それと同じで完成したコンテナの中にデータは追加しない。
追加するときは>>341が言ってるようにコンテナの外に保存する。
2016/01/30(土) 11:54:55.45ID:kynGF1uZ
じゃあ便利なchroot環境としては使えないの?
2016/01/30(土) 13:19:57.16ID:e72evDrr
>>344
別に使えなくはないけど、そういう使い方を目的として作られたものじゃない。

まずchrootは単なる技術。ルートディレクトリを変えるだけの技術。
基本技術だからいろんな応用ができるもの。
その技術を使って特定の用途に最適化されたものがDocker。

せっかく、特定の用途(アプリケーションコンテナ)に最適化されてるのに、
それを捨てるならDockerを使う意味は無いし、
想定された用途以外に使うなら無理やりな使い方になるから、
逆に使いにくいだけだよ。
2016/01/30(土) 14:03:49.86ID:kynGF1uZ
dockerの中でマウントしたら
外でマウントしたことがわかる?
2016/02/04(木) 15:38:08.01ID:iuBl6bkU
永続化がよく分からなくて試行錯誤してたけど
Dockerfile内にvolumeが指定されてるとコンテナを作るときに--volumeで明示的に指定しないと
/var/lib/docker/volumesの中にランダムな名前のディレクトリがコンテナを作る度に増えていく
コンテナが残ってればdocker inspect CONTAINERで分かるけど削除してしまった場合どうやって整理すればいいの?

>>335の言ってる増え続けるってこれのことなんじゃないの?
2016/02/04(木) 16:11:59.92ID:iuBl6bkU
ああvolumeをdockerの管理下に置きつつ任意の名前にしたい場合は
docker volume create --name hoge
して
docker create -v /var/lib/docker/volumes/hoge:/hoge image
にすればいいのか

あとデータ用のコンテナを作ってる例が多いんだけど
これって複数のコンテナから参照する場合だけ?
1つのコンテナからだけ参照する場合は上記のようにボリュームを作るだけでいいのかな
2016/02/04(木) 16:23:53.70ID:iuBl6bkU
連投すまん
整理する方法は見つけた
https://hub.docker.com/r/martin/docker-cleanup-volumes/
2016/02/04(木) 17:11:16.17ID:/xEaNWkP
あー、docker volumeってこんなんなんだ。
alpha版(?)のdocker-volumesの方が分かりやすかったな。

> コンテナが残ってればdocker inspect CONTAINERで分かるけど削除してしまった場合どうやって整理すればいいの?
docker volume ls -f dangling=true で調べられるみたいだよ。
一気に消したい時はお馴染みのアレだね。

> 1つのコンテナからだけ参照する場合は上記のようにボリュームを作るだけでいいのかな
というかそれが「コンテナでボリュームをあつかう」という一番シンプルな事例の話だと思う。

1つのボリュームを複数のコンテナから共有したい。という要求があった時に
ボリュームは複数のコンテナからマウントできないから、
データ用のコンテナを作ってコンテナの方を参照するってめんどくさい話がでてくる。

例えて言うのならUSB-HDDを複数のPCに同時に接続できないから、
専用のPCに接続して、ネットワーク経由で参照するみたいな感じなわけだけど。
2016/02/04(木) 17:15:56.03ID:/xEaNWkP
>>349
それは・・・多分、docker volume実装前に作られたやつかな。
ソースコードざっと見ただけだけどファイルを直接消してるみたい。
きっとdocker volumeよりかは便利なのだと思うけど、内部を直接触ってる。


リポジトリ見に行ったらお馴染みのアレ書いてあった。
> Note about Docker 1.9 and up
>
> To delete orphaned volumes in Docker 1.9 and up you can also use the built-in docker
> volume commands instead of this docker-cleanup-volumes script. The built-in
> command also deletes any directory in /var/lib/docker/volumes that is not a
> volume so make sure you didn't put anything in there you want to save:
> List:
>
> $ docker volume ls -qf dangling=true
> Cleanup:
>
> $ docker volume rm $(docker volume ls -qf dangling=true)
2016/02/04(木) 17:25:03.63ID:iuBl6bkU
なるほどサンクス

あとごめんいちいちvolume create しなくても
docker create -v hoge:/hoge image
でよかった
なんか最初やったとき上手くいかなかった気がするけど今やったら普通に出来た
353login:Penguin
垢版 |
2016/02/05(金) 10:18:06.27ID:AMUaaeIw
docker 1.10.0 リリース
2016/02/07(日) 15:16:37.68ID:NrxI4Bcf
(´・ω・`)rktってどう
2016/02/07(日) 15:30:00.80ID:7zZax8el
もう選ぶ理由ないだろ?
356login:Penguin
垢版 |
2016/02/09(火) 14:52:35.39ID:F7e+9kDP
>>322
なぜ?
2016/02/09(火) 15:01:20.39ID:UQcUg7rD
rktを作った理由=Dockerの問題点はもう解決済み
2016/02/11(木) 11:43:25.48ID:lG1SDKP9
これからはrkt
2016/02/11(木) 15:04:38.89ID:5V/FrhsK
dockerでインストールしたプログラムを
ホスト側で実行してるようにみせることはできる?
2016/02/11(木) 16:19:22.99ID:lxA4XTks
だれに?
2016/02/11(木) 18:19:26.24ID:PTNKhQJb
ネットワーク経由なら
2016/02/13(土) 03:31:06.04ID:KKo/RJVM
>>360
ホストに。
ホストでパイプに繋げたい
2016/02/13(土) 09:41:27.77ID:yeGNiNIT
>>362
考え方間違ってる。
こういう風に使うんだよ。

(ホスト上で実行)
docker run --rm busybox cat /etc/passwd | cut -d: -f1

考え方的には、コンテナ=1アプリと考えて
view_password | cut -d: -f1
とやってるのと同じ。

あるアプリが、"たまたま" コンテナで動いていただけ。と考える。
ファイルやソケットに関してはvolumeの機能を使えば
コンテナ内に情報を渡せる。
2016/02/13(土) 14:22:35.10ID:MPHcw9oS
>>363
その発想だよね。シンプルが第一

うちの上級技術者さんもなんかやたら頑張りたがるので複雑になるばかりだわ
2016/02/13(土) 16:38:03.87ID:bUP2Pwft
マルチホストネットワークのこと言ってんじゃねーの?
363は勘違いしている可能性高い
2016/02/13(土) 19:29:58.65ID:yeGNiNIT
>>365
勘違いしてるのはお前だよw
2016/02/13(土) 23:18:28.35ID:BBstnutI
考え方の問題もあるけど解決したい問題の内容がわからんことにはな
上級技術者さんがどんなタスク振られてるのか想像することしかできん

「こんなのDocker前提でやらせんなよ」みたいな類の難題を、泣く泣くやらされてるだけかも知らんしな
2016/02/14(日) 14:21:59.69ID:AZnDrrUd
用もないのにdocker入れて大炎上してる
もちろん誰も助けてくれない
2016/02/14(日) 20:26:02.30ID:6NeP3Zu4
俺も全く必然性は無いけどDocker入れてやろうと考えてる
周りは技術ゼロだけどバッチ処理に使うだけだから大丈夫だろ
2016/02/14(日) 20:52:11.17ID:07aKYYel
新しいサービスはdockerにしてるけど
一人で管理してるから俺が突然死んでも大丈夫なように最低限ドキュメントは作ってる
2016/02/14(日) 23:02:45.37ID:Q0u+4TMx
むしろ俺がDockerによって作られた
2016/02/14(日) 23:14:22.38ID:y42TnIuR
どっかいけ
2016/02/15(月) 03:23:45.62ID:+dFNL4+H
ドッカン、ドッカン
2016/02/15(月) 08:38:51.19ID:HK1fzC0/
震える〜
2016/02/16(火) 02:49:11.67ID:4mkrfx11
寒い。天使が見える。
376login:Penguin
垢版 |
2016/02/17(水) 15:26:22.57ID:jouuSHwA
スレたった頃から比べれば、物凄いハッテンしたよね(´・ω・`)
2016/02/23(火) 17:59:19.87ID:Y9rQsPVn
ホストとコンテナのLinux OSのバージョンは同じでなければならないんでしょうか。
例えばホストが3.8でコンテナが2.6みたいなことは可能ですか?
2016/02/23(火) 22:40:06.26ID:coLRUzDx
>>377
できない。そういうことがしたかったら、KVMとか、Xenとか、ESXi とかどうぞ。
2016/02/23(火) 22:58:07.30ID:q5mgUter
他のOSみたいにVMでdockerを動かす方法はあるけど
そもそもその質問自体dockerを理解してるか?
2016/02/24(水) 18:38:02.26ID:pG4XiDgY
Docker 上で TensorFlow 使いたいんだけど

$ docker run -it b.gcr.io/tensorflow/tensorflow

ってやると notebookserver が立ち上がってコマンドプロンプトが出ない.
notebookserver とやらを起動しないでプロンプト表示させる方法誰か教えて.

ちなみに http://[自分の IP]:8888/ をブラウザで開こうとしても
ERR_CONNECTION_REFUSED でダメ.
2016/02/25(木) 01:49:38.85ID:T8INB/M+
docker run -i -p 8888:8888 b.gcr.io/tensorflow/tensorflow

docker toolbox使っているならそのデフォルトIP
http://192.168.99.100:8888/
でなんか出てきたぞ
2016/03/08(火) 12:37:17.81ID:NqXtYJv2
beforehoge | hoge | afterhoge
みたいな処理のうち、hogeが
32bitアプリで、仕方ないから
2016/03/10(木) 00:07:25.52ID:gPa0Ow/o
Docker便利ですね
2016/03/16(水) 08:55:28.11ID:s4SxRw3W
便利だけど
385login:Penguin
垢版 |
2016/03/16(水) 14:09:47.68ID:ZrPmEkII
利用する
便利じゃん
2016/03/16(水) 20:30:49.07ID:flq53xOH
具体的な用途は何?
今使っている物とは別のバージョンのソフトを入れるとか?
2016/03/16(水) 21:35:59.75ID:xOuf53vs
今すぐサーバー上で設定済みのWordPressを動かして!
Dockerならできます。
2016/03/17(木) 02:14:28.04ID:ZfpYqjAH
>>387
Dockerなら、何もしなくて設定済みのWordPressインストールされてて即実行できるの?
今すぐっていうことは、ダウンロードも必要ないんだ?

へー、ノーベル賞とかチューリング賞取れるレベルのソフトなんだね。
2016/03/17(木) 02:32:40.77ID:euaV6DFF
サーバーのコンテナの次は何だろう
2016/03/17(木) 02:57:24.35ID:euaV6DFF
WordPressっていうかWebサービスだよね
Webサービス丸々一つ持ち運べる
2016/03/17(木) 10:43:55.32ID:gIS03mtP
>>388
$ docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress

この程度じゃ取れないと思うよ(マジレス
2016/03/17(木) 19:13:25.19ID:6KExifvs
データの保存をどうするか、悩むところだ。
Dockerこんてなのデータ永続化はどうしてるんだろう。
2016/03/17(木) 19:38:13.53ID:hiUer/pj
DB
2016/03/19(土) 23:49:26.78ID:0QOI7gQ1
意外とこれを知らん奴が多いのな
Docker使ってなんかやろうと思うなら読んどけよ

The Twelve-Factor App
http://12factor.net/ja/
2016/03/20(日) 04:08:34.39ID:ttc9zOgK
dockerを勝手に運用に使ってた奴が辞めて現場は大混乱だ
2016/03/20(日) 05:04:49.90ID:fFALSuEI
>>395
それだけ重要な人を失ったということだ。

社長が辞めて大混乱になるのと
同じぐらい大変なことが起きてるな。
2016/03/20(日) 08:42:48.66ID:epZXxEk/
今どきDockerを知らないレベルはヤバイ
問題は運営方法をどうするか決めずに設定だけやってる奴ら
うちの会社だとバックアップ方法がバラバラなので、どれかコンテナの運用者がいなくなると一気に危険ゾーンだわ
398login:Penguin
垢版 |
2016/03/20(日) 08:50:19.72ID:dk7Wp3zD
そいつらどんな了見で自分勝手な本番運用しやがるんだよw
いますぐ皆クビにしろマジで
2016/03/20(日) 09:15:16.56ID:pIq256Sg
>>395
勝手に言うか全部自分に任されてるから勝手にやってるけど
自分が今急に死んだらやばいかも
まあそうならないようにドキュメント書くようにはしてるけど
2016/03/20(日) 10:58:06.97ID:I1bU+LzR
俺が死んだら、迷惑かけても、痛む心がなくなってるわけだから、どうでもいいや。
2016/03/20(日) 11:20:10.70ID:9QytjGSA
俺は嫌な思いしてないから
それにお前らが嫌な思いをしようが俺の知った事ではないわ
だって全員どうでもいい人間だし
大袈裟に言おうがお前らが死んでもなんとも思わん
それはリアルでの繋がりがないから
つまりお前らに対しての情などない
402login:Penguin
垢版 |
2016/03/20(日) 11:29:01.70ID:dk7Wp3zD
どうした突然wwww
2016/03/20(日) 12:57:13.28ID:WBnNtD//
勝手に運用してるのも問題だけど、辞めるまで気づきませんでした、技術的にスキルが追いつかず引き継げませんってのもまた問題じゃね?
2016/03/20(日) 13:22:50.60ID:XbiWZ/TK
技術力を売りにしながら現場丸投げはダメな会社あるあるだよね〜
405login:Penguin
垢版 |
2016/03/20(日) 15:17:39.92ID:dk7Wp3zD
>>403
自分勝手な事するような馬鹿にスキルが追いつかないとかありえんからw
何の夢見てんだよお前w
2016/03/20(日) 15:39:55.56ID:fFALSuEI
>>405
自分勝手なことをやるのは、単に
その会社のコミュニケーションの問題だろ。
そもそも勝手にできてしまうって状況が駄目だってわかる?

一人で作業をさせているってことだし、ドキュメントを
用意してないってことだし、ミーティングもなにもない
情報の共有がされてない会社だってことだよ。


Dockerがわからないのは単に技術力不足。
これはわからないほうが悪い。
407login:Penguin
垢版 |
2016/03/20(日) 15:55:55.29ID:dk7Wp3zD
>>406
> Dockerがわからないのは単に技術力不足。
こんなレベルのやつ現実の職場にはいないからw
おまえあれだろ?春休みの学生さんってやつだろ?
まともな会社に入れるようにせいぜい努力するこったな
2016/03/20(日) 16:59:16.77ID:fFALSuEI
>>407
いや?w いないと証明するには
すべての職場を調べないといけないんだけど。

お前、知ることが出来るはずがないことを
知っていると言ってることに、自分で気づいているか?
2016/03/20(日) 17:17:21.41ID:ttc9zOgK
ワイのために喧嘩はやめて(´・ω・`)
410login:Penguin
垢版 |
2016/03/20(日) 17:49:44.93ID:dk7Wp3zD
>>409
まあ喧嘩するつもりもないが
そんな眠たい事言ってるから>>408みたいな馬鹿が会社に潜りこんでくるんだぜ
2016/03/20(日) 17:51:18.31ID:fFALSuEI
へ? お前の理屈を説得力がないと潰してやったのに、
何言ってるの?w
2016/03/20(日) 17:59:10.30ID:wFpJzuW4
Docker使う奴は頭おかしい。このスレ見るとよく分かる。
2016/03/21(月) 00:08:52.30ID:JK1U0YLN
東証一部だが、この醜い争いの元凶である現場の暴走がまさに起きてるぜ
主な理由が、問題起きたら人柱に辞めてもらうことで手打ちにしてもらう。それまでは丸投げと言う素晴らしい管理方針だから
意外と二次受けのほうがしっかりしてるのよ
2016/03/25(金) 15:13:57.95ID:W9Eglrnb
GUIの管理ツールどれ使ってる?
2016/03/25(金) 22:19:39.27ID:Wj6xxs6s
いらん
2016/03/27(日) 15:29:57.37ID:oEB5F9/U
dockerではGUIが使えないから使ってない
2016/03/27(日) 15:56:39.16ID:1K8zFvsN
使えるけど?
使わないけど
2016/03/27(日) 22:59:19.65ID:2gsK2v8i
>>417
ウケる
2016/03/28(月) 00:36:26.70ID:JEsXGyGB
vncか母艦のローカルソケット共有だっけ
ググればすぐ出るレベルだからな…
2016/03/28(月) 09:29:01.34ID:QQQMEHsV
GUIは基本的にかったるい
CUIで済む用途に無理にGUIの皮被せるのって
何の意味も無い
2016/03/28(月) 12:37:06.05ID:EewGp7dU
>>420
それな
いちいちコンソール起動するのほんとウザイ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況