LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。
http://www.docker.io/
Docker
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
2013/07/27(土) NY:AN:NY.ANID:5oaw2wHS2015/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ってやってみて。
2015/11/28(土) 16:21:57.23ID:+I8cfRbK
Docker version 1.8.2-fc23, build 1a57647-dirty
ダウンロードとかは普通にできるんだけどいざ動かそうとするとうんともすんとも言わない
エラーはこんな感じ
exec format error
Error response from daemon: Cannot start container 602972c2cf599bd4702de17c25e64d7608fbc7fbc74c128ca789baad53e0852b: [8] System error: exec format error
ダウンロードとかは普通にできるんだけどいざ動かそうとするとうんともすんとも言わない
エラーはこんな感じ
exec format error
Error response from daemon: Cannot start container 602972c2cf599bd4702de17c25e64d7608fbc7fbc74c128ca789baad53e0852b: [8] System error: exec format error
2015/11/28(土) 19:24:46.52ID:qcsZcvMp
32bitだからでは
2015/11/28(土) 22:24:27.09ID:+I8cfRbK
やっぱり?
32bitダメなのかー
32bitダメなのかー
2015/12/01(火) 22:17:34.89ID:vj0rtqe5
Docker hubでよくわからんのだけど、
公式でないものは、危険な可能性があるってことでいいの?
AUTOMATED BUILDに関しては、リポジトリが表示されているから
おそらく大丈夫なのだろうと思うけど(でも工夫すれば抜け道ありそう・・・)
そうでないものは、どのDockerfileから生成したか?の情報ないよね?
公式でないものは、危険な可能性があるってことでいいの?
AUTOMATED BUILDに関しては、リポジトリが表示されているから
おそらく大丈夫なのだろうと思うけど(でも工夫すれば抜け道ありそう・・・)
そうでないものは、どのDockerfileから生成したか?の情報ないよね?
263login:Penguin
2015/12/01(火) 22:19:35.90ID:vj0rtqe5 追記、AUTOMATED BUILDの抜け道思いついた。
ソースリポジトリは表示されているけど、
タグを複数つけた時、Dockerfileは何故か一つしか表示されてないみたい。
これを利用すると別のディレクトリで作って、
あたかもこれで作ったみたいな見せ方ができそう。
ソースリポジトリは表示されているけど、
タグを複数つけた時、Dockerfileは何故か一つしか表示されてないみたい。
これを利用すると別のディレクトリで作って、
あたかもこれで作ったみたいな見せ方ができそう。
2015/12/02(水) 01:06:23.58ID:yHXiRRuF
何する気だよw
2015/12/02(水) 01:12:44.60ID:fBZbBnC4
266login:Penguin
2015/12/05(土) 21:29:10.50ID:DbjOOkdc Dockerの使い方を勉強したいんだけど
どこのサイトを見ても、docker.ioをインストールした後から
の手順が急にぼんやりした説明になっている
xeyesをdocker上で動かすとか
そういう分かりやすいサンプルはないの?
どこのサイトを見ても、docker.ioをインストールした後から
の手順が急にぼんやりした説明になっている
xeyesをdocker上で動かすとか
そういう分かりやすいサンプルはないの?
2015/12/05(土) 21:53:43.55ID:ZQvx7q75
何のためにつかうんだ?
2015/12/05(土) 22:06:49.30ID:3slPYBxt
docker上の話は普通にやればいいだけだろ
2015/12/05(土) 22:18:39.92ID:OQhknF+K
docker pull ubuntu
docker run -i -t ubuntu /bin/bash
切り替わったらaptでもつかって好きにいじればいい
量産したかったらそのコンテナを登録して増やす
docker run -i -t ubuntu /bin/bash
切り替わったらaptでもつかって好きにいじればいい
量産したかったらそのコンテナを登録して増やす
2015/12/05(土) 22:24:50.93ID:Qru2npJS
なんかまたDockerを仮想マシンと考えてる奴ができてそうだな。
2015/12/05(土) 23:59:37.74ID:mw+GgCtN
コンテナをLinux仮想マシン扱いすること自体はいいんでない。意外とそういうところから面白い使い道が発見されるのかもよ
2015/12/06(日) 00:21:48.56ID:R8UOG4wt
コンテナを仮想マシンとして使うのは、OpenVZが昔からあるから
それを使えばいいんだよ。
DockerはOpenVZではないものとして作られているんだから、
OpenVZ的な使い方をするには合わない。
それを使えばいいんだよ。
DockerはOpenVZではないものとして作られているんだから、
OpenVZ的な使い方をするには合わない。
2015/12/06(日) 06:54:30.81ID:T+hWh7FJ
2015/12/06(日) 09:43:36.04ID:JSGNm6l4
ググるなんて能力あるわけ無いだろやめてやれよ
2015/12/06(日) 12:22:08.41ID:eaBf0NRP
キーワードまで教えてもらってぐぐれないなんてことないだろ
2015/12/06(日) 12:27:38.04ID:JSGNm6l4
ここにキーワードがあるじゃろ
・・・・・・
・・・・・・
2015/12/06(日) 12:29:25.59ID:vcXMHOAt
xeyesをdocker上で動かす方法のググり方を教えて下さい
↓
docker xeyes でぐぐる
↓
ありがとうございました。
↓
docker xeyes でぐぐる
↓
ありがとうございました。
2015/12/06(日) 16:16:44.13ID:Dtmq+qVc
もしかして: docker lxc
2015/12/06(日) 16:24:24.91ID:JSGNm6l4
32bit対応してくれねーかなー
2015/12/06(日) 17:36:39.91ID:vcXMHOAt
無料のLinuxで32bit対応が欲しいという理由は
ハードウェアが対応してないからだと思うが、
新しいパソコンを買ったほうが良いと思うよ。
OSなしでいいんだから3千円台+送料ぐらいから買える
http://kakaku.com/used/pc/ca=0010/?s2=10
ハードウェアが対応してないからだと思うが、
新しいパソコンを買ったほうが良いと思うよ。
OSなしでいいんだから3千円台+送料ぐらいから買える
http://kakaku.com/used/pc/ca=0010/?s2=10
2015/12/06(日) 17:43:01.76ID:17qexjBL
わざわざ32bit限定でdockerが必要なケースがあるのか?
2015/12/06(日) 17:45:06.31ID:xA5mMjua
仕事でそれしか支給されてないとかw
流石にそんな会社はないか
流石にそんな会社はないか
2015/12/06(日) 17:49:20.29ID:JSGNm6l4
2015/12/06(日) 18:07:08.39ID:vcXMHOAt
2015/12/06(日) 18:11:36.33ID:JSGNm6l4
2015/12/06(日) 18:12:13.76ID:vcXMHOAt
あとレンタルサーバーでVPSを借りるって手もあるな。
だが大学入試があるなら、遊んでないで勉強しとけ。
だが大学入試があるなら、遊んでないで勉強しとけ。
2015/12/06(日) 18:13:56.18ID:JSGNm6l4
2015/12/06(日) 18:13:57.06ID:vcXMHOAt
2015/12/07(月) 00:32:53.51ID:X7UYFgeA
ラズパイでdockerとかアリでしょ?
環境ぶった切ったり
IP毎にサービス割振りしてるよ
OH少なくて助かってる
環境ぶった切ったり
IP毎にサービス割振りしてるよ
OH少なくて助かってる
2015/12/07(月) 01:02:16.76ID:C2nK3tfF
へー、ラズパイでDocker動いたのか。
ARMだからパッケージ少ないし対応してないと思ってたよ。
基本技術はコンテナだからOSレベルで対応してるのかな。
http://dev.classmethod.jp/hardware/docker-on-raspberry-pi2/
> 結論から言うと動きます。が、実用的ではないです。それは、
> DockerコンテナはDockerホストと同じCPUアーキテクチャでないと動作しないからです
ARMだからパッケージ少ないし対応してないと思ってたよ。
基本技術はコンテナだからOSレベルで対応してるのかな。
http://dev.classmethod.jp/hardware/docker-on-raspberry-pi2/
> 結論から言うと動きます。が、実用的ではないです。それは、
> DockerコンテナはDockerホストと同じCPUアーキテクチャでないと動作しないからです
291login:Penguin
2015/12/10(木) 16:03:59.52ID:jHmIwzhB docker はchrootみたいなものなの?
docker動いている最中に ホストからファイル見れたりする?
docker動いている最中に ホストからファイル見れたりする?
2015/12/10(木) 16:06:29.45ID:710xIGyw
ググれば全部出てるぞ
日本語訳されてるであろうArchwikiでも読んでこい
日本語訳されてるであろうArchwikiでも読んでこい
293login:Penguin
2016/01/12(火) 12:32:49.44ID:3vUodtEW OS イメージをベースにして Docker コンテナを作るメリットって、
ホストOS に縛られずにコンテナを配置できるって理解であってる?
ただ、サーバーのメモリやストレージの節約を考えると
ホスト OS は決め打ちにして、コンテナには OS イメージを含めない方がいいと思うけどどうなの?
実際の運用でもサーバーごとに OS やバージョンが異なるなんてことはないはずだしね。
ホストOS に縛られずにコンテナを配置できるって理解であってる?
ただ、サーバーのメモリやストレージの節約を考えると
ホスト OS は決め打ちにして、コンテナには OS イメージを含めない方がいいと思うけどどうなの?
実際の運用でもサーバーごとに OS やバージョンが異なるなんてことはないはずだしね。
294293
2016/01/12(火) 13:57:44.54ID:3vUodtEW ごめんなさい。すぞい勘違いをしていました。
DockerHub に登録されてる Dockerfile を見ていて気がついたのですが、
Docker イメージは、基本的に何らかの OS イメージをベースにして作るんですね。
FROM scratch となってるものもいくつかありましたが、
FROM を遡っていくとほとんどが何らかの OS イメージをベースにしていました。
DockerHub に登録されてる Dockerfile を見ていて気がついたのですが、
Docker イメージは、基本的に何らかの OS イメージをベースにして作るんですね。
FROM scratch となってるものもいくつかありましたが、
FROM を遡っていくとほとんどが何らかの OS イメージをベースにしていました。
2016/01/12(火) 14:01:15.29ID:7BqknXNc
OSのイメージはDebianで100MBを切る。
Alpine Linuxならわずか5MBだ
コンテナは仮想マシンじゃない。だからホストOSのカーネルを使用する。
コンテナで起動したアプリ以外の、各種デーモンも起動しない。
だからメモリ使用量もアプリを直接動かすのと大差ない。
つまりサーバーのメモリやストレージの節約は考える必要が無い。
実際の運用ではサーバーごとに OS やバージョンが異なる。
アップデートをすることで日々更新され続けるからだ。
LinuxのLTS(長期サポート)なんて5年しかない
Alpine Linuxならわずか5MBだ
コンテナは仮想マシンじゃない。だからホストOSのカーネルを使用する。
コンテナで起動したアプリ以外の、各種デーモンも起動しない。
だからメモリ使用量もアプリを直接動かすのと大差ない。
つまりサーバーのメモリやストレージの節約は考える必要が無い。
実際の運用ではサーバーごとに OS やバージョンが異なる。
アップデートをすることで日々更新され続けるからだ。
LinuxのLTS(長期サポート)なんて5年しかない
2016/01/12(火) 14:03:45.85ID:8K/vPWgV
>>293
ホストに縛られないというかコンテナをコピーするだけでそのまま実行環境を別のホストに移せる
あと1つのホストに複数の実行環境を構築できる
これらは従来のVMでも出来ることだけどまるまる1台分を仮想化するのと違ってリソースをより効率よく使うことができる
ホストに縛られないというかコンテナをコピーするだけでそのまま実行環境を別のホストに移せる
あと1つのホストに複数の実行環境を構築できる
これらは従来のVMでも出来ることだけどまるまる1台分を仮想化するのと違ってリソースをより効率よく使うことができる
2016/01/12(火) 14:28:49.52ID:7BqknXNc
Dockerを仮想マシンの一種として考えてしまうとインフラよりの発想となってしまう。
これではDockerがもてはやされている理由を理解できない。
Dockerはアプリ開発者の立場で考えるとわかる。
まず(ホスト)OSのアップデートで勝手にライブラリのバージョンが
変わってしまうと困る。例えばRubyのライブラリを勝手に
アップデートされたらアプリが動かなくなる可能性がある。
また、逆にディストリが提供しているパッケージよりも新しいバージョンの
ライブラリを使いたいこともある。1つのホストに複数のアプリを実行する時
アプリごとに使うバージョンを変えたいこともある。
だからアプリ開発者はディストリのパッケージでインストールするライブラリは使わない。
rbenvなどを使ってアプリの一部としてアプリごとにインストールする。
(注 Dockerを使えばrbenvを使う必要はない)
これはRubyライブラリだけの話に限らない。ネイティブライブラリやCLIコマンドなど
アプリから使用するあらゆるものはアプリ独自に入れたい。
アプリはアプリだけで動くのではない。動的リンクライブラリやCLIコマンドまで含めて
1つの動作するアプリとして完全体となる。つまりアプリとアプリを正しく動かすのに
必要なものを含めた完全体がコンテナ。コンテナさえあればアプリは完全に動くので、
ホストOSはDockerさえ動けば良くなる。
これがDockerを使う目的なのだから、その目的を達成できない方法はそもそも代替案にはならない。
ホストOSのリソースの効率化とかそういう話じゃないんだよ。
これではDockerがもてはやされている理由を理解できない。
Dockerはアプリ開発者の立場で考えるとわかる。
まず(ホスト)OSのアップデートで勝手にライブラリのバージョンが
変わってしまうと困る。例えばRubyのライブラリを勝手に
アップデートされたらアプリが動かなくなる可能性がある。
また、逆にディストリが提供しているパッケージよりも新しいバージョンの
ライブラリを使いたいこともある。1つのホストに複数のアプリを実行する時
アプリごとに使うバージョンを変えたいこともある。
だからアプリ開発者はディストリのパッケージでインストールするライブラリは使わない。
rbenvなどを使ってアプリの一部としてアプリごとにインストールする。
(注 Dockerを使えばrbenvを使う必要はない)
これはRubyライブラリだけの話に限らない。ネイティブライブラリやCLIコマンドなど
アプリから使用するあらゆるものはアプリ独自に入れたい。
アプリはアプリだけで動くのではない。動的リンクライブラリやCLIコマンドまで含めて
1つの動作するアプリとして完全体となる。つまりアプリとアプリを正しく動かすのに
必要なものを含めた完全体がコンテナ。コンテナさえあればアプリは完全に動くので、
ホストOSはDockerさえ動けば良くなる。
これがDockerを使う目的なのだから、その目的を達成できない方法はそもそも代替案にはならない。
ホストOSのリソースの効率化とかそういう話じゃないんだよ。
298293
2016/01/12(火) 17:02:16.51ID:3vUodtEW >>295
ただ、DockerHub で配布されてる centos:6.7 に
yum install git すると image size が 190.6 MB → 323.3 MB
yum groupinstall "Development Tools" などとすると image size が 190.6 MB → 693.9 MB
となり、やはりストレージは食うのかなと。
根本的に使い方が間違っているのかもしれませんが、
通常は git とか コンパイラはコンテナに含めないのでしょうか?
ただ、DockerHub で配布されてる centos:6.7 に
yum install git すると image size が 190.6 MB → 323.3 MB
yum groupinstall "Development Tools" などとすると image size が 190.6 MB → 693.9 MB
となり、やはりストレージは食うのかなと。
根本的に使い方が間違っているのかもしれませんが、
通常は git とか コンパイラはコンテナに含めないのでしょうか?
299293
2016/01/12(火) 17:20:35.11ID:3vUodtEW >>297
> アプリはアプリだけで動くのではない。動的リンクライブラリやCLIコマンドまで含めて
> 1つの動作するアプリとして完全体となる。つまりアプリとアプリを正しく動かすのに
> 必要なものを含めた完全体がコンテナ。
なるほど参考になります。
コンテナ =
Ruby で言うところの( 例にあげて頂いた rbenv というよりは)bundler とか、
Node.js の npm (のローカルインストール) の延長で、
OS のストレージにあるものすべて(動的リンクライブラリやCLIコマンドなども含む)を
1つのアプリ環境としてパッケージできるもの
という理解で落ち着きました。
> アプリはアプリだけで動くのではない。動的リンクライブラリやCLIコマンドまで含めて
> 1つの動作するアプリとして完全体となる。つまりアプリとアプリを正しく動かすのに
> 必要なものを含めた完全体がコンテナ。
なるほど参考になります。
コンテナ =
Ruby で言うところの( 例にあげて頂いた rbenv というよりは)bundler とか、
Node.js の npm (のローカルインストール) の延長で、
OS のストレージにあるものすべて(動的リンクライブラリやCLIコマンドなども含む)を
1つのアプリ環境としてパッケージできるもの
という理解で落ち着きました。
2016/01/12(火) 17:43:43.68ID:7BqknXNc
>>298
> 通常は git とか コンパイラはコンテナに含めないのでしょうか?
含めない。
もちろんコンテナイメージ作成中は適当にやっていいし、
利便性を考えて入れておくのもありだけど、
例えばgitを使ってソースコードを配置したいなら、
RUN apt-get install git & git clone 〜 & apt-get remove git (例なので適当)
のようにしてgitを入れて必要な処理が終わったら削除する。
(注 1つのRUNでインストールとアンインストールを実行すること。
複数に分けると、それぞれで中間イメージが保存されるのでサイズが減らない)
> 通常は git とか コンパイラはコンテナに含めないのでしょうか?
含めない。
もちろんコンテナイメージ作成中は適当にやっていいし、
利便性を考えて入れておくのもありだけど、
例えばgitを使ってソースコードを配置したいなら、
RUN apt-get install git & git clone 〜 & apt-get remove git (例なので適当)
のようにしてgitを入れて必要な処理が終わったら削除する。
(注 1つのRUNでインストールとアンインストールを実行すること。
複数に分けると、それぞれで中間イメージが保存されるのでサイズが減らない)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 米国産ジャガイモ解禁前倒し浮上 トランプ政権の圧力が背景 高市早苗首相に輸入解禁働きかけ [バイト歴50年★]
- 「経済力ないってみじめ」 セックスレスから一転、夫の誘い拒めぬ妻 [蚤の市★]
- 「女子枠で今年は華やかだね」と入学早々、大学幹部に言われてドン引き🏫東京科学大学の女子学生が心中を告白 [パンナ・コッタ★]
- 【アジア大会】サッカー表彰式でトラブル… 優勝の韓国の国旗掲揚されず 韓国の旗だけ下がったまま国歌 応援団ブーイング、選手は困惑 [冬月記者★]
- 【家康】2位『津川雅彦』3位『西田敏行』300名が選ぶ「徳川家康役がハマっていた歴代俳優」1位に「新しい家康」「カリスマのオーラ」 [征夷大将軍★]
- 【高市総裁選出1】「サナ活」で熱狂、落胆も 、支持率が命綱 [蚤の市★]
- 【NHK速報】那覇の女性殺害事件、アメリカ海兵隊員を逮捕 強盗殺人の疑い [689155963]
- 【高市エクストリーム悲報】愛知アジア大会サッカー決勝、優勝した韓国の国旗掲揚がされず 国旗掲揚担当は自衛隊員 [165981677]
- 簗和夫 農水大臣「予算削減発言で国民の誤解させてしまったのなら申し訳ない。真摯に受け止め大臣を続行させてもらう」 [404143271]
- サザンオールスターズ、桑田佳祐以外のメンバーもめちゃ儲けていた😲バンドガチャ大当たりか [118990258]
- 【高市文学】反AIさん、新技術を憎む人間の末路として童話化済みだったwwwwww [454087802]
- 柏レイソル🏡