LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。
http://www.docker.io/
Docker
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
2013/07/27(土) NY:AN:NY.ANID:5oaw2wHS2015/04/17(金) 23:34:01.75ID:9gMi+vK8
>>158
blogで検索しろ
blogで検索しろ
2015/04/18(土) 00:03:43.05ID:u1tH5Ffu
>>159
すまんな完全に耄碌してた
結局、windowsで動かすdockerはvmwareでcolinuxじゃないということかなぁ
あと、リソースのリミットやcgroupはより実利用に向けてだね。あとは、レジストリのメモリサイズ減っててほしいな減ってたら使いたい
何よりもラベル助かる。というか必須にしようや
と、食いつきにくい餌をばらまく
すまんな完全に耄碌してた
結局、windowsで動かすdockerはvmwareでcolinuxじゃないということかなぁ
あと、リソースのリミットやcgroupはより実利用に向けてだね。あとは、レジストリのメモリサイズ減っててほしいな減ってたら使いたい
何よりもラベル助かる。というか必須にしようや
と、食いつきにくい餌をばらまく
2015/04/18(土) 00:32:50.36ID:f25WLGMH
>>157
公式から実行ファイル落としてきて差し替えるだけでアップデートできるしねえ
公式から実行ファイル落としてきて差し替えるだけでアップデートできるしねえ
2015/04/18(土) 00:43:41.92ID:Poz6rK90
> 結局、windowsで動かすdockerはvmwareでcolinuxじゃないということかなぁ
誰か解読してくれ
誰か解読してくれ
2015/04/18(土) 09:37:55.75ID:5mupc9aD
スマン。俺では読解不能。
2015/04/18(土) 09:48:50.12ID:xfQzuhGH
>>161
Windowsを使うなっていうことだよ。
Windowsを使うなっていうことだよ。
2015/04/18(土) 10:11:00.81ID:Poz6rK90
2015/04/26(日) 23:10:26.37ID:sEsBhdvh
>>162
colinuxは仮想マシンじゃないってことじゃないの?
colinuxは仮想マシンじゃないってことじゃないの?
2015/04/26(日) 23:36:12.81ID:2VqiUET5
ああ、「Winだと仮想経由になっちゃってコンテナとは言い難いな」ってことか?
それ踏まえて読み直すとやっと腑に落ちた
しかし読解レベルで食いつきにくいのは勘弁してもらいたいなw
それ踏まえて読み直すとやっと腑に落ちた
しかし読解レベルで食いつきにくいのは勘弁してもらいたいなw
2015/04/28(火) 09:15:57.60ID:caO6gV5W
とはいえコンテナが増えてくるとVMでモジュール化しないと管理しきれなくなる
2015/04/28(火) 17:43:20.89ID:p7aKCxVD
モジュール化するのはいいが、
なんでVMでなんだ?
もっと軽いものでモジュール化しろよ
なんでVMでなんだ?
もっと軽いものでモジュール化しろよ
2015/04/28(火) 18:08:46.50ID:caO6gV5W
その軽いものでホスト環境ごと分離できるなら
2015/04/28(火) 20:38:55.87ID:hA0EVbY2
>>170
Docker in Docker
Docker in Docker
2015/04/29(水) 03:55:39.36ID:BRRCxaDn
>>170
それがコンテナ(プロセス)のグループ化って考え方なんだろうけどね。
ようするのpsコマンドの表示の仕方が悪いって話でしょ?
psした時に、特定のグループは一つにまとまって見れて
そのグループ単位で起動とか停止できればいいんでしょ?
複数のコンテナをまとめて管理するなら、docker-composeが使えるし
イメージやコンテナにラベルが付けられるようになったから
自分でコマンド作ればいい。
最終的にはsystemdと連携してプロセスグループとして管理される。
これが現在進行中の流れだよ。
今すぐ使いたかったら、
GoogleのKubernetes等のコンテナ管理ツールを使えば良い
それがコンテナ(プロセス)のグループ化って考え方なんだろうけどね。
ようするのpsコマンドの表示の仕方が悪いって話でしょ?
psした時に、特定のグループは一つにまとまって見れて
そのグループ単位で起動とか停止できればいいんでしょ?
複数のコンテナをまとめて管理するなら、docker-composeが使えるし
イメージやコンテナにラベルが付けられるようになったから
自分でコマンド作ればいい。
最終的にはsystemdと連携してプロセスグループとして管理される。
これが現在進行中の流れだよ。
今すぐ使いたかったら、
GoogleのKubernetes等のコンテナ管理ツールを使えば良い
2015/04/29(水) 10:07:13.07ID:nNg4AUbS
2015/04/29(水) 16:58:01.42ID:MqTXUcHY
DebianでDockerを使いたい
2015/04/29(水) 19:45:04.67ID:PVvnkZA4
2015/06/22(月) 09:59:59.87ID:MKn1D3b3
どっかの馬鹿がDockerに関しての話題をここじゃなくて、
こっちでやれって言ったからこっちに書いてるよ。
興味があったらどうぞ
プログラムに詳しくなりたい
http://peace.2ch.net/test/read.cgi/tech/1346595505/
こっちでやれって言ったからこっちに書いてるよ。
興味があったらどうぞ
プログラムに詳しくなりたい
http://peace.2ch.net/test/read.cgi/tech/1346595505/
2015/06/22(月) 11:45:56.32ID:wFV4fNrq
ドッカーポエムが繰り広げられていますね。
2015/06/24(水) 06:47:05.78ID:RBigAIuG
DockerでCentOS7使おう思ったら
systemctlが無いやら(7.0)、B-Busがなんやら(7.1)出てしまうので
先人の教えを請うて次の魔法の言葉を打ったらsystemctl使えたけど
docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter
docker run -p 80:80 centos:centos7 /sbin/init
sudo nsenter -t $(sudo docker inspect --format '{{.State.Pid}}' centos) -m -u -i -n -p /bin/sh
なんですの?これ
systemctlが無いやら(7.0)、B-Busがなんやら(7.1)出てしまうので
先人の教えを請うて次の魔法の言葉を打ったらsystemctl使えたけど
docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter
docker run -p 80:80 centos:centos7 /sbin/init
sudo nsenter -t $(sudo docker inspect --format '{{.State.Pid}}' centos) -m -u -i -n -p /bin/sh
なんですの?これ
2015/06/24(水) 07:03:31.25ID:FN4gTzV8
どこが魔法なんだ?。/sbin/initか?。
2015/06/24(水) 19:39:41.29ID:bjzS3wSj
>>179
たぶんnsenterがゲストのCentOS7でsystemctl使えるようにする魔法の言葉だと思うんだけど
なにしてるの、これ?
(ちなみに-p 80:80はいらなかったのかも知れないがとりあえず入れただけ)
たぶんnsenterがゲストのCentOS7でsystemctl使えるようにする魔法の言葉だと思うんだけど
なにしてるの、これ?
(ちなみに-p 80:80はいらなかったのかも知れないがとりあえず入れただけ)
2015/06/24(水) 20:16:07.45ID:FN4gTzV8
普通に、CentOSを起動した時に動くデーモンを全部起動してるだけ。
必要なものだけに厳選するなら、supervisordとか他の手段を使ったほうが良いと思う。
必要なものだけに厳選するなら、supervisordとか他の手段を使ったほうが良いと思う。
2015/06/24(水) 20:33:23.05ID:U/GFm2K0
これを会社のシステムに使おうとしてる俺の会社って狂ってるよね
社内にLinuxに精通した奴なんておらんし
社内にLinuxに精通した奴なんておらんし
2015/06/24(水) 20:46:10.82ID:bjzS3wSj
>>181
ありがと、
とりあえず/sbin/initでコンテナ上げとけばsystemctlが使えるようになるから
あとはnsenterとかsupervisordやらでコンテナのshに入ればいいってことなのかな?
ありがと、
とりあえず/sbin/initでコンテナ上げとけばsystemctlが使えるようになるから
あとはnsenterとかsupervisordやらでコンテナのshに入ればいいってことなのかな?
2015/06/24(水) 20:48:34.35ID:iMr9lwQF
2015/06/24(水) 20:52:07.25ID:mO3FIYM5
>>183
今のコンテナに入る方法はdocker execだよ。
nsenterとか使わない。
あとコンテナの中でsystemdも使わない。
そもそも使い方が間違っていて
コンテナは仮想マシンじゃない。
コンテナは原則として一つのアプリを動かすもの。
その一つのアプリを動かすのに必要なものを
固めたのがコンテナ。
動かすのは一つのアプリだけなのだからsystemdもいらない。
今のコンテナに入る方法はdocker execだよ。
nsenterとか使わない。
あとコンテナの中でsystemdも使わない。
そもそも使い方が間違っていて
コンテナは仮想マシンじゃない。
コンテナは原則として一つのアプリを動かすもの。
その一つのアプリを動かすのに必要なものを
固めたのがコンテナ。
動かすのは一つのアプリだけなのだからsystemdもいらない。
2015/06/24(水) 21:31:09.12ID:bjzS3wSj
>>185
なるほどハイパーバイザーみたいに使うのは違うんか
VPS借りてさらにその上で仮想化したくて
KVMはQEMUしか動かなくて糞遅く、VBは32bitしか使えず、
Dockerもsystemd使えなくて駄目かと思っていたら使えてウハウハしてしまった
なるほどハイパーバイザーみたいに使うのは違うんか
VPS借りてさらにその上で仮想化したくて
KVMはQEMUしか動かなくて糞遅く、VBは32bitしか使えず、
Dockerもsystemd使えなくて駄目かと思っていたら使えてウハウハしてしまった
2015/06/24(水) 21:36:56.22ID:bjzS3wSj
>>185
最初はdocker execでCentOS7コンテナの/bash/shに入ったらsystemctl使えなくて
ホストのUbuntu14.04自体に無いからかな?と14.10に上げてsystemctlあるなと思ったが駄目で
インターネッツ探したらnsenterでごにょごにょ書いていたからやってみたら出来たっていきさつです
最初はdocker execでCentOS7コンテナの/bash/shに入ったらsystemctl使えなくて
ホストのUbuntu14.04自体に無いからかな?と14.10に上げてsystemctlあるなと思ったが駄目で
インターネッツ探したらnsenterでごにょごにょ書いていたからやってみたら出来たっていきさつです
2015/06/24(水) 21:50:06.98ID:FN4gTzV8
何を動かしたいんだ?。
webserverか?。
開発環境?。
webserverか?。
開発環境?。
2015/06/24(水) 21:51:19.57ID:bjzS3wSj
>>188
Clamdscanを動かしたよ、試験で
Clamdscanを動かしたよ、試験で
2015/06/25(木) 00:20:22.65ID:cLOb0vS2
これってWindowsでいうApp-Vみたいなもん?
2015/06/25(木) 04:18:41.26ID:wvwj0TJ4
>>186
実際マシンの仮想化はしてないからね。
ハードウェアのエミュレートなどはしていない。
chrootの技術の延長
WindowsでDLL Hell とかいう言葉を知っていればわかりやすけど
アプリAとアプリBがあります。どちらもOSのDLL(ダイナミックライブラリ)を使います。
アプリAをバージョンアップするために、OSのDLLのバージョンアップも必要です。
OSのDLLのバージョンアップしたら互換性がなくて、アプリBが動かなくなりました。
というのがDLL Hellというやつで、Linuxでも同じことは起きる。
この対策としてアプリAのディレクトリにOSのDLLを含めました。
などとアプリAのディレクトリに、OSのDLLすべてをコピーしちゃう。
更にプロセス空間やネットワーク関連も独立させて、完全に隔離された状態で
アプリケーションを動かすっていうのがアプリケーションコンテナ。
あくまで一つのアプリを動かすために、そのアプリに必要なものを
すべてまとめてしまってるだけなので、ホストOS上で
(コンテナ化された)アプリを動かすという考え方をする。
同じコンテナ技術を使って仮想マシンのように使うOpenVZとかあるけど
あれとは考え方が違うので注意。
一つのコンテナの中で動かすターゲットは一つ(+それを動かすために必要物)なので
わざわざsystemd使う必要もないってわけ。
実際マシンの仮想化はしてないからね。
ハードウェアのエミュレートなどはしていない。
chrootの技術の延長
WindowsでDLL Hell とかいう言葉を知っていればわかりやすけど
アプリAとアプリBがあります。どちらもOSのDLL(ダイナミックライブラリ)を使います。
アプリAをバージョンアップするために、OSのDLLのバージョンアップも必要です。
OSのDLLのバージョンアップしたら互換性がなくて、アプリBが動かなくなりました。
というのがDLL Hellというやつで、Linuxでも同じことは起きる。
この対策としてアプリAのディレクトリにOSのDLLを含めました。
などとアプリAのディレクトリに、OSのDLLすべてをコピーしちゃう。
更にプロセス空間やネットワーク関連も独立させて、完全に隔離された状態で
アプリケーションを動かすっていうのがアプリケーションコンテナ。
あくまで一つのアプリを動かすために、そのアプリに必要なものを
すべてまとめてしまってるだけなので、ホストOS上で
(コンテナ化された)アプリを動かすという考え方をする。
同じコンテナ技術を使って仮想マシンのように使うOpenVZとかあるけど
あれとは考え方が違うので注意。
一つのコンテナの中で動かすターゲットは一つ(+それを動かすために必要物)なので
わざわざsystemd使う必要もないってわけ。
2015/06/25(木) 04:19:11.90ID:wvwj0TJ4
>>190
これか。
http://www.atmarkit.co.jp/ait/articles/1006/24/news108_2.html
ざっと見た感じだとかなり似ているな。
なんだかんだでWindowsは既に実現してるんだなw
これか。
http://www.atmarkit.co.jp/ait/articles/1006/24/news108_2.html
ざっと見た感じだとかなり似ているな。
なんだかんだでWindowsは既に実現してるんだなw
2015/06/25(木) 04:47:29.57ID:wvwj0TJ4
仮想マシンの使い方だと、マシンを新たに作って
OSのインストールを終わらす。そこまでが仮想マシンを作る段階で、
それから、よーしこれからアプリケーションをインストールするぞーって
考え方だと思うけど、
Dockerの場合、アプリケーションが使えるようにする所までが一連の作業になる。
Dockerfileに定義した内容に従って、すぐに使えるDockerイメージを作る。
そのイメージを共有することで、
あ、あのアプリ使いたいな。って思った時にyumやapt-getでインストールする代わりに、
イメージをpullしてきてそれを起動する。
(Dockerイメージを起動して作られるのがDockerコンテナ、実行ファイルと起動したプロセスのような関係)
Dockerコンテナの中にはアプリを動かすため必要なカーネル以外のすべてのものが
含まれているから、Dockerさえ動く環境があれば、すぐにアプリが使えるようになる。
ちなみに、CentOSとかUbuntuの違いというのは
* カーネル + CentOS独自のパッケージと設定
* カーネル + Ubuntu独自のパッケージと設定
であるため、Dockerコンテナにはカーネル以外のすべての部分が含まれているということは
ホストOSがCentOSであっても、Ubuntuベースで作られたコンテナが使えるということ。
カーネル部分は多少のバージョンの差があるにしろ同じものだからね。
OSのインストールを終わらす。そこまでが仮想マシンを作る段階で、
それから、よーしこれからアプリケーションをインストールするぞーって
考え方だと思うけど、
Dockerの場合、アプリケーションが使えるようにする所までが一連の作業になる。
Dockerfileに定義した内容に従って、すぐに使えるDockerイメージを作る。
そのイメージを共有することで、
あ、あのアプリ使いたいな。って思った時にyumやapt-getでインストールする代わりに、
イメージをpullしてきてそれを起動する。
(Dockerイメージを起動して作られるのがDockerコンテナ、実行ファイルと起動したプロセスのような関係)
Dockerコンテナの中にはアプリを動かすため必要なカーネル以外のすべてのものが
含まれているから、Dockerさえ動く環境があれば、すぐにアプリが使えるようになる。
ちなみに、CentOSとかUbuntuの違いというのは
* カーネル + CentOS独自のパッケージと設定
* カーネル + Ubuntu独自のパッケージと設定
であるため、Dockerコンテナにはカーネル以外のすべての部分が含まれているということは
ホストOSがCentOSであっても、Ubuntuベースで作られたコンテナが使えるということ。
カーネル部分は多少のバージョンの差があるにしろ同じものだからね。
2015/06/25(木) 16:06:19.25ID:C9lLKxO7
>>186
>VPS借りてさらにその上で仮想化したくて
>KVMはQEMUしか動かなくて糞遅く、VBは32bitしか使えず、
そういう用途だとLXCそのまま使うのが良いかもよ
http://knowledge.sakura.ad.jp/tech/2108/
>VPS借りてさらにその上で仮想化したくて
>KVMはQEMUしか動かなくて糞遅く、VBは32bitしか使えず、
そういう用途だとLXCそのまま使うのが良いかもよ
http://knowledge.sakura.ad.jp/tech/2108/
2015/06/26(金) 19:34:35.84ID:5utg5Beh
2015/06/26(金) 19:50:34.74ID:HiTWIHDc
そうか?。CoreOSと喧嘩したり、色々きな臭い感じじゃん。
2015/06/26(金) 21:26:26.16ID:wntHkts6
和解しとるやん。
情報遅いな。
情報遅いな。
2015/06/26(金) 23:22:40.84ID:ngeDw7mz
CRIU使ってマイグレーション辺り、やってる人いる?
199login:Penguin
2015/06/30(火) 04:52:28.11ID:E9eQFop92015/06/30(火) 09:07:07.07ID:zxK55uyU
>>199
理由書かないと何の説得力もないよ。
仮想環境と書いているが曖昧で、俺が言ってるのは
アプリを仮想化したものだと言ってる。
Dockerで作るのは仮想マシンではない。
この二つをごっちゃにすると、
仮想マシンの中でDockerを作るのは意味が無い。などと勘違いしてしまう。
仮想マシンの中であっても、アプリをインストールして起動する。
Dockerを使うと、このアプリのインストールと起動が簡単になる。
使い方が全く違うんだよ。
理由書かないと何の説得力もないよ。
仮想環境と書いているが曖昧で、俺が言ってるのは
アプリを仮想化したものだと言ってる。
Dockerで作るのは仮想マシンではない。
この二つをごっちゃにすると、
仮想マシンの中でDockerを作るのは意味が無い。などと勘違いしてしまう。
仮想マシンの中であっても、アプリをインストールして起動する。
Dockerを使うと、このアプリのインストールと起動が簡単になる。
使い方が全く違うんだよ。
2015/07/01(水) 07:55:16.75ID:Z6eyldi3
アプリを特定の環境 (/usr/lib/libなんちゃらの特定のバージョンがある、など) で動かすための仕組みが仮想環境じゃねーの?
仮想環境をポイっと用意されたらその中で案件毎に複数のアプリをインストールしたりして、
ただ単に分離されたフルのOS環境として使うのが従来の仮想化の一般的な使い方だったけど、
KVMやESX, Hyper-Vなんかよりcgroup/namespace使ったコンテナはとっても軽いので
特定の仮想環境と特定のアプリ(nginx)をワンパッケージとして管理したら良いんじゃない?
ってことで出て来たのがDockerってことと思ってるが
仮想環境をポイっと用意されたらその中で案件毎に複数のアプリをインストールしたりして、
ただ単に分離されたフルのOS環境として使うのが従来の仮想化の一般的な使い方だったけど、
KVMやESX, Hyper-Vなんかよりcgroup/namespace使ったコンテナはとっても軽いので
特定の仮想環境と特定のアプリ(nginx)をワンパッケージとして管理したら良いんじゃない?
ってことで出て来たのがDockerってことと思ってるが
2015/07/01(水) 09:10:05.82ID:qZ14qlfM
>>201
仮想環境と言われると曖昧だが、
仮想マシンではないということ。
> 仮想環境をポイっと用意されたらその中で案件毎に複数のアプリをインストールしたりして、
「複数のアプリをインストールしたりして」の部分ね。
これがDockerコンテナ化された複数のアプリに変わる。
仮想マシンの中に複数アプリを入れると言っても、
そのアプリには設定が必要。何も設定しないでもいいアプリはあまりない。
つまりアプリのインストールというのは面倒な作業といえる。
それを軽減するためにChefなどのツールを使ったり、
AmazonのAMI(仮想マシンイメージ)を作ったりするが、
それは、アプリとアプリの依存関係を定義しているようなもので、
【「仮想マシンの中に入れる複数のアプリ」で構成されたもの】を作ることになる。
言い換えると、アプリの設定 と アプリ間の連携の設定が結びついてしまう。
Dockerコンテナの場合、単体のアプリを作るものだから、アプリのみの設定を行う。
そのアプリの連携はDockerコンテナの起動オプション(またはdocker-compose等)で行う
だから軽いっていうのもあるけど、新しいアプリのインストール・デプロイの方法なんだよ。
Dockerを導入した場合、仮想マシンというのはマシンスペックを増やすために作るもので、
その中で動かすアプリは柔軟に変更できる。
今のサービスは複数のアプリで構成されるのは普通だけど、その構成を決め打ちで定義してしまうものではなく、
Dockerコンテナで設定済みのアプリを作っておき、そのアプリの配置を好きに変更できる。
1仮想マシン、1アプリでもいいし、ハイスペックな1仮想マシンで全アプリにするのも自由自在
仮想環境と言われると曖昧だが、
仮想マシンではないということ。
> 仮想環境をポイっと用意されたらその中で案件毎に複数のアプリをインストールしたりして、
「複数のアプリをインストールしたりして」の部分ね。
これがDockerコンテナ化された複数のアプリに変わる。
仮想マシンの中に複数アプリを入れると言っても、
そのアプリには設定が必要。何も設定しないでもいいアプリはあまりない。
つまりアプリのインストールというのは面倒な作業といえる。
それを軽減するためにChefなどのツールを使ったり、
AmazonのAMI(仮想マシンイメージ)を作ったりするが、
それは、アプリとアプリの依存関係を定義しているようなもので、
【「仮想マシンの中に入れる複数のアプリ」で構成されたもの】を作ることになる。
言い換えると、アプリの設定 と アプリ間の連携の設定が結びついてしまう。
Dockerコンテナの場合、単体のアプリを作るものだから、アプリのみの設定を行う。
そのアプリの連携はDockerコンテナの起動オプション(またはdocker-compose等)で行う
だから軽いっていうのもあるけど、新しいアプリのインストール・デプロイの方法なんだよ。
Dockerを導入した場合、仮想マシンというのはマシンスペックを増やすために作るもので、
その中で動かすアプリは柔軟に変更できる。
今のサービスは複数のアプリで構成されるのは普通だけど、その構成を決め打ちで定義してしまうものではなく、
Dockerコンテナで設定済みのアプリを作っておき、そのアプリの配置を好きに変更できる。
1仮想マシン、1アプリでもいいし、ハイスペックな1仮想マシンで全アプリにするのも自由自在
2015/07/01(水) 17:12:08.87ID:QZyNX2QN
ようはOSすら1アプリって言えるってことでしょ?
2015/07/01(水) 21:24:41.14ID:qZ14qlfM
>>203
ニュアンスの違い程度な気もするけど、
俺が言ってることを正確に表現するなら、
OSをアプリに内包するってこと。
(カーネル以外の)OSがアプリの一部になる。
Windowsで言えば、C:\Windows以下にある各種DLL全てを
アプリのディレクトリに入れたようなものかな。
メインはアプリであって、OSを使っているわけじゃないので。
ニュアンスの違い程度な気もするけど、
俺が言ってることを正確に表現するなら、
OSをアプリに内包するってこと。
(カーネル以外の)OSがアプリの一部になる。
Windowsで言えば、C:\Windows以下にある各種DLL全てを
アプリのディレクトリに入れたようなものかな。
メインはアプリであって、OSを使っているわけじゃないので。
205login:Penguin
2015/07/02(木) 09:28:55.60ID:mKmwTgm8 オブジェクト指向信者みたいな奴だな
ただの軽量な仮想環境なんだから、使いたいように使えばいいだろ
ただの軽量な仮想環境なんだから、使いたいように使えばいいだろ
2015/07/02(木) 10:52:36.77ID:z4WVp09k
パフォーマンスチューニング考えると複数のアプリを1つのコンテナにまとめた方が良い、という話もあるしな
2015/07/02(木) 14:06:34.10ID:5geABXwh
パフォーマンス的にも専用OSにDocker載せたほうが軽い
2015/07/02(木) 22:52:53.42ID:Lv3VGZCA
>>205
いや、軽いだけの仮想マシンとして考えると使いづらいところが多いんだよ。
間違ってそう考えたがゆえにDockerは使えないと判断する人もいるしね。
違うものとして考えないと。
>>206
例えばSQLiteというデータベースライブラリ(サーバーではなくて)があるけど
これと同じようにデータベースをアプリに内蔵するという考え方で
MySQLを一つのアプリに内蔵するというやり方はある。
でもパフォーマンスチューニングという点で、一つのコンテナに
まとめたほうが良いという意見は聞かないな。どこで聞いたの?
>>207
さすがに物理マシンでそのまま動かしたほうが速いでしょw
もちろん仮想マシンよりかは速いけどさ。
いや、軽いだけの仮想マシンとして考えると使いづらいところが多いんだよ。
間違ってそう考えたがゆえにDockerは使えないと判断する人もいるしね。
違うものとして考えないと。
>>206
例えばSQLiteというデータベースライブラリ(サーバーではなくて)があるけど
これと同じようにデータベースをアプリに内蔵するという考え方で
MySQLを一つのアプリに内蔵するというやり方はある。
でもパフォーマンスチューニングという点で、一つのコンテナに
まとめたほうが良いという意見は聞かないな。どこで聞いたの?
>>207
さすがに物理マシンでそのまま動かしたほうが速いでしょw
もちろん仮想マシンよりかは速いけどさ。
2015/07/02(木) 23:47:26.08ID:FFV0y9jb
2015/07/03(金) 00:19:35.51ID:k+OnBZ4c
コンテナ内のチューニングは面倒だな
環境でころころ変わって統一的にコンテナを扱えなくなるのはうまくない
環境でころころ変わって統一的にコンテナを扱えなくなるのはうまくない
2015/07/03(金) 00:31:25.65ID:8GVUR/eP
> 環境でころころ変わって統一的にコンテナを扱えなくなるのはうまくない
具体的に言うと、何がダメなの?
具体的に言うと、何がダメなの?
2015/07/03(金) 00:54:20.65ID:k+OnBZ4c
一部の環境でのみバグったり劣化したりするリスクが増える
2015/07/03(金) 09:06:01.15ID:8GVUR/eP
具体的にどの環境でのみバグった?
普通のアプリであれば、アプリ以外の部分、
つまりカーネル、OS、libc等の基本的な
ライブラリ、アプリの言語のバージョン、
その言語用のライブラリと依存するものが多い。
OSのアップグレードなんかしたら、それらが
変わってしまうから、一部の環境のみでバグったりするね?
でもDockerコンテナ化すれば、アプリにアプリが適切に
動く環境そのものを同梱できるから、
アプリ以外の部分は、カーネルのみになる。
だから一部の環境のみでバグるということが少ないはずなんだが?
もう少し、具体的な事例が聞きたいね。
普通のアプリであれば、アプリ以外の部分、
つまりカーネル、OS、libc等の基本的な
ライブラリ、アプリの言語のバージョン、
その言語用のライブラリと依存するものが多い。
OSのアップグレードなんかしたら、それらが
変わってしまうから、一部の環境のみでバグったりするね?
でもDockerコンテナ化すれば、アプリにアプリが適切に
動く環境そのものを同梱できるから、
アプリ以外の部分は、カーネルのみになる。
だから一部の環境のみでバグるということが少ないはずなんだが?
もう少し、具体的な事例が聞きたいね。
2015/07/04(土) 09:23:31.50ID:GApZdgbL
dockerコマンド自体にバージョン違いがあるのだから、
管理側が2つを操作するよりは、1つをまとめておいた方がいい場合もあるやろ
面倒なやっちゃなー…
管理側が2つを操作するよりは、1つをまとめておいた方がいい場合もあるやろ
面倒なやっちゃなー…
2015/07/04(土) 11:17:42.28ID:vy3VAPSr
2015/07/08(水) 01:02:43.60ID:q/+csAyd
2015/07/08(水) 01:03:41.39ID:q/+csAyd
2015/07/08(水) 17:53:34.36ID:L+gsM06d
2015/07/09(木) 00:40:54.89ID:I73reSJv
2015/07/11(土) 01:19:07.36ID:anWWthE2
Dockerって、chrootみたいなもの?
2015/07/11(土) 02:06:58.00ID:HaC4FdeK
>>220
「chrootの機能を継承した技術」を使いやすい形に統合したものかな。
知っているとは思うけど、chrootは単に
プロセスから見えるルートディレクトリを変更しただけ。
それを更に発展させてルートディレクトリだけではなく
プロセスやネットワークも分離させて、プロセスに対して
そのプロセスに独立した環境を作り出すのがコンテナ(LXC等)
ちなみに古いバージョンのDockerはLXCを利用していた。
今はlibcontainerを使ってカーネルのコンテナAPIを直接呼び出している
でDockerはそのカーネル提供しているコンテナAPIを応用して作られたソフトウェア
コンテナのビルド(作成)とその実行を行うための環境を提供している。
コンテナAPI自体は昔からあったわけだが、従来は使うためのツールが不足していて大変だった。
Dockerを使うとDockerfileというテキストファイルを用意することでコンテナイメージを
簡単に作成でき、コンテナが利用するリソース(CPU、メモリ、メットワーク)を
コマンドライン等で指定しつつ簡単に起動や停止が行えるようになる。
「chrootの機能を継承した技術」を使いやすい形に統合したものかな。
知っているとは思うけど、chrootは単に
プロセスから見えるルートディレクトリを変更しただけ。
それを更に発展させてルートディレクトリだけではなく
プロセスやネットワークも分離させて、プロセスに対して
そのプロセスに独立した環境を作り出すのがコンテナ(LXC等)
ちなみに古いバージョンのDockerはLXCを利用していた。
今はlibcontainerを使ってカーネルのコンテナAPIを直接呼び出している
でDockerはそのカーネル提供しているコンテナAPIを応用して作られたソフトウェア
コンテナのビルド(作成)とその実行を行うための環境を提供している。
コンテナAPI自体は昔からあったわけだが、従来は使うためのツールが不足していて大変だった。
Dockerを使うとDockerfileというテキストファイルを用意することでコンテナイメージを
簡単に作成でき、コンテナが利用するリソース(CPU、メモリ、メットワーク)を
コマンドライン等で指定しつつ簡単に起動や停止が行えるようになる。
2015/07/11(土) 02:33:01.48ID:dtHUPhjn
chroot+jailの発展形という説明があったな
2015/07/11(土) 22:11:03.10ID:anWWthE2
2015/07/11(土) 22:22:42.65ID:/s68H1Fx
2015/07/12(日) 00:57:09.23ID:PCy1xmlB
>>223
> 昔流行りかけたXenみたいな感じでいいのかね
ぜんぜん違う
chrootを知っていて、なんでそう勘違いするのかよくわからんが、
同じカーネルで動く1プロセスのルートディレクトリと
プロセス空間その他を隔離しただけ。
違いの一例を上げるとXenもKVMも仮想マシンを作るから
仮想的なハードウェアの一つとして仮想ディスクも必要になる。
だけどDockerはchrootと同じようにルートディレクトリを変えるだけだから
カーネルから認識されている同じディスクを使用する。
Dockerのコンテナはカーネルから見れば、単なる1アプリにすぎない。
> コンテナイメージってファイル群じゃなくてでかい単一ファイル?
chrootと同じようにファイル群。
1つのイメージは複数のレイヤーから構成されレイヤーにはファイルシステムの差分が記録される
1つのレイヤー = 1つのディレクトリ、通常イメージの最初のレイヤーにはchrootと同じく
OSのシステムファイルのほぼ全てが、次のレイヤーには差分だけが記録される。
このレイヤーはコンテナイメージの修正時に再利用/共有されるため、時間とディスクの節約になる。
> 昔流行りかけたXenみたいな感じでいいのかね
ぜんぜん違う
chrootを知っていて、なんでそう勘違いするのかよくわからんが、
同じカーネルで動く1プロセスのルートディレクトリと
プロセス空間その他を隔離しただけ。
違いの一例を上げるとXenもKVMも仮想マシンを作るから
仮想的なハードウェアの一つとして仮想ディスクも必要になる。
だけどDockerはchrootと同じようにルートディレクトリを変えるだけだから
カーネルから認識されている同じディスクを使用する。
Dockerのコンテナはカーネルから見れば、単なる1アプリにすぎない。
> コンテナイメージってファイル群じゃなくてでかい単一ファイル?
chrootと同じようにファイル群。
1つのイメージは複数のレイヤーから構成されレイヤーにはファイルシステムの差分が記録される
1つのレイヤー = 1つのディレクトリ、通常イメージの最初のレイヤーにはchrootと同じく
OSのシステムファイルのほぼ全てが、次のレイヤーには差分だけが記録される。
このレイヤーはコンテナイメージの修正時に再利用/共有されるため、時間とディスクの節約になる。
2015/07/12(日) 00:59:18.70ID:PCy1xmlB
訂正
× レイヤーにはファイルシステムの差分が記録される
○ レイヤーにはファイル単位で差分が記録される
別にディスクイメージが記録されてるわけじゃない。
レイヤー=ディレクトリに普通にファイルがある
こういう仕組みを提供しているのが
Dockerなわけだね。
× レイヤーにはファイルシステムの差分が記録される
○ レイヤーにはファイル単位で差分が記録される
別にディスクイメージが記録されてるわけじゃない。
レイヤー=ディレクトリに普通にファイルがある
こういう仕組みを提供しているのが
Dockerなわけだね。
2015/07/12(日) 20:08:46.06ID:EFKucpQc
2015/07/12(日) 20:10:01.65ID:EFKucpQc
chrootが謎の技術で/dev,/procを別物にした上で
上にaufsみたいなのが被さってるイメージでいいの?
上にaufsみたいなのが被さってるイメージでいいの?
2015/08/06(木) 21:55:45.71ID:MXfRwabf
k8sを使うと同一ホスト上の複数のコンテナに同じポートを割り当てられるんでしょうか?
230login:Penguin
2015/09/05(土) 14:48:10.85ID:LcT94aSm Dockerで同じイメージを冗長化のために
A,B、2台のプライベートレジストリにpushしたとします。
Dockerfileでベースイメージを指定する時、
Dockerfileを書き換えずに、ベースイメージを取得する
プライベートレジストリのサーバーを変更する方法ありますか?
ただし2台のプライベートレジストリ(サーバー)はホスト名が異なり
DNSの変更は行わないものとします。
ぶっちゃけDockerfileのFROMに
プライベートレジストリのURLを含めることが気持ち悪いです。
A,B、2台のプライベートレジストリにpushしたとします。
Dockerfileでベースイメージを指定する時、
Dockerfileを書き換えずに、ベースイメージを取得する
プライベートレジストリのサーバーを変更する方法ありますか?
ただし2台のプライベートレジストリ(サーバー)はホスト名が異なり
DNSの変更は行わないものとします。
ぶっちゃけDockerfileのFROMに
プライベートレジストリのURLを含めることが気持ち悪いです。
2015/09/07(月) 21:00:17.40ID:l456kIj1
いったんローカルに持ってきてからtag付けたら
2015/09/27(日) 02:50:48.60ID:LCJ+voKL
>>227
ネットワークは、コンテナ接続用の仮想ブリッジがホストに作られてそこに接続される
ホストの外とコンテナとの通信は、ポートフォワードでできる
設定次第ではこれ以外の構成も可能だが、コンテナのメリットがなくなる場合もあり
ネットワークは、コンテナ接続用の仮想ブリッジがホストに作られてそこに接続される
ホストの外とコンテナとの通信は、ポートフォワードでできる
設定次第ではこれ以外の構成も可能だが、コンテナのメリットがなくなる場合もあり
2015/10/13(火) 11:50:02.13ID:BCg4uyN8
DockerfileにVolumeを記載したときの動作がわからないです。
これを記載すると、docker run したときに-vのオプションをつけたときと同じ動作をするのでしょうか?
これを記載すると、docker run したときに-vのオプションをつけたときと同じ動作をするのでしょうか?
2015/10/13(火) 13:02:47.52ID:2bxl+1jz
>>233
いいえ。DockerfileのVOLUMEは単にディレクトリを作るだけと考えてください。
例えばmountコマンドで/mnt/hoge/にマウントしようと思ってもできません。
先にマウントポイントとなる/mnt/hoge/ディレクトリを作成しておく必要があります。
VOLUMEは、-vオプションでマウントするためのディレクトリ作成するだけです。
いいえ。DockerfileのVOLUMEは単にディレクトリを作るだけと考えてください。
例えばmountコマンドで/mnt/hoge/にマウントしようと思ってもできません。
先にマウントポイントとなる/mnt/hoge/ディレクトリを作成しておく必要があります。
VOLUMEは、-vオプションでマウントするためのディレクトリ作成するだけです。
2015/10/15(木) 22:43:15.99ID:oWwvB8WD
2015/11/01(日) 23:01:14.46ID:DTpkP9+s
なんかWS2016TP3のイメージダウンロードで失敗して
Docker起動すらできないのだが・・・
Docker起動すらできないのだが・・・
237login:Penguin
2015/11/16(月) 00:01:59.72ID:TCRyhBgQ docker インスコしたら、なぜかgitがアンインスコされてマジギレなんだが
docker作者いたらぶん殴ってやりてえわ
何考えてるんだ基地害、マジで死ね
docker作者いたらぶん殴ってやりてえわ
何考えてるんだ基地害、マジで死ね
238login:Penguin
2015/11/16(月) 00:07:18.42ID:TCRyhBgQ ちなWinだが
嫌がらせなのか
gitconfigも消えやがった
マジで損害賠償モンだぞゴミ野郎が
何なんだマジで、インストーラーに選択肢にも出てなかったgitの文字が出てきて嫌な予感がしたが
まさかアンインスコしてわけわからんgitもどきのゴミぶちこまれるとは
スパイウェアかよ、ありえない
嫌がらせなのか
gitconfigも消えやがった
マジで損害賠償モンだぞゴミ野郎が
何なんだマジで、インストーラーに選択肢にも出てなかったgitの文字が出てきて嫌な予感がしたが
まさかアンインスコしてわけわからんgitもどきのゴミぶちこまれるとは
スパイウェアかよ、ありえない
239login:Penguin
2015/11/16(月) 00:46:43.61ID:TCRyhBgQ 1時間無駄にした
俺様の睡眠時間削るとは何様だよゴミの分際で
マジで死ね、勝手に人様の環境のgit削除して入れ直すとかどう考えても頭イカレてんだろ基地害
頭にウンコでもつまってるのかこのゴミみたいなインストら−作ったゴミ屑は
ISISに爆殺されて死ねや
俺様の睡眠時間削るとは何様だよゴミの分際で
マジで死ね、勝手に人様の環境のgit削除して入れ直すとかどう考えても頭イカレてんだろ基地害
頭にウンコでもつまってるのかこのゴミみたいなインストら−作ったゴミ屑は
ISISに爆殺されて死ねや
2015/11/16(月) 03:39:30.80ID:PizeY0Hj
※実際には消えたのではなくて、追加で新しくmsys環境がインストールされ
パスが変わっただけである。
パスが変わっただけである。
2015/11/16(月) 17:04:57.06ID:Pim+KGtu
ダメなんだろ。
向いてないね。
向いてないね。
2015/11/16(月) 23:41:14.31ID:wDTTYcC+
Windowsみたいなゴミ使うからそうなる
2015/11/17(火) 00:02:19.34ID:kVN6LZUq
どっかに行ってしまったんだろうね
2015/11/17(火) 03:36:53.23ID:v9AakB0o
それをOSやDockerのせいにするのは無能
2015/11/24(火) 22:42:14.80ID:Lg6NMP0d
コンテナ起動して一個だけコマンド実行して終わったら
コンテナさよならってのはできませんか?
コンテナさよならってのはできませんか?
246login:Penguin
2015/11/25(水) 00:31:43.24ID:LQnsNDdn できる
247login:Penguin
2015/11/25(水) 02:08:58.52ID:mat+Pl5x 手動でgccのAndroid向けクロスコンパイル環境を作ろうとしてるんだけど、もううまくいかないやー
Dockerにその用途に向いたコンテナないかな?
Dockerにその用途に向いたコンテナないかな?
2015/11/25(水) 02:12:33.97ID:zaXwxH/w
Dockerは
1. 可能か不可能か・・・可能だ
2. 以前より簡単にできる ・・・ YES
3. 簡単にできる ・・・ NO
4. ハマる・・・YES
だからなw
1. 可能か不可能か・・・可能だ
2. 以前より簡単にできる ・・・ YES
3. 簡単にできる ・・・ NO
4. ハマる・・・YES
だからなw
2015/11/25(水) 02:37:47.64ID:LhiOzJQ6
え、Androidビルド環境なんかで悩むところあるか?
250login:Penguin
2015/11/25(水) 04:00:08.86ID:mat+Pl5x >>249
Makefileが手書きのLinux向けフリーウエアをビルドしようとしていて、Makefileをいじっても環境変数をいじってもなかなか通らなくてね
ちゃんと自分でMakefileを修正できていないのが原因なんだろうけど、他も自信がないから環境が整ってるところでやってみたいかな
Makefileが手書きのLinux向けフリーウエアをビルドしようとしていて、Makefileをいじっても環境変数をいじってもなかなか通らなくてね
ちゃんと自分でMakefileを修正できていないのが原因なんだろうけど、他も自信がないから環境が整ってるところでやってみたいかな
2015/11/25(水) 06:55:10.59ID:M90w7+cT
2015/11/25(水) 07:57:51.37ID:wgCCBiJ/
「docker 起動」
「docker 停止 削除」で検索!
「docker 停止 削除」で検索!
2015/11/25(水) 07:57:59.67ID:IVCbtPIf
シェルスクリプトにdocker runとdocker rm書けばいいだけだろ
2015/11/25(水) 12:05:44.17ID:r7zQvSyI
単一のコマンドをコンテナで実行するだけならLXCでいいじゃん
2015/11/25(水) 14:19:33.50ID:zaXwxH/w
>>254
> 単一のコマンドをコンテナで実行するだけならLXCでいいじゃん
めんどくせーだろw
dockerはパッケージでインストールするとして、インストールだけが終わった状態から、
たったこれだけで単一のコマンドをコンテナで実行できるんだぞw
docker run debian /bin/bash --version
もちろんdebianの所を変えれば、その他のコンテナで実行できる。
LXCで同じことをやってみてくださいよw
> 単一のコマンドをコンテナで実行するだけならLXCでいいじゃん
めんどくせーだろw
dockerはパッケージでインストールするとして、インストールだけが終わった状態から、
たったこれだけで単一のコマンドをコンテナで実行できるんだぞw
docker run debian /bin/bash --version
もちろんdebianの所を変えれば、その他のコンテナで実行できる。
LXCで同じことをやってみてくださいよw
2015/11/28(土) 16:06:27.14ID:+I8cfRbK
docker使おうとしてdocker run コンテナ
ってやってもsyntax errorとか出て何一つ動かない
試したのはfedora,ubuntu,busybox,gccあたり
環境はFedora23 i686
XeleronM410 メモリ512MB
ってやってもsyntax errorとか出て何一つ動かない
試したのはfedora,ubuntu,busybox,gccあたり
環境はFedora23 i686
XeleronM410 メモリ512MB
2015/11/28(土) 16:06:50.89ID:+I8cfRbK
ミスった・・・Celeronね
2015/11/28(土) 16:16:33.06ID:K8JL7Kv3
command not foundではなく、syntax errorとでるのなら、
dockerはインストールされているのだろう?
docker --versionってやってみて。
dockerはインストールされているのだろう?
docker --versionってやってみて。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】星野真里(44) 24時間テレビのマラソンランナーに決定! [Ailuropoda melanoleuca★]
- 【芸能】松山千春、本田圭佑の解説に「なんで『さん』付けで呼ぶんだ?」「後輩なんだからさ」「つけない方がわかりやすいんじゃ…」 [冬月記者★]
- 【サッカーW杯】4-0 日本代表・森保ジャパン、チュニジアに歴史的4発大勝 アジア勢の1次L連敗を「6」で止めた★6 [ゴアマガラ★]
- 家族と来た水族館で…10代女性のスカート内を盗撮か 45歳の男を現行犯逮捕 静岡・下田市 [煮卵★]
- あぼーん
- 40歳男性・生活保護受給者 “グリ下のくすり屋さん”1つの医療機関から2万錠の薬を大量入手、「薬をめっちゃ売っていた」 [お断り★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★137【メキシコ/カナダ/アメリカ】
- はません
- 西武線 5
- こいせん祝勝会 全レス転載禁止
- わしせん3
- ハム専 気合い入れなくて良いよ、もう
- あと30分したら起きるわ
- 4時44分だから窓から444回ちんこ出した
- 🏡Monday✋😅✋揉んでー🏡
- アラサーだけど英検1級取りたい
- オー日本ー日本、日本、バモ日本ー、ハイ、ハイ、ハイハイハイ×∞←これ
- Z世代「人生は親ガチャ!遺伝子ガチャで全部の運命は決まっている」👈これwwwwww [589647274]