開発に仮想環境やコンテナを使う機会が多くなってきたので、みんなで情報交換しませう
よろしこ
探検
仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/02/16(木) 18:01:04.48ID:rGWDv0Eb364デフォルトの名無しさん
2017/10/22(日) 20:15:57.81ID:sDdgCD4Q >>363
> 君の言う「シェルで十分」はdockerに依存してるんだろ?
依存はしてない。dockerを使わないシステムは有る
例えばAmazon RDSやGoogle Cloud SQLというデータベースサーバーとか
こういうのはすでにシステムが用意されてるのでそれを使うだけ
なのですでにAnsibleでデータベースサーバーを作るなんてのはやっていない
シェルどころか何も使わない
> 君の知らない世界が無限に広がってる
COBOLみたいなお仕事でしょ。
知ってるw
> でもそれは未だ来ていない
うちの会社ではすでに自社サーバーがほぼゼロ状態で
サーバーはクラウド化されてるのですでに来ている。
君の知らない世界に俺はいるようだ(笑)
> 君の言う「シェルで十分」はdockerに依存してるんだろ?
依存はしてない。dockerを使わないシステムは有る
例えばAmazon RDSやGoogle Cloud SQLというデータベースサーバーとか
こういうのはすでにシステムが用意されてるのでそれを使うだけ
なのですでにAnsibleでデータベースサーバーを作るなんてのはやっていない
シェルどころか何も使わない
> 君の知らない世界が無限に広がってる
COBOLみたいなお仕事でしょ。
知ってるw
> でもそれは未だ来ていない
うちの会社ではすでに自社サーバーがほぼゼロ状態で
サーバーはクラウド化されてるのですでに来ている。
君の知らない世界に俺はいるようだ(笑)
365デフォルトの名無しさん
2017/10/22(日) 20:19:24.14ID:sDdgCD4Q これからじわじわ増えて来て当たり前のように使われる時代くるんだろう
そのときに備えてシェルスクリプトは使えるようになるべきだし、
Ansibleは次第に廃止されていく。
それは未来に生きてる俺が証明している
そのときに備えてシェルスクリプトは使えるようになるべきだし、
Ansibleは次第に廃止されていく。
それは未来に生きてる俺が証明している
366デフォルトの名無しさん
2017/10/22(日) 20:38:19.65ID:1Ll1E+vW てかansibleの到来でシェルスクリプトが駆逐され、クラウドのAPI充実によってansibleが駆逐されていく感じだろ
俺からすればどっちも糞の山だわ
俺からすればどっちも糞の山だわ
367デフォルトの名無しさん
2017/10/22(日) 20:43:45.97ID:sDdgCD4Q それはないんだわ。なぜならansibleはPythonがリモートに
インストールされていないといけないから。
通常コンテナには必要最小限のものしか入れないので
Python用コンテナでない限りPythonは入っていない。
必然的にシェルスクリプトしか使えない。
またdockerイメージの特徴はローカルでも動かせるという所だから
クラウドのAPIなんてのは意味がない。
インストールされていないといけないから。
通常コンテナには必要最小限のものしか入れないので
Python用コンテナでない限りPythonは入っていない。
必然的にシェルスクリプトしか使えない。
またdockerイメージの特徴はローカルでも動かせるという所だから
クラウドのAPIなんてのは意味がない。
368デフォルトの名無しさん
2017/10/22(日) 20:51:08.10ID:GMFIfZ60 >>367
うちはサーバーは全部ubuntuだからそこらへんはクリアしてんのかな?
てかpython入ってないサーバーなんて今時あんの?
てかDockerだのシェルだのansibleだのインフラ屋も大変だね
うちは、ビジネスサイドと開発選択して、ユニットテスト書いてコード書いて、pushすればステージ環境に勝手にデプロイされて、
POがステージ環境さわってマージされたら本番に勝手にデプロイされてって感じ
こっちからしたら、それができれば何使ってくれても構わんわ
インフラ屋って地味なイメージあるけど、やっぱ宗教論争があるんだな笑
うちはサーバーは全部ubuntuだからそこらへんはクリアしてんのかな?
てかpython入ってないサーバーなんて今時あんの?
てかDockerだのシェルだのansibleだのインフラ屋も大変だね
うちは、ビジネスサイドと開発選択して、ユニットテスト書いてコード書いて、pushすればステージ環境に勝手にデプロイされて、
POがステージ環境さわってマージされたら本番に勝手にデプロイされてって感じ
こっちからしたら、それができれば何使ってくれても構わんわ
インフラ屋って地味なイメージあるけど、やっぱ宗教論争があるんだな笑
369デフォルトの名無しさん
2017/10/22(日) 20:54:43.66ID:sDdgCD4Q あとAnsibleを死滅させる原因の1つにKubernetesがある。
Kubernetesが事実上の標準の座を手に入れるまでは
Ansibleを使ってオーケストレーションを行おうという動きがあった。
Kubernetesを使うことで簡単にDockerコンテナを実行できるわけだけど、
その方法としてコマンドラインのkubectlとREST APIがある。
Ansibleはまたコマンドランチャーとしての立場として
せっせとラッパーモジュールの開発を行っている
Kubernetesが事実上の標準の座を手に入れるまでは
Ansibleを使ってオーケストレーションを行おうという動きがあった。
Kubernetesを使うことで簡単にDockerコンテナを実行できるわけだけど、
その方法としてコマンドラインのkubectlとREST APIがある。
Ansibleはまたコマンドランチャーとしての立場として
せっせとラッパーモジュールの開発を行っている
370デフォルトの名無しさん
2017/10/22(日) 20:57:36.95ID:sDdgCD4Q371デフォルトの名無しさん
2017/10/22(日) 21:00:16.24ID:sDdgCD4Q >>368
> てかDockerだのシェルだのansibleだのインフラ屋も大変だね
勘違いしている人も多いが、Dockerはインフラ屋の道具じゃない。
アプリ開発側が、アプリのイメージ(=Dockerイメージ)を作って
インフラ屋に「これ起動して」って渡すもの
インフラ屋にいちいち動作するサーバー構成とか
必要な言語、バージョン、ミドルウェア等伝えるの面倒でしょ?
> てかDockerだのシェルだのansibleだのインフラ屋も大変だね
勘違いしている人も多いが、Dockerはインフラ屋の道具じゃない。
アプリ開発側が、アプリのイメージ(=Dockerイメージ)を作って
インフラ屋に「これ起動して」って渡すもの
インフラ屋にいちいち動作するサーバー構成とか
必要な言語、バージョン、ミドルウェア等伝えるの面倒でしょ?
372デフォルトの名無しさん
2017/10/23(月) 00:50:40.93ID:JrZmYN5x sDdgCD4Q
シェルスクリプトは普通に面倒だよ
まず「コマンドベース」なのが可読性が汚くなる。
クォーテーション、オプション、セミコロン、各種コマンド展開
パイプ、リダイレクト記号
さらに「オプション」っていうのはテストコマンド中のオプション
とか普通のコマンドのオプションとか1文字だけで意味を理解するには
「シェルの仕様を暗記」していることが前提になる。
もちろん「シェルを散々やっている人」からすればそんなの身について
当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
比べれば「意味の通りやすさ」が段違い。
自分では当たり前のように書いてるシェルのコードが別の人から見たら
「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
考えたことある?
DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
のためにあるわけじゃないんだよ。
難解なコードは技術者が自分の立場を守るための参入障壁でしかない。
古参技術者のATフィールドみたいなもんだよ、そんなものはOSSによって
容易に破られる時代ってこと。
シェルスクリプトは普通に面倒だよ
まず「コマンドベース」なのが可読性が汚くなる。
クォーテーション、オプション、セミコロン、各種コマンド展開
パイプ、リダイレクト記号
さらに「オプション」っていうのはテストコマンド中のオプション
とか普通のコマンドのオプションとか1文字だけで意味を理解するには
「シェルの仕様を暗記」していることが前提になる。
もちろん「シェルを散々やっている人」からすればそんなの身について
当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
比べれば「意味の通りやすさ」が段違い。
自分では当たり前のように書いてるシェルのコードが別の人から見たら
「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
考えたことある?
DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
のためにあるわけじゃないんだよ。
難解なコードは技術者が自分の立場を守るための参入障壁でしかない。
古参技術者のATフィールドみたいなもんだよ、そんなものはOSSによって
容易に破られる時代ってこと。
373デフォルトの名無しさん
2017/10/23(月) 01:04:48.03ID:JrZmYN5x あとあれだ、Docker要らない、シェルで十分って言ってる
やつは「コンテナ化」について全く言及してないだろ。
シェルで制御できるのはせいぜい「プロセス」「ジョブ」単位。
Dockerで制御できる「コンテナ」は「沢山のプロセス」をカプセル化
した「マシン」と「プロセス」の粒度の中間にある「サーバ(=コンテナ)」
という粒度が必要になってきたからDockerができたんだよ。
あとGitリポジトリと同じで「過去の状態に復帰できる」
コンテナの設定を「1ファイルとして外部に外出しできる」のも
シェルの守備範囲外。
シェルはどうやっても依存関係が生じてなかなか「1ファイル」とはいかない
だろ?
やつは「コンテナ化」について全く言及してないだろ。
シェルで制御できるのはせいぜい「プロセス」「ジョブ」単位。
Dockerで制御できる「コンテナ」は「沢山のプロセス」をカプセル化
した「マシン」と「プロセス」の粒度の中間にある「サーバ(=コンテナ)」
という粒度が必要になってきたからDockerができたんだよ。
あとGitリポジトリと同じで「過去の状態に復帰できる」
コンテナの設定を「1ファイルとして外部に外出しできる」のも
シェルの守備範囲外。
シェルはどうやっても依存関係が生じてなかなか「1ファイル」とはいかない
だろ?
374デフォルトの名無しさん
2017/10/23(月) 01:07:56.87ID:IfXz4gcp > まず「コマンドベース」なのが可読性が汚くなる。
理由は?
> クォーテーション、オプション、セミコロン、各種コマンド展開
> パイプ、リダイレクト記号
何が問題なのか分からん。やりたいことが実現できれば十分だろ
> さらに「オプション」っていうのはテストコマンド中のオプション
> とか普通のコマンドのオプションとか1文字だけで意味を理解するには
> 「シェルの仕様を暗記」していることが前提になる。
シェルの仕様じゃなくて、普段自分で打ってるコマンドのオプションな。
あまり使わないものは俺はlong optionで書くようにしてるよ?一文字にこだわる必要はない。
> もちろん「シェルを散々やっている人」からすればそんなの身について
> 当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
> 比べれば「意味の通りやすさ」が段違い。
YAMLは形式、そこで使うオプションは結局覚えなきゃいけない。その分手間がかかる。
ってか本気のプログラミングをしないんだから、SQLでプログラムするのは
大変って言ってるようなもんだよ。シェルスクリプトは汎用言語じゃなくて
DSLに近いものなんだから、限られた用途で最高のパフォーマンスを出せばそれで十分
> 自分では当たり前のように書いてるシェルのコードが別の人から見たら
> 「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
> 考えたことある?
それはansibleも一緒。使い込んでいくと結局機能が足りなくて自分でモジュールとか作って
自分で作ったものは冪等性が実現できてなくて〜みたいになって苦しんでる姿を見てる。
> DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
> のためにあるわけじゃないんだよ。
シェルスクリプトも「既存で熟練した技術者」のためにあるわけじゃないんだよ。
普段シェルで使ってるコマンドそのまま使えるから知識が応用できる
理由は?
> クォーテーション、オプション、セミコロン、各種コマンド展開
> パイプ、リダイレクト記号
何が問題なのか分からん。やりたいことが実現できれば十分だろ
> さらに「オプション」っていうのはテストコマンド中のオプション
> とか普通のコマンドのオプションとか1文字だけで意味を理解するには
> 「シェルの仕様を暗記」していることが前提になる。
シェルの仕様じゃなくて、普段自分で打ってるコマンドのオプションな。
あまり使わないものは俺はlong optionで書くようにしてるよ?一文字にこだわる必要はない。
> もちろん「シェルを散々やっている人」からすればそんなの身について
> 当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
> 比べれば「意味の通りやすさ」が段違い。
YAMLは形式、そこで使うオプションは結局覚えなきゃいけない。その分手間がかかる。
ってか本気のプログラミングをしないんだから、SQLでプログラムするのは
大変って言ってるようなもんだよ。シェルスクリプトは汎用言語じゃなくて
DSLに近いものなんだから、限られた用途で最高のパフォーマンスを出せばそれで十分
> 自分では当たり前のように書いてるシェルのコードが別の人から見たら
> 「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
> 考えたことある?
それはansibleも一緒。使い込んでいくと結局機能が足りなくて自分でモジュールとか作って
自分で作ったものは冪等性が実現できてなくて〜みたいになって苦しんでる姿を見てる。
> DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
> のためにあるわけじゃないんだよ。
シェルスクリプトも「既存で熟練した技術者」のためにあるわけじゃないんだよ。
普段シェルで使ってるコマンドそのまま使えるから知識が応用できる
375デフォルトの名無しさん
2017/10/23(月) 01:18:21.36ID:IfXz4gcp >>373
> という粒度が必要になってきたからDockerができたんだよ。
ぜんぜん違うわw お前Docker分かってないじゃないかw
https://www.docker.com/what-container
ここよめ 面倒だからGoogleで日本語に翻訳したよ
> 開発、出荷、展開のための標準化されたユニットにソフトウェアをパッケージ化する
> コンテナイメージは、実行に必要なすべてのもの(コード、ランタイム、システムツール、
> システムライブラリ、設定)を含む軽量でスタンドアロンの実行可能なパッケージです。
「軽量でスタンドアロンの実行可能なパッケージです。」
ソースコードをコンパイルしてビルドすしたビルド生成物にさらにコード、ランタイム、
システムツール、システムライブラリ、設定をパッケージ化したものだ
複数のプロセスをパッケージ化したものじゃない。
静的リンクをさらに発展させてシステムライブラリまでをもリンクしたようなものだ。
> あとGitリポジトリと同じで「過去の状態に復帰できる」
いや?過去の状態に復帰するために使うことはまれ。
Dockerfileが同じでも全く同じイメージは作れない。
その時点で最新のディストリのパッケージが使われるから。
Makefileと同じで手順が残っていて1コマンド(ないし数コマンド)でビルドできるのが特徴
> コンテナの設定を「1ファイルとして外部に外出しできる」のも
> シェルの守備範囲外。
当たり前だろ・・・コンテナの設定を外出できるのはコンテナの機能だろ
なんでシェルの話とコンテナの話をごっちゃにしてるんだよw
> シェルはどうやっても依存関係が生じてなかなか「1ファイル」とはいかない
シェルが1ファイルとか誰も言ってないんだが?
> という粒度が必要になってきたからDockerができたんだよ。
ぜんぜん違うわw お前Docker分かってないじゃないかw
https://www.docker.com/what-container
ここよめ 面倒だからGoogleで日本語に翻訳したよ
> 開発、出荷、展開のための標準化されたユニットにソフトウェアをパッケージ化する
> コンテナイメージは、実行に必要なすべてのもの(コード、ランタイム、システムツール、
> システムライブラリ、設定)を含む軽量でスタンドアロンの実行可能なパッケージです。
「軽量でスタンドアロンの実行可能なパッケージです。」
ソースコードをコンパイルしてビルドすしたビルド生成物にさらにコード、ランタイム、
システムツール、システムライブラリ、設定をパッケージ化したものだ
複数のプロセスをパッケージ化したものじゃない。
静的リンクをさらに発展させてシステムライブラリまでをもリンクしたようなものだ。
> あとGitリポジトリと同じで「過去の状態に復帰できる」
いや?過去の状態に復帰するために使うことはまれ。
Dockerfileが同じでも全く同じイメージは作れない。
その時点で最新のディストリのパッケージが使われるから。
Makefileと同じで手順が残っていて1コマンド(ないし数コマンド)でビルドできるのが特徴
> コンテナの設定を「1ファイルとして外部に外出しできる」のも
> シェルの守備範囲外。
当たり前だろ・・・コンテナの設定を外出できるのはコンテナの機能だろ
なんでシェルの話とコンテナの話をごっちゃにしてるんだよw
> シェルはどうやっても依存関係が生じてなかなか「1ファイル」とはいかない
シェルが1ファイルとか誰も言ってないんだが?
376デフォルトの名無しさん
2017/10/23(月) 01:28:14.42ID:IfXz4gcp > した「マシン」と「プロセス」の粒度の中間にある「サーバ(=コンテナ)」
って言ってる時点で、
システムコンテナ(OpenVZなど) と アプリケーションコンテナ(Dockerなど)の
違いが分かってないとわかるんだよな。
コンテナ上で複数のプロセスを動かすとかさぁw
http://tokyodebian.alioth.debian.org/html/debianmeetingresume200912se8.html
> コンテナ型の仮想化技術というと有名なのは、 Solaris Containers や FreeBSD jail がありますが、
> Linux では Linux-VServer, OpenVZ*7 な どがあります。 いずれも既に使ったことがある方が多いのではないのでしょうか。
> lxc で提供されるサービスは、 大きく分類してシステムコンテナと、 アプリケーションコンテナの
> 2 つがあります。 前者は、 いわゆる OS まるごとの仮想化です。 init から起動して、 仮想 OS の空間を提供します。
> 後者は、 chroot によるアプリ ケーションの分離に近いです。
> 単一アプリケーションを分離するだけなので、 とても軽くシンプルなのが特徴 です。
って言ってる時点で、
システムコンテナ(OpenVZなど) と アプリケーションコンテナ(Dockerなど)の
違いが分かってないとわかるんだよな。
コンテナ上で複数のプロセスを動かすとかさぁw
http://tokyodebian.alioth.debian.org/html/debianmeetingresume200912se8.html
> コンテナ型の仮想化技術というと有名なのは、 Solaris Containers や FreeBSD jail がありますが、
> Linux では Linux-VServer, OpenVZ*7 な どがあります。 いずれも既に使ったことがある方が多いのではないのでしょうか。
> lxc で提供されるサービスは、 大きく分類してシステムコンテナと、 アプリケーションコンテナの
> 2 つがあります。 前者は、 いわゆる OS まるごとの仮想化です。 init から起動して、 仮想 OS の空間を提供します。
> 後者は、 chroot によるアプリ ケーションの分離に近いです。
> 単一アプリケーションを分離するだけなので、 とても軽くシンプルなのが特徴 です。
377デフォルトの名無しさん
2017/10/23(月) 01:32:54.85ID:JrZmYN5x >>375
成果物として生成したものから起動する
コンテナは「仮想マシン」みたいなものだから、
そのなかで稼働するプロセスをカプセル化しているって言う
表現は間違っていない。
視野がせまいのはドキュメントの表面的な字面だけを捉えている
お前の方。
使うのが稀だとしても「過去の状態に復帰できる」が担保されているのと
上手く行かないかもしれないというのでは差が大きい。
それに差分抽出、差分吸収もできる。
「1ファイル」であるということは移植性が高いということ。
シェルは内部に多数の外部スクリプト、コマンドなどを読み込むから
1ファイルではなかなか他のマシンに移植しにくい。
因みにシェルが役に立たないとは言っていない。
だけどDockerやプロビジョンツールを否定するのは無理がある。
成果物として生成したものから起動する
コンテナは「仮想マシン」みたいなものだから、
そのなかで稼働するプロセスをカプセル化しているって言う
表現は間違っていない。
視野がせまいのはドキュメントの表面的な字面だけを捉えている
お前の方。
使うのが稀だとしても「過去の状態に復帰できる」が担保されているのと
上手く行かないかもしれないというのでは差が大きい。
それに差分抽出、差分吸収もできる。
「1ファイル」であるということは移植性が高いということ。
シェルは内部に多数の外部スクリプト、コマンドなどを読み込むから
1ファイルではなかなか他のマシンに移植しにくい。
因みにシェルが役に立たないとは言っていない。
だけどDockerやプロビジョンツールを否定するのは無理がある。
378デフォルトの名無しさん
2017/10/23(月) 02:24:34.18ID:IfXz4gcp >>377
> コンテナは「仮想マシン」みたいなものだから、
だからそれが間違いだってーのw
仮想マシンって何かわかってるか?(物理)マシン、ハードウェアを
ソフトウェアで実装することで仮想的なハードウェアを作り出すものだよ。
コンテナはハードウェアをソフトウェアで実現している
わけじゃないので仮想マシンとは全く違うもの
(アプリケーション)コンテナがやってる仮想化っていうのは
カーネル部分だ。コンテナごとにカーネル部分を仮想的に作り出すことで
アプリケーションごとに独立したユーザーランドを提供することができる
アプリケーション専用に独立した実行環境を持てるんだよ。
同じ「仮想」という言葉が入っているから勘違いしてるのだろうが
コンテナは仮想マシンとは全く違う。「仮想」ではあるが「マシン」じゃない。
仮想メモリと仮想マシンに両方共「仮想」が入っているから
同じようなものだと勘違いしているのと同じレベルの間違いをしてる。
> 表現は間違っていない。
間違っている所は仮想マシンみたいなものと言う所と
複数のプロセスをまとめるというものだ。
やろうと思えばできなくはないが、アプリケーションコンテナであるDockerは
複数のプロセスをまとめたりしない。複数のプロセスを動かすのは
物理・仮想マシンの役目だ。
物理・仮想マシンで複数のプロセスを起動する
Dockerコンテナ1つはその複数のプロセスの1つにすぎない
> コンテナは「仮想マシン」みたいなものだから、
だからそれが間違いだってーのw
仮想マシンって何かわかってるか?(物理)マシン、ハードウェアを
ソフトウェアで実装することで仮想的なハードウェアを作り出すものだよ。
コンテナはハードウェアをソフトウェアで実現している
わけじゃないので仮想マシンとは全く違うもの
(アプリケーション)コンテナがやってる仮想化っていうのは
カーネル部分だ。コンテナごとにカーネル部分を仮想的に作り出すことで
アプリケーションごとに独立したユーザーランドを提供することができる
アプリケーション専用に独立した実行環境を持てるんだよ。
同じ「仮想」という言葉が入っているから勘違いしてるのだろうが
コンテナは仮想マシンとは全く違う。「仮想」ではあるが「マシン」じゃない。
仮想メモリと仮想マシンに両方共「仮想」が入っているから
同じようなものだと勘違いしているのと同じレベルの間違いをしてる。
> 表現は間違っていない。
間違っている所は仮想マシンみたいなものと言う所と
複数のプロセスをまとめるというものだ。
やろうと思えばできなくはないが、アプリケーションコンテナであるDockerは
複数のプロセスをまとめたりしない。複数のプロセスを動かすのは
物理・仮想マシンの役目だ。
物理・仮想マシンで複数のプロセスを起動する
Dockerコンテナ1つはその複数のプロセスの1つにすぎない
379デフォルトの名無しさん
2017/10/23(月) 02:33:28.78ID:IfXz4gcp >>377
> 使うのが稀だとしても「過去の状態に復帰できる」が担保されているのと
担保されていない。イメージを消してしまったら二度と同じものは作れない。
> 「1ファイル」であるということは移植性が高いということ。
俺は「1ファイル」なんかにこだわってないが、
なんでお前はそれにこだわってるんだ?
別に「1ファイル」であることは移植性は高くない。
何を根拠にそんなこと言ってるんだろうか?
移植性がないC言語のソースコードを1ファイルにすると
移植性が高くなるとでも? 意味がわからない。
> シェルは内部に多数の外部スクリプト、コマンドなどを読み込むから
> 1ファイルではなかなか他のマシンに移植しにくい。
移植しにくいのは他の「マシン」ではなくて他のOS(ディストリ)
コンテナはその部分を仮想化して、カーネル以外の部分を
全部アプリケーションにくっつけてしまう。
結局のところ別の実行環境に移植するっていうのは理論上は
互換性があっても完璧とはいえないんだよ。
だからコンテナを使うことで、カーネル以外の部分に同じものを使うことで
移植そのものをなくしてしまった。
DockerコンテナはLinuxカーネルでしか動かないって知ってるか?
使うOSは全部Linuxだ。だから移植しなくて良いんだよ。
なおAnsible使っても移植作業は大変だ。DebianとCentOSでapt-get、yum違いも有るし
パッケージ名の違いも有る。パッケージの中に入っているものも違う。それぞれ用意しないといけない。
Dockerイメージににはカーネルを除いた「Debian」部分も含まれるから
CentOSで、Debianベースのイメージが動かせる。移植作業が不要とはこういうこと
> 使うのが稀だとしても「過去の状態に復帰できる」が担保されているのと
担保されていない。イメージを消してしまったら二度と同じものは作れない。
> 「1ファイル」であるということは移植性が高いということ。
俺は「1ファイル」なんかにこだわってないが、
なんでお前はそれにこだわってるんだ?
別に「1ファイル」であることは移植性は高くない。
何を根拠にそんなこと言ってるんだろうか?
移植性がないC言語のソースコードを1ファイルにすると
移植性が高くなるとでも? 意味がわからない。
> シェルは内部に多数の外部スクリプト、コマンドなどを読み込むから
> 1ファイルではなかなか他のマシンに移植しにくい。
移植しにくいのは他の「マシン」ではなくて他のOS(ディストリ)
コンテナはその部分を仮想化して、カーネル以外の部分を
全部アプリケーションにくっつけてしまう。
結局のところ別の実行環境に移植するっていうのは理論上は
互換性があっても完璧とはいえないんだよ。
だからコンテナを使うことで、カーネル以外の部分に同じものを使うことで
移植そのものをなくしてしまった。
DockerコンテナはLinuxカーネルでしか動かないって知ってるか?
使うOSは全部Linuxだ。だから移植しなくて良いんだよ。
なおAnsible使っても移植作業は大変だ。DebianとCentOSでapt-get、yum違いも有るし
パッケージ名の違いも有る。パッケージの中に入っているものも違う。それぞれ用意しないといけない。
Dockerイメージににはカーネルを除いた「Debian」部分も含まれるから
CentOSで、Debianベースのイメージが動かせる。移植作業が不要とはこういうこと
380デフォルトの名無しさん
2017/10/23(月) 02:34:50.00ID:JrZmYN5x >>378
お前は国語が理解できないんだと思う。
「犬は狼みたいなもんだ」といったら
それの違いを生息地帯とか餌の内容とかごちゃごちゃ並べて
批判するタイプ。
つまり、抽象表現とかメタファーを一切受け入れられない。
その証拠に、使っている言葉がどっかのドキュメントに書いてある
文言そのまんまコピってきたような文章書いてるな。
学力テストでは高得点取れそうだが、物事を設計するのは苦手そう
違うかい?
お前は国語が理解できないんだと思う。
「犬は狼みたいなもんだ」といったら
それの違いを生息地帯とか餌の内容とかごちゃごちゃ並べて
批判するタイプ。
つまり、抽象表現とかメタファーを一切受け入れられない。
その証拠に、使っている言葉がどっかのドキュメントに書いてある
文言そのまんまコピってきたような文章書いてるな。
学力テストでは高得点取れそうだが、物事を設計するのは苦手そう
違うかい?
381デフォルトの名無しさん
2017/10/23(月) 02:38:08.54ID:IfXz4gcp382デフォルトの名無しさん
2017/10/23(月) 02:44:12.55ID:IfXz4gcp っていうか言い返したいのはわかるが、
レスの内容に言及しないのは何なんだろうなw
レスの内容に言及しないのは何なんだろうなw
383デフォルトの名無しさん
2017/10/23(月) 02:46:41.07ID:IfXz4gcp > 違うかい?
あぁ、そうだ、これ、関係ないくだらない質問ををしてそれに答えなかったら、
否定しなかったから認めたんだ。おまえは認めたんだー。わーって
言うための布石だこれ。見たこと有るw
くだらない質問だけど違うって言っておくよ。おまえを黙らせるために。
でも関係ない話だからそれ以外何も言うつもりはないよ。
このスレに関係ある話をしような?
あぁ、そうだ、これ、関係ないくだらない質問ををしてそれに答えなかったら、
否定しなかったから認めたんだ。おまえは認めたんだー。わーって
言うための布石だこれ。見たこと有るw
くだらない質問だけど違うって言っておくよ。おまえを黙らせるために。
でも関係ない話だからそれ以外何も言うつもりはないよ。
このスレに関係ある話をしような?
384デフォルトの名無しさん
2017/10/24(火) 00:32:13.24ID:jO+jDbIG ...お、おう。
久々に来たら面白い事になってんな。
久々に来たら面白い事になってんな。
385デフォルトの名無しさん
2017/10/24(火) 03:30:56.57ID:DfsEXCLh Docker、2016、オライリー
Chef実践入門 - コードによるインフラ構成の自動化、2014
Chef実践入門 - コードによるインフラ構成の自動化、2014
386デフォルトの名無しさん
2017/10/24(火) 23:00:17.34ID:zYnBGUyD 殆ど同じ内容のDockerfileなんだけどちょっとだけ変えたい場合ってどう書けばいいの?
FROM me/hoge:debug
COPY . /hoge
WORKDIR /hoge
RUN ./setup.sh --debug
ENTRYPOINT ["run.sh"]
FROM me/hoge:release
COPY . /hoge
WORKDIR /hoge
RUN ./setup.sh
ENTRYPOINT ["run.sh"]
似たようなのが沢山ある
FROM me/hoge:debug
COPY . /hoge
WORKDIR /hoge
RUN ./setup.sh --debug
ENTRYPOINT ["run.sh"]
FROM me/hoge:release
COPY . /hoge
WORKDIR /hoge
RUN ./setup.sh
ENTRYPOINT ["run.sh"]
似たようなのが沢山ある
387デフォルトの名無しさん
2017/10/24(火) 23:03:45.53ID:hjkLVxi7 >>386
build-argつかえ
build-argつかえ
388デフォルトの名無しさん
2017/10/24(火) 23:18:00.24ID:zYnBGUyD >>387
👍
👍
389デフォルトの名無しさん
2017/10/28(土) 09:01:01.81ID:rZWSN5Vz 異なるimageを1つにマージしたい
なんていうか多重継承みたいな事をしたい
dotnetとpythonから派生して両方に依存したアプリを乗っけてビルドしたい的な要件
どちらかをfromにしてもう片方をdockerfileに書けば済む話なんだけどせっかく公式でdocker最適化メンテナンスしてくれてんだから両方ともそっち使いたいよね
なんていうか多重継承みたいな事をしたい
dotnetとpythonから派生して両方に依存したアプリを乗っけてビルドしたい的な要件
どちらかをfromにしてもう片方をdockerfileに書けば済む話なんだけどせっかく公式でdocker最適化メンテナンスしてくれてんだから両方ともそっち使いたいよね
390デフォルトの名無しさん
2017/10/28(土) 14:35:33.70ID:bXFe772l >>389
あんたも典型的な使い方を間違えてる。
Dockerはアプリケーションコンテナであって
システムコンテナじゃない
システムコンテナじゃないから「アプリを乗っける」なんて
考え方にはならないししてはいけない。
正しくは「アプリケーションをビルドする」だ。
Docker使ってアプリを作るんだよ。
あんたも典型的な使い方を間違えてる。
Dockerはアプリケーションコンテナであって
システムコンテナじゃない
システムコンテナじゃないから「アプリを乗っける」なんて
考え方にはならないししてはいけない。
正しくは「アプリケーションをビルドする」だ。
Docker使ってアプリを作るんだよ。
391デフォルトの名無しさん
2017/10/28(土) 16:01:54.61ID:rZWSN5Vz392デフォルトの名無しさん
2017/10/28(土) 16:44:44.72ID:EDygjHo8 やめとけ
そいつ多分例のあいつ
そいつ多分例のあいつ
393デフォルトの名無しさん
2017/10/29(日) 01:55:08.12ID:9lQAHngl うんことうんこが激しくうんこを撒き散らしてるが、
自分一人で仕事するのであれば好きにしたらいい
チームでやるならメンバーのスキルセット考慮して選択するだろ
原理主義的にどっちがいいとか言ってる奴等はだいたい職場で浮くよな
自分一人で仕事するのであれば好きにしたらいい
チームでやるならメンバーのスキルセット考慮して選択するだろ
原理主義的にどっちがいいとか言ってる奴等はだいたい職場で浮くよな
394デフォルトの名無しさん
2017/11/03(金) 10:45:37.59ID:x2hOB9Es395デフォルトの名無しさん
2017/11/06(月) 06:20:20.30ID:oNlJoXOO すみません、教えて下さい
virtualbox+ubuntuで仮装ホストを立てる場合とdocker toolboxの違いってどんな感じなんでしょうか?
virtualbox+ubuntuで仮装ホストを立てる場合とdocker toolboxの違いってどんな感じなんでしょうか?
396デフォルトの名無しさん
2017/11/07(火) 00:11:44.79ID:DNpGFSnP >>395
docker toolboxの場合dockerが提供するべき機能を
ちゃんと提供している(努力している)って所かな
具体的に言うと起動したコンテナにlocalhostでつなげることができるとか
ボリューム機能が使えるという所。他にも有ると思うけど
コンテナの中は実行環境が隔離されてはいるけど、コンテナ自体は
ホストOS上で直接動かしているように見せられるのが特徴なわけ
つまりWindows上でDockerコンテナを動かしたとき、
Windows上のディレクトリをDockerコンテナは読み書きでき
Dockerコンテナでウェブアプリを起動した時、localhost:8080とかで接続できる
virtualbox+ubuntuだとWindowsがホストだとしてゲストマシンとして別のマシンが
起動するような感じ、ディレクトリとか共有設定していなければ別扱いだし
別のIPアドレスが割り当てられる、ポートフォワーディングの設定をしないとlocalhostで見れない。
Windowsとは別に用意されたubuntuマシンに入ってからubuntuマシン上でdockerを使うのに比べて
docker toolboxだとまるでWindows上で直接Dockerを動かしているよう見える。
まああとは考え方の違いがあるけどね。Windowsは使いづらいから
Windowsを捨てたつもりで、でほぼすべてを仮想マシンの中で過ごしたいっていうのなら
virtualbox+ubuntuでも良いと思う。でも今はWSLも出来たし、Windows上で開発
テキストエディタもWindows用atom。作ったウェブアプリをWindows用のブラウザで確認したい。
みたいな使い方をするのならdocker toolboxならそれができるように整備されているってわけ
docker toolboxの場合dockerが提供するべき機能を
ちゃんと提供している(努力している)って所かな
具体的に言うと起動したコンテナにlocalhostでつなげることができるとか
ボリューム機能が使えるという所。他にも有ると思うけど
コンテナの中は実行環境が隔離されてはいるけど、コンテナ自体は
ホストOS上で直接動かしているように見せられるのが特徴なわけ
つまりWindows上でDockerコンテナを動かしたとき、
Windows上のディレクトリをDockerコンテナは読み書きでき
Dockerコンテナでウェブアプリを起動した時、localhost:8080とかで接続できる
virtualbox+ubuntuだとWindowsがホストだとしてゲストマシンとして別のマシンが
起動するような感じ、ディレクトリとか共有設定していなければ別扱いだし
別のIPアドレスが割り当てられる、ポートフォワーディングの設定をしないとlocalhostで見れない。
Windowsとは別に用意されたubuntuマシンに入ってからubuntuマシン上でdockerを使うのに比べて
docker toolboxだとまるでWindows上で直接Dockerを動かしているよう見える。
まああとは考え方の違いがあるけどね。Windowsは使いづらいから
Windowsを捨てたつもりで、でほぼすべてを仮想マシンの中で過ごしたいっていうのなら
virtualbox+ubuntuでも良いと思う。でも今はWSLも出来たし、Windows上で開発
テキストエディタもWindows用atom。作ったウェブアプリをWindows用のブラウザで確認したい。
みたいな使い方をするのならdocker toolboxならそれができるように整備されているってわけ
397デフォルトの名無しさん
2017/11/07(火) 08:18:05.50ID:VuPHC1Hj VirtualBoxでWindowsのファイルシステムをマウントして使うと遅いから
docker-unison使ってたけど
docker-syncの方が良いの?
https://github.com/leighmcculloch/docker-unison
http://docker-sync.io
docker-unison使ってたけど
docker-syncの方が良いの?
https://github.com/leighmcculloch/docker-unison
http://docker-sync.io
398デフォルトの名無しさん
2017/11/07(火) 10:49:12.91ID:uepCx6fG Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.network "forwarded_port", guest: 80, host: 10080 # HTTP
config.vm.network "forwarded_port", guest: 443, host: 10443 # HTTPS
end
Vagrant, Chef では、Ruby の文法で、設定ファイルを書く
誰も、Vagrant の作者、Mitchell Hashimoto (HashiCorp)を、
避けて通ることはできない、と言われている
Docker、2016、オライリー
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Chef実践入門 - コードによるインフラ構成の自動化、2014
config.vm.box = "hashicorp/precise64"
config.vm.network "forwarded_port", guest: 80, host: 10080 # HTTP
config.vm.network "forwarded_port", guest: 443, host: 10443 # HTTPS
end
Vagrant, Chef では、Ruby の文法で、設定ファイルを書く
誰も、Vagrant の作者、Mitchell Hashimoto (HashiCorp)を、
避けて通ることはできない、と言われている
Docker、2016、オライリー
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Chef実践入門 - コードによるインフラ構成の自動化、2014
399デフォルトの名無しさん
2017/11/07(火) 15:43:49.52ID:DRlk+NZ/400デフォルトの名無しさん
2017/11/08(水) 22:22:13.17ID:9nb3Ik6J401デフォルトの名無しさん
2017/11/11(土) 12:30:00.77ID:AwGKm55U 日経Linux 11月号
WSL 特集
Docker の記事もある
Ubuntu 側では、Dockerデーモンが動かないため、
Windows 側の、VirtualBox に、Vagrant で、CoreOS を入れて、
その中に、Dockerデーモンをインストール
Ubuntu側から、Dockerコマンドで使う
付録は、サーバーがゼロから分かる本、100ページ。
サーバーでできること、77
付録DVD は、
Ubuntu 17.04 日本語 Remix (64 ビット版)
Ubuntu Server 17.04 (64 & 32 ビット版)
CentOS 7.3 LiveGNOME (64 ビット版)
WSL 特集
Docker の記事もある
Ubuntu 側では、Dockerデーモンが動かないため、
Windows 側の、VirtualBox に、Vagrant で、CoreOS を入れて、
その中に、Dockerデーモンをインストール
Ubuntu側から、Dockerコマンドで使う
付録は、サーバーがゼロから分かる本、100ページ。
サーバーでできること、77
付録DVD は、
Ubuntu 17.04 日本語 Remix (64 ビット版)
Ubuntu Server 17.04 (64 & 32 ビット版)
CentOS 7.3 LiveGNOME (64 ビット版)
402デフォルトの名無しさん
2017/11/12(日) 10:14:04.28ID:j0JK3XOe windowsで開発したイメージをraspberry piで動かすことはできますか?
403デフォルトの名無しさん
2017/11/18(土) 00:17:48.89ID:VuzSnHPO 手元でビルドテストしたイメージがどこでも動くのがdockerのメリット
404デフォルトの名無しさん
2017/11/18(土) 20:40:24.58ID:DGbmO77I 暇な人おしえてください
物理マシンで作ったスクリプトファイルを仮想環境で実行したいんだけど
どうやってファイルを仮想ディレクトリにもっていけばいいの?
根本的にわかってないっす・・・
物理マシンで作ったスクリプトファイルを仮想環境で実行したいんだけど
どうやってファイルを仮想ディレクトリにもっていけばいいの?
根本的にわかってないっす・・・
405デフォルトの名無しさん
2017/11/18(土) 20:48:16.87ID:DGbmO77I 自己解決
なるほど共有フォルダを作成すればいいのね
なるほど共有フォルダを作成すればいいのね
406デフォルトの名無しさん
2017/11/21(火) 22:02:56.50ID:Dg+h+BIQ 最近vagrantを始めたのですが
このソフトがやっていることってもしかして
virtualboxのCLIを叩いてるだけでは?
このソフトがやっていることってもしかして
virtualboxのCLIを叩いてるだけでは?
407デフォルトの名無しさん
2017/11/21(火) 22:24:30.28ID:H+r6aFWv そうだよ
てかインフラアズコードって全部そうだよ
てかインフラアズコードって全部そうだよ
408デフォルトの名無しさん
2017/11/22(水) 01:35:34.65ID:8atlH8j3 ありがとうございます
やはりそうなんですね
そうなると、「vagrantでないと出来ないこと」は何なのかが気になります
プロビジョニング的なことでしょうか?
プロビジョニングは、
自動的にログインしてコマンドを叩くことで実現してるのでしょうか?
これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
やはりそうなんですね
そうなると、「vagrantでないと出来ないこと」は何なのかが気になります
プロビジョニング的なことでしょうか?
プロビジョニングは、
自動的にログインしてコマンドを叩くことで実現してるのでしょうか?
これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
409デフォルトの名無しさん
2017/11/22(水) 02:08:02.88ID:jSD3lLhL 時間さえあって自分で作るならアセンブラでできないことは何もない
○○でないとできないこと="時間をかけずに"△△をすること
すべてそう。時間をかけないという問題を解決してる。
> これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
virtualboxのvboxmanageコマンドでできる
○○でないとできないこと="時間をかけずに"△△をすること
すべてそう。時間をかけないという問題を解決してる。
> これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
virtualboxのvboxmanageコマンドでできる
410デフォルトの名無しさん
2017/11/22(水) 07:30:32.21ID:XGz0BDt0 >>408
vagrantはラッパだから、vagrantじゃないとできないことなどない
vagrantはラッパだから、vagrantじゃないとできないことなどない
411デフォルトの名無しさん
2017/11/22(水) 23:58:07.56ID:jSD3lLhL 自転車で行けるなら、歩いていけないことはない
というのと一緒
可能・不可能の話にしてしまうと大事な点が見えなくなる
同じことをするにもコスト・時間が少ないほうが良いだろう?
それはすごく重要な事だよ
というのと一緒
可能・不可能の話にしてしまうと大事な点が見えなくなる
同じことをするにもコスト・時間が少ないほうが良いだろう?
それはすごく重要な事だよ
412デフォルトの名無しさん
2017/11/23(木) 07:48:28.42ID:JkIKu46w oracledbの公式イメージないんか
oracleはほんま使えんなぁ
oracleはほんま使えんなぁ
413sage
2017/11/23(木) 10:23:34.07ID:tzs9JkH9 privilegedモードとdocker.sock共有だとどっちか危険ですか?
414デフォルトの名無しさん
2017/12/07(木) 12:39:47.34ID:NfkoL/Di docker run したときのパラメータ変えたかったら
今のコンテナからイメージつくるか、もとのイメージから、コンテナ作り直すしかないの?
今のコンテナからイメージつくるか、もとのイメージから、コンテナ作り直すしかないの?
415デフォルトの名無しさん
2017/12/07(木) 21:24:18.91ID:kyxQutt+ >>414
dockerイメージ = exeファイル
dockerコンテナ = exeファイルを実行して作ったプロセス
docker runのパラメータ = exeファイル起動時の引数
と考えればいいよ
起動時の引数を変えたいって変な話だよね
プロセスの状態を外部から変えたいならば、ファイルやネットワークやシグナル
なんかで、プロセスにメッセージを送ることになるでしょう?
dockerイメージ = exeファイル
dockerコンテナ = exeファイルを実行して作ったプロセス
docker runのパラメータ = exeファイル起動時の引数
と考えればいいよ
起動時の引数を変えたいって変な話だよね
プロセスの状態を外部から変えたいならば、ファイルやネットワークやシグナル
なんかで、プロセスにメッセージを送ることになるでしょう?
416デフォルトの名無しさん
2017/12/07(木) 21:39:08.94ID:fEi0yHLk entrypointのことだろ
オプションで変えれるぞ
オプションで変えれるぞ
417デフォルトの名無しさん
2017/12/07(木) 21:46:47.50ID:kyxQutt+418デフォルトの名無しさん
2017/12/07(木) 21:47:04.44ID:NfkoL/Di >>415
1回exe起動したらずっとそのままの状態で起動しないとだめってのもおかしな話だよね
なんのために引数取れるようになってるのか考えれば、パラメータ変えて再実行なんてあり得る話
プロセスが継続してる必要はないけど、たとえばポート変えたいとかいくらでもあるだろ
コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから
まあ、コンテナ内部に永続化させたのが失敗だって話なんだろうけど
1回exe起動したらずっとそのままの状態で起動しないとだめってのもおかしな話だよね
なんのために引数取れるようになってるのか考えれば、パラメータ変えて再実行なんてあり得る話
プロセスが継続してる必要はないけど、たとえばポート変えたいとかいくらでもあるだろ
コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから
まあ、コンテナ内部に永続化させたのが失敗だって話なんだろうけど
419デフォルトの名無しさん
2017/12/07(木) 23:08:10.01ID:kyxQutt+420デフォルトの名無しさん
2017/12/07(木) 23:09:37.72ID:kyxQutt+ >>418
> コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから
単純なexeだってビルドする時にソースコードに書かれた
定数やデータやリソースファイルなど、内部に状態を持って永続化するが?
> コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから
単純なexeだってビルドする時にソースコードに書かれた
定数やデータやリソースファイルなど、内部に状態を持って永続化するが?
421デフォルトの名無しさん
2017/12/08(金) 03:08:05.72ID:bFLhaAeC >>420
実行ファイルに埋め込まれた定数やリソースを永続化という用法が一般的かどうかは知らんが
状態のまえに、実行時に変化するってつけといて
あるいは状態もって永続化じゃなくて、データファイルでもいいぞ
実行ファイルに埋め込まれた定数やリソースを永続化という用法が一般的かどうかは知らんが
状態のまえに、実行時に変化するってつけといて
あるいは状態もって永続化じゃなくて、データファイルでもいいぞ
422デフォルトの名無しさん
2017/12/08(金) 03:15:52.99ID:cpGshdOM プロセスだって実行時にメモリ書き換えるだろ
実行時に状態変化してるんだよ
実行時に状態変化してるんだよ
423デフォルトの名無しさん
2017/12/08(金) 05:39:25.87ID:bFLhaAeC メモリ書き換えるのは普通永続化されてるとは言わんわ
わざと曲解してるのかね
わざと曲解してるのかね
424デフォルトの名無しさん
2017/12/08(金) 09:52:46.11ID:cpGshdOM425デフォルトの名無しさん
2017/12/08(金) 14:21:56.65ID:IanFvc8O データベースとかリポジトリのコンテナは止めたり再開するだろ?
426デフォルトの名無しさん
2017/12/08(金) 15:05:16.18ID:Y0XUjRGM まず質問に対してYesかNoで答えろよ。
427デフォルトの名無しさん
2017/12/08(金) 17:43:23.33ID:bFLhaAeC >>424
だからコンテナ内部に永続化させたのが失敗だって話なんだろうって
ただ、コンテナは中断しても良いけど終了させたいわけでも消したいわけでもないぞ
たとえば 現在のコンテナの内容のまま、 -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話
だからコンテナ内部に永続化させたのが失敗だって話なんだろうって
ただ、コンテナは中断しても良いけど終了させたいわけでも消したいわけでもないぞ
たとえば 現在のコンテナの内容のまま、 -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話
428デフォルトの名無しさん
2017/12/08(金) 21:44:10.36ID:cpGshdOM >>425
しない。それは使い方が間違っている。
データベースに限らないがまずアプリとデータは分離させる
アプリはコンテナ、データはボリュームに保存する。
そしてコンテナは消してもデータは残るように作るのが通常のやり方
しない。それは使い方が間違っている。
データベースに限らないがまずアプリとデータは分離させる
アプリはコンテナ、データはボリュームに保存する。
そしてコンテナは消してもデータは残るように作るのが通常のやり方
429デフォルトの名無しさん
2017/12/08(金) 21:51:28.74ID:cpGshdOM >>427
> たとえば 現在のコンテナの内容のまま、 -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話
データはコンテナの中ではなくボリュームに保存する。
だからコンテナは消しても、データはそのまま。
アプリを一旦停止して再起動しても、データはファイルに保存してるだろ。
アプリを止める = コンテナを止める
データをファイルに保存 = データをボリュームに保存
こう変わっただけ
これこそが「仮想化」なんだよ。
もし仮にアプリが決め打ちの絶対パスで/var/hogeにデータを書き込むという仕様だとしても、
dockerコンテナに閉じ込めておけば、アプリが/var/hogeに書き込んだとしても
ボリュームを使うことでコンテナの外では好きな場所に変更することができる
仮想メモリのように、アプリから見た書き込む場所とは別の物理的な場所にリマップできる
アプリや一連のシステムを一つのコンテナにパッケージングし
そのコンテナ=アプリのようにみると、docker runのオプションで自由にポート番号
や書き込みディレクトリを変更できるカスタムアプリが出来上がる。
> たとえば 現在のコンテナの内容のまま、 -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話
データはコンテナの中ではなくボリュームに保存する。
だからコンテナは消しても、データはそのまま。
アプリを一旦停止して再起動しても、データはファイルに保存してるだろ。
アプリを止める = コンテナを止める
データをファイルに保存 = データをボリュームに保存
こう変わっただけ
これこそが「仮想化」なんだよ。
もし仮にアプリが決め打ちの絶対パスで/var/hogeにデータを書き込むという仕様だとしても、
dockerコンテナに閉じ込めておけば、アプリが/var/hogeに書き込んだとしても
ボリュームを使うことでコンテナの外では好きな場所に変更することができる
仮想メモリのように、アプリから見た書き込む場所とは別の物理的な場所にリマップできる
アプリや一連のシステムを一つのコンテナにパッケージングし
そのコンテナ=アプリのようにみると、docker runのオプションで自由にポート番号
や書き込みディレクトリを変更できるカスタムアプリが出来上がる。
430デフォルトの名無しさん
2017/12/08(金) 22:29:34.36ID:3V9S/A/h ドッカスはネットワーキングがクソ
ホストのリゾルバぐらい参照せえや
なに勝手にグーグルにつないどんねん
ホストのリゾルバぐらい参照せえや
なに勝手にグーグルにつないどんねん
431デフォルトの名無しさん
2017/12/10(日) 11:56:05.50ID:fCk6aJzv 外部ポート5000番で公開してるregistryにloginしようとすると
フロントのnginxが400 bad request返してくるんだがなんとかならん?
おそらく
docker loginがポート5000だからtlsじゃねーだろって判断する
→dockerがhttpでregistryにつなぎに行く
→nginxがhttpsじゃないので400返す
って流れになってるんだと思う
試しにregistryの外部ポートを443に変えてloginするとちゃんと成功する
docker loginで強制的にtls使うオプションとかあれば使うんだけど
docker login --helpしてもそれらしいオプションはなかった
443で公開するしかないのか
insecure-registryは使いたくないし
フロントのnginxが400 bad request返してくるんだがなんとかならん?
おそらく
docker loginがポート5000だからtlsじゃねーだろって判断する
→dockerがhttpでregistryにつなぎに行く
→nginxがhttpsじゃないので400返す
って流れになってるんだと思う
試しにregistryの外部ポートを443に変えてloginするとちゃんと成功する
docker loginで強制的にtls使うオプションとかあれば使うんだけど
docker login --helpしてもそれらしいオプションはなかった
443で公開するしかないのか
insecure-registryは使いたくないし
432デフォルトの名無しさん
2017/12/12(火) 23:03:27.06ID:YAElnGhd ものすごく基本的なことかもしれませんが教えて下さい。
1つの物理マシンに、ubuntuをインストールし、色々な実験家用をdockerコンテナでインストールし、
そのマシンに複数ユーザが接続してdockerコンテナを使用する予定です。
同じコンテナを複数ユーザが使用しても大丈夫でしょうか。
それとも、元々マルチユーザのOSなのでこのような使い方こそが向いているのでしょうか。
1つの物理マシンに、ubuntuをインストールし、色々な実験家用をdockerコンテナでインストールし、
そのマシンに複数ユーザが接続してdockerコンテナを使用する予定です。
同じコンテナを複数ユーザが使用しても大丈夫でしょうか。
それとも、元々マルチユーザのOSなのでこのような使い方こそが向いているのでしょうか。
433デフォルトの名無しさん
2017/12/12(火) 23:11:29.82ID:cVmeHUIV Ubuntuはただだからなにやってもいいよw
434デフォルトの名無しさん
2017/12/13(水) 08:51:35.45ID:bj6sPJM2435デフォルトの名無しさん
2017/12/13(水) 20:23:50.84ID:4MfUhrQZ CentOS7にDocker入れて、
Hass.ioというホームアシスタントのコンテナHass.ioを走らせたのですが
クライアントPCから接続できなくて困っています。
DockerとCentOSの間で外部への橋渡し設定が必要なのか
CentOSのsamba設定がまずいのか
どちらかと考えています。
前者の原因はあるでしょうか?
Dockerをアプリみたいに考えていいなら、前者は考えなくていいと思っています。
本人はDocker初心者でlinuxは数年ぶりに触っています。
Hass.ioというホームアシスタントのコンテナHass.ioを走らせたのですが
クライアントPCから接続できなくて困っています。
DockerとCentOSの間で外部への橋渡し設定が必要なのか
CentOSのsamba設定がまずいのか
どちらかと考えています。
前者の原因はあるでしょうか?
Dockerをアプリみたいに考えていいなら、前者は考えなくていいと思っています。
本人はDocker初心者でlinuxは数年ぶりに触っています。
436デフォルトの名無しさん
2017/12/13(水) 20:27:41.39ID:PKyEd910 【自然破壊】何百種類ものコンピューターは必要ない
http://lavender.5ch.net/test/read.cgi/kaden/1510387401/l50
世界教師マイトLーヤ「大暴落は日本からスタート」
http://rio2016.5ch.net/test/read.cgi/2chse/1512813686/l50
【テレパシー】世界教師マイトLーヤの演説『大宣言』は、14歳以上、3つの体験、14名の覚者を紹介
https://rosie.5ch.net/test/read.cgi/liveplus/1513126180/l50
【テレパシー】元国連職員「いきなり声が…『聞こえないフリ、分からぬフリをするな、照れをなくせ』」
http://rosie.5ch.net/test/read.cgi/liveplus/1513067436/l50
http://lavender.5ch.net/test/read.cgi/kaden/1510387401/l50
世界教師マイトLーヤ「大暴落は日本からスタート」
http://rio2016.5ch.net/test/read.cgi/2chse/1512813686/l50
【テレパシー】世界教師マイトLーヤの演説『大宣言』は、14歳以上、3つの体験、14名の覚者を紹介
https://rosie.5ch.net/test/read.cgi/liveplus/1513126180/l50
【テレパシー】元国連職員「いきなり声が…『聞こえないフリ、分からぬフリをするな、照れをなくせ』」
http://rosie.5ch.net/test/read.cgi/liveplus/1513067436/l50
437デフォルトの名無しさん
2017/12/13(水) 23:14:09.56ID:dQY+CYRc >>435
Hass.ioなんてのはしらんのでその説明と構成を言ってくれないと答えられん。
そのHass.ioはサーバーなのかHTTPかなにかで接続するのか、
samba は直接CentOS上で動かしているのか?
それともHass.ioのコンテナに含まれてるのか、別のコンテナなのか
Hass.ioとsambaはどう連携するのか
マシン構成はクライアントPCとサーバーPCの二台なのか
それともクライアントPCとHass.io用PCとsamba用PCの三台なのか
Hass.ioなんてのはしらんのでその説明と構成を言ってくれないと答えられん。
そのHass.ioはサーバーなのかHTTPかなにかで接続するのか、
samba は直接CentOS上で動かしているのか?
それともHass.ioのコンテナに含まれてるのか、別のコンテナなのか
Hass.ioとsambaはどう連携するのか
マシン構成はクライアントPCとサーバーPCの二台なのか
それともクライアントPCとHass.io用PCとsamba用PCの三台なのか
438デフォルトの名無しさん
2017/12/13(水) 23:17:43.29ID:dQY+CYRc あとDocke(コンテナ)をアプリみたいに考えて良いのはそのとおりだが
何かしらのサービスを提供するアプリは、サービスを提供するための
ポート番号を設定するだろ?(デフォルトで指定されてることも多いが)
Dockerコンテナ=アプリはそのポート番号を明示的に指定しなければいけない
何かしらのサービスを提供するアプリは、サービスを提供するための
ポート番号を設定するだろ?(デフォルトで指定されてることも多いが)
Dockerコンテナ=アプリはそのポート番号を明示的に指定しなければいけない
439435
2017/12/14(木) 00:27:35.30ID:yKgGSsNL >>437
Hass.ioはhttpの8123ポートへアクセスするとブラウザベースのサービスを提供するもの。
Hass.ioはcentosのdocker上で動かしている。
sambaはcentos上で動かしている。
マシン構成はクライアントPCとサーバーPCのcentosの計2台。
docker0とHass.ioは172.のローカルIPが振られていて、サーバーPCは192.のローカルIPがDHCPで振られている。
サーバーPCはワークグループに表示されているが、ゲストアクセス出来ない。
すみません。分かることを書いてみました。
本人はサーバー立ち上げ経験ありません。
Hass.ioはhttpの8123ポートへアクセスするとブラウザベースのサービスを提供するもの。
Hass.ioはcentosのdocker上で動かしている。
sambaはcentos上で動かしている。
マシン構成はクライアントPCとサーバーPCのcentosの計2台。
docker0とHass.ioは172.のローカルIPが振られていて、サーバーPCは192.のローカルIPがDHCPで振られている。
サーバーPCはワークグループに表示されているが、ゲストアクセス出来ない。
すみません。分かることを書いてみました。
本人はサーバー立ち上げ経験ありません。
440デフォルトの名無しさん
2017/12/14(木) 01:14:17.99ID:bGPtLfUR441デフォルトの名無しさん
2017/12/14(木) 06:26:27.54ID:Cig7NI2g442435
2017/12/14(木) 09:19:19.05ID:asDNyaxD443デフォルトの名無しさん
2017/12/14(木) 23:12:32.34ID:COokNIga 1つのアプリケーションで複数サービス起動したい場合のベストプラクティス教えて
444デフォルトの名無しさん
2017/12/15(金) 00:56:05.83ID:L7gVN0RS バッドプラクティスしたい場合の
ベストプラクティスを教えてと言われても・・・
ベストプラクティスを教えてと言われても・・・
445デフォルトの名無しさん
2017/12/18(月) 19:09:18.62ID:v15Ah6lj そういう時はdindだな
446デフォルトの名無しさん
2017/12/19(火) 20:09:30.02ID:ayXhJHgO ジェンキンスでイメージをレジストリにpushするところまで出来たのだけど
pushしたイメージを運用サーバーにpull & restartしてもらうにはどうすればいいの?ssh?
pushしたイメージを運用サーバーにpull & restartしてもらうにはどうすればいいの?ssh?
447デフォルトの名無しさん
2017/12/23(土) 21:56:21.95ID:AW7swrGi 人いねえな
日本じゃ仮想環境はまだまだマイナーなのか
大企業でもでっかい社内サーバーにあれこれ同居させてなんてことが未だにあるし
そういう文化なのかなぁ
日本じゃ仮想環境はまだまだマイナーなのか
大企業でもでっかい社内サーバーにあれこれ同居させてなんてことが未だにあるし
そういう文化なのかなぁ
448デフォルトの名無しさん
2017/12/30(土) 21:53:24.25ID:DzO+KqCk Dockerのコンテナで開発環境として
いろんなサーバつくる上での「共通素材」が
そろったコンテナ配布していないかな。
プログラミングが学習しにくい内容として
例えばDBを学びたときに「DB内に予め素材データがたくさん詰まっていたら」
それをもとに勉強や試しに動かしやすくなる。
JavaScriptを試したいときにい予めサンプル画像や文言、
試し切り用のHTML構造がたくさん詰まっていてくれたら検証しやすくなる。
テストコードがあらかじめたくさんあったらそれに合わすような
プログラムが作りやすくなる。
開発環境は素材付きで配布するっていいアイデアじゃないか?
いろんなサーバつくる上での「共通素材」が
そろったコンテナ配布していないかな。
プログラミングが学習しにくい内容として
例えばDBを学びたときに「DB内に予め素材データがたくさん詰まっていたら」
それをもとに勉強や試しに動かしやすくなる。
JavaScriptを試したいときにい予めサンプル画像や文言、
試し切り用のHTML構造がたくさん詰まっていてくれたら検証しやすくなる。
テストコードがあらかじめたくさんあったらそれに合わすような
プログラムが作りやすくなる。
開発環境は素材付きで配布するっていいアイデアじゃないか?
449デフォルトの名無しさん
2017/12/30(土) 22:18:10.55ID:fH0y6h0/ Dockerhubに登録すれば良いものなら評価してくてるよ
450デフォルトの名無しさん
2018/01/02(火) 23:07:27.96ID:puD6FMDA これどういうこと?
Docker死ぬん? せっかく覚えてきたのに?
Docker, Inc is Dead / Docker社は死んだ
http://itosho525.hatenablog.com/entry/2018/01/01/074358
Docker死ぬん? せっかく覚えてきたのに?
Docker, Inc is Dead / Docker社は死んだ
http://itosho525.hatenablog.com/entry/2018/01/01/074358
451デフォルトの名無しさん
2018/01/02(火) 23:52:33.32ID:VBdeXUJF 無問題
452デフォルトの名無しさん
2018/01/03(水) 00:34:25.41ID:hbEuYwsD453デフォルトの名無しさん
2018/01/03(水) 11:07:28.11ID:76Iu3Ukp ねーよ
454デフォルトの名無しさん
2018/01/03(水) 11:33:44.26ID:FghAOgO2 DockerはMSに買収された方がいい方向に進むだろうね
455デフォルトの名無しさん
2018/01/04(木) 00:14:34.87ID:Db2jLLtK Docker、2016、オライリー
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Vagrant, Packer などで有名な、HashiCorp の創始者
Chef実践入門 - コードによるインフラ構成の自動化、2014
cookbookは各社が公開している
Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard
実践 Vagrant、Mitchell Hashimoto、2014、オライリー
Vagrant, Packer などで有名な、HashiCorp の創始者
Chef実践入門 - コードによるインフラ構成の自動化、2014
cookbookは各社が公開している
Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard
456デフォルトの名無しさん
2018/01/06(土) 08:40:25.60ID:J/6p70u2 dockerでデスクトップ環境とスマホエミュレーター作れる?
457デフォルトの名無しさん
2018/01/06(土) 14:49:48.45ID:qWm4dftC まーたdockerが何か分かってない奴の質問か
dockerはカスタマイズされたアプリを作るものであって
環境を作るものじゃないんだよ
ここにアプリが有るじゃろ?から始まって
このアプリを動かすにはこのライブラリが必要で
こういう設定ファイルが必要じゃろ?
それらのアプリとそのアプリを動かす環境を
合体させてアプリを作るんだよ
だからデスクトプアプリは作れても
デスクトップ環境はそのそもdockerで作るものじゃない
スマホエミュレータはアプリなんだから作れるだろう
dockerはカスタマイズされたアプリを作るものであって
環境を作るものじゃないんだよ
ここにアプリが有るじゃろ?から始まって
このアプリを動かすにはこのライブラリが必要で
こういう設定ファイルが必要じゃろ?
それらのアプリとそのアプリを動かす環境を
合体させてアプリを作るんだよ
だからデスクトプアプリは作れても
デスクトップ環境はそのそもdockerで作るものじゃない
スマホエミュレータはアプリなんだから作れるだろう
458デフォルトの名無しさん
2018/01/06(土) 15:08:44.43ID:J/6p70u2 クリーンなビルド環境としてのdockerなど、当たり前のように環境として使われてるが?
459デフォルトの名無しさん
2018/01/06(土) 15:57:41.40ID:qWm4dftC460デフォルトの名無しさん
2018/01/06(土) 17:02:13.94ID:J/6p70u2461デフォルトの名無しさん
2018/01/06(土) 17:09:31.21ID:RuMnMvof ビルド環境だけじゃなくテストを走らせる環境もDockerで作る
Travis CIとか使ったことないんじゃ
Travis CIとか使ったことないんじゃ
462デフォルトの名無しさん
2018/01/07(日) 13:48:14.13ID:FrONFwW6 固定概念でdockerの可能性を絞るのは宜しくないね
463デフォルトの名無しさん
2018/01/07(日) 14:07:30.44 それぞれ
・ビルド生成物を作成するアプリ
・テスト結果を作成するアプリ
だと言いたいんだろう
ていうか、彼の世界観でスマホエミュレータがOKなんだったら
Linuxデスクトップ環境エミュレータだってOKなんだけどなw
・ビルド生成物を作成するアプリ
・テスト結果を作成するアプリ
だと言いたいんだろう
ていうか、彼の世界観でスマホエミュレータがOKなんだったら
Linuxデスクトップ環境エミュレータだってOKなんだけどなw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【川崎・20歳女性死体遺棄】「あさひを返せ!」県警の説明に親族、友人ら90人が署に集まり猛抗議「嘘ばかり、謝れば済むことなのに」 ★9 [ぐれ★]
- 【私が退職した本当の理由】取引先との接待で 「下着姿でロウソクを垂らされた」…新卒女性を追い込んだ上司の理不尽セクハラ 東海地方 [ぐれ★]
- 【ボクシング】井上尚弥、11連続KO勝利で77年ぶり世界新記録樹立 聖地ラスベガスでプロデビュー30連勝★3 [冬月記者★]
- 【消費税減税】「中身は若者いじめだよ」得するのは高齢者と外国人観光客だけ? “現役世代が損”との指摘が相次ぐ優しい減税の正体 ★4 [ぐれ★]
- ファミリーマート、海苔なしおむすび拡大「海苔を使用しない分コストを抑えられる」 [煮卵★]
- JR成田線、カメがポイントに挟まり止まる…近くのゴルフ場から迷い込んだか [蚤の市★]
- 日本企業「育休!育休で少子化は解決する!」 この国、もうこの路線やめられないみたいだね [452836546]
- ▶宝鐘マリン登録者数400万人配信
- 「90年代までの日本人は皆が明るかった!」→これマジなの? [673214947]
- 「沖縄そば」こいつが日本人に軽んじられてる理由って何?もっと評価されていい食べ物だろ [562983582]
- アメリカが相互関税の撤廃拒否、日米交渉難航 [668970678]
- 「マジでクソつまんないな」って思った観光地 [275053464]