X



トップページLinux
1002コメント476KB

Docker Part2©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0344login:Penguin
垢版 |
2018/08/09(木) 13:04:39.32ID:xAQpubuL
>>343
今までの話の流れからすると、CIでテスト実行するたびにVMの作成と破棄をしていたってことでしょ?
>>327がVMでも10秒以下の差しか無いから問題ないみたいなことを言ってるから
(VMの中でDocker-Composeが動いてるのは、この話にあまり関係ない)


当たり前だけどDockerコンテナの起動に比べればVMの起動は遅い
起動の差を10秒以下にするには、VMのイメージを作ってないと不可能
あとできればSSDとかクラウド使うとか。それでもDockerの1秒に比べたら遅い


そして肝心のVMのイメージを作成するのに時間がかかるっていうねw
Dockerの場合はアプリの実行環境が含まれる。だから構築に時間がかかるVMは
色んな種類のアプリのテストに使い回すことができる。

Dockerを使わないなら、アプリを動かすためにVMのイメージに
実行環境を含めないといけない。当然アプリごとにVMのイメージが必要になる。

DockerでもアプリごとにDockerイメージが必要になるのは同じだが
Dockerはキャッシュがあるから、Dockerイメージの作成は短時間でできる。
VMだとキャッシュはないし起動に10秒かかるし、作成したイメージの
サイズもでかいし頻繁にVMイメージの作成なんかやってられないよ
0345login:Penguin
垢版 |
2018/08/09(木) 16:12:56.70ID:+YyDvSZH
今までVPSとかで動かしていたものをコンテナ化してGCE辺りに移そうと思うんだけど
DBの保存や出力したファイルの保存はみんなどうやってるの?
結局マウントできるディスクが必要なんじゃないかってところで今頭を抱えてる
0346login:Penguin
垢版 |
2018/08/09(木) 17:43:56.11ID:UwrKl0TS
>>345
まずアプリサーバーとデータサーバーを分けて考える。
Dockerでやる価値が高いのはアプリ

アプリサーバーには原則としてデータは保存しない
その前提を守っているならば、簡単にスケールできる
(VMインスタンスやDockerコンテナを追加することで性能をあげられる)

という話。


その場合にデータはどうするかと言うと、
データサーバーはアプリサーバーみたいに簡単に
台数を増やしたりできない

一番楽なのは、難しいそれらをクラウドが提供するサービスに置き換えてしまうこと。
つまりGCPであればCloud SQLやCloud Storageを使う
これらは信頼性も性能も(金額次第だが)高くできる。
0347login:Penguin
垢版 |
2018/08/09(木) 17:47:52.88ID:UwrKl0TS
>>345
どうしても自力でやりたいならば、Dockerのボリュームという
機能を通してホスト上に保存するのが一番手っ取り早い

例えばMySQLであれば データディレクトリである
/var/lib/mysql をホスト上のディレクトリにボリュームで
マッピングさせる

MySQL ぐらいだったらシンプルだし事例も多いので簡単なんだが
何処に何を保存するのかよくわからんようなアプリは
それを把握することに時間を奪われるだろう
0348login:Penguin
垢版 |
2018/08/09(木) 17:55:09.12ID:UwrKl0TS
>>345
> 結局マウントできるディスクが必要なんじゃないかってところで今頭を抱えてる

結局マウントできるディスクが〜というのは
初心者がよく考えてしまうことなんだけど、
これは当たり前

なぜなら(物理マシン or 仮想マシン上で動く)Dockerコンテナっていうのは
(物理マシン or 仮想マシン上で動く)アプリと同質のものだから。
単にアプリの実行環境が、コンテナとしてアプリに一体化してるに過ぎない


アプリはデータを何処に保存する?
物理マシン or 仮想マシン上のディスクでしょう?
だからDockerコンテナもそれは同じことなんだよ

Dockerコンテナを使った時データの保存先をどうすれば良いのか悩むのは
Dockerコンテナがアプリと同質のものであることを理解してない証拠
0349login:Penguin
垢版 |
2018/08/13(月) 18:09:32.79ID:v0wq29mQ
最近コンテナってものを知ったんだけど、上の説明だとフラットパックってのとの違いがわからない
スタンダロンなアプリじゃなく、ソフトウェア群の、何かしらのフロントエンドにドッカーが向いてるってこと?
0350login:Penguin
垢版 |
2018/08/13(月) 21:26:12.80ID:nXCS+eUE
コンテナ自体が非常に難しい概念なんだよ
どうもLinuxの世界で発祥したもので、昔からLinuxやってる人でないとわからないらしい
「最近流行りのDockerなるものをやってみたい」というヤツには到底無理(俺含め)
0351login:Penguin
垢版 |
2018/08/13(月) 21:45:54.13ID:xnhwDoUS
Solarisのゾーンがコンテナの先駆けじゃない?
0352login:Penguin
垢版 |
2018/08/13(月) 23:10:29.77ID:XRxrVOUh
FreeBSDのjailとか?
cgroupの概念は含まれてないけどね
0353login:Penguin
垢版 |
2018/08/14(火) 00:05:12.50ID:kAynbxnX
>>350
説明してる奴が「難しいこと理解した俺スゲー」ってのを
自慢げに小難しく語るのが問題なだけ

プロセス分離のためにcloneを拡張して名前空間を追加したよ
cloneだけだと不便だからunshareとsetns追加したよ
cgroupでVMのごとくリソース分配可能にしたよ
コイツラ直接イジるのは面倒だからコンテナエンジン作ったよ

基本この4ステップだけじゃねぇの?





…って言う俺もコンテナのこと全然知らんのだが
0354login:Penguin
垢版 |
2018/08/14(火) 00:55:59.54ID:M/lw6/kx
>>350
技術を理解するのと目的を理解するのをごっちゃにしてるから

Dockerが解決する問題は(主に自分が作った)アプリをいろんな環境で
動かそうとしたら、アプリをぽんとインストールするだけじゃ動かなくて、
そのアプリが依存してるなにかまで環境を整えなきゃならないだろ?
だから発想の転換でアプリ自体に環境を入れてしまえばいいじゃないかってこと。
外部ライブラリを全部アプリに静的リンクするの発展形だよ
まずそこを理解しないといけない


技術だけ理解すると、やれjailがなんだとかcgroupがなんだとか、
そればっかり言って、なんのために作られたのかという目的を見失う。
その結果、同じ技術を使った応用例のVMの代わりにするのが目的だと勘違いする

コンテナという技術を知るのではなくて、どんな問題があって
それを解決するものがDockerなんだって理解するのが先
0355login:Penguin
垢版 |
2018/08/14(火) 01:03:03.69ID:M/lw6/kx
補足だが、
> (主に自分が作った)アプリをいろんな環境で

なんで「自分が作った」と書いているのかというと
他人が作って、ディストロに収録されているものは、
それ動かすための、環境もすでに整えてあるから
それがディストロの大変な仕事なわけで。

だから自分が作ってないものを動かしてるだけの人は
(物理マシン or 仮想マシンの上に)ディスロの環境整えられてる
パッケージ入れて使っても同じじゃんって思ってしまう。
技術は理解していても、そもそもの問題を理解していから
Dockerが必要な理由もわからない
0356login:Penguin
垢版 |
2018/08/14(火) 01:10:25.09ID:M/lw6/kx
>>349
フラットパックってのがよくわからない。
一般的な用語?ググっても見つからないんだが。

> スタンダロンなアプリじゃなく、ソフトウェア群の、何かしらのフロントエンドにドッカーが向いてるってこと?

既存のいろんなものをつく合わせて
スタンドアロンなアプリを作りましょうって話。

何かをやるためにDockerを使うと便利なんじゃなくて、
Dockerは「とある物」を作るための道具だよ

その「とある物」っていうのがスタンドアロンなアプリ
動かしたいアプリが、動かすのにアプリ以外の環境を整えることが
必要なアプリであっても、Dockerを使えばアプリに組み込んで
スタンドアロンなアプリに作り変えることができる

Dockerはスタンドアロンなアプリを「作るもの」
であって「動かす環境」ではないんだよ
そこを根本的に間違ってる人がいる。
0358login:Penguin
垢版 |
2018/08/14(火) 02:29:21.54ID:Ttl7PXT/
カタカナでググったから見つからなかったのかw

Linuxデスクトップ向けアプリケーション仮想化機構「flatpak 0.6.13」リリース
https://mag.osdn.jp/16/10/26/153000

>  Linux向けのアプリケーション仮想化技術「flatpak」開発チームは10月25日、
> 最新版「flatpak 0.6.13」を公開した。プロジェクトのWebサイトより入手できる。ライセンスはLGPL。
>
>  flatpak(旧名称「xdg-app」)は、Cで実装されたLinuxデスクトップアプリケーション向けの
> 仮想化機構。アプリケーションをOS環境とは切り離されたサンドボックス環境内で
> 実行することでセキュリティを高め、またほかのアプリケーションからの干渉を最小限にできる。
> サンドボックス環境の構築にはcgroupsやseccomp、ネームスペース、バインドマウントなどの
> Linuxカーネル技術やOpen Coutainer InitiativeのOCIフォーマットなどを利用しており、
> 単一のアプリケーションパッケージをさまざまなLinuxディストリビューションで動作させることができるという。

Dockerのアイデアをパクってデスクトップアプリ用にした技術だね
技術的にはかなり近いものを使ってるし、OCIフォーマットは
Docker社 vs CoreOS社の標準化争いで生まれたものだし
違いがわからないというのなら、その言うべき相手は
後から登場したflatpakに言うべき言葉だろう
なんでflatpak作ったの?Dockerでいいじゃない?と。
0359login:Penguin
垢版 |
2018/08/14(火) 03:11:38.19ID:Ttl7PXT/
> なんでflatpak作ったの?Dockerでいいじゃない?と。
この質問に自己レスする前に

第513回 新しいパッケージの仕組み,Flatpakを使用する
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0513
> FlatpakとSnapsの最大の違いは,Flatpakはアプリケーション専用で
> あることでしょう。よって,GUIアプリケーションであれば
> Flatpakのほうが快適に使用できるものが多いのですが,実際はケースバイケースです。
本当にGUIアプリ専用だったのか?


Flatpak・Snaps も Docker も「使う側」の視点と「作る側」の視点がある

Flatpak・Snapsはどちらかといえば「使う側」が焦点となっており
こんなパッケージを用意しましたから使ってくださいって感じだろう。
エンドユーザーがデスクトップPCで使うアプリ用

Dockerはどちらかといえば「作る側」がメインなのでアプリのインストールや実行はCLI、
そしてGUIアプリは作れなくはないがメインのターゲットではない。
主に開発用のツールや自社開発のウェブサービスを構築のためによく使われている

Dockerは「作る側」がメインなので何度も言ってるように、アプリエンジニアにこそ必要なもの。
だからパッケージ入れて(ちょっと設定して)使うだけのインフラエンジニアはVMの役割とごっちゃにしやすい

自分専用にカスタマイズしたアプリを作りたい人はDockerを選ぶのでは?
Flatpakでパッケージの作り方を調べてみたが、
Dockerfile書くだけで作れるDockerよりも大変そうに思える

なんでflatpak作ったの?の答えは、エンドユーザーのために作ったパッケージを、
もっと使いやすく提供したいためだろう。
0360login:Penguin
垢版 |
2018/08/14(火) 10:08:37.26ID:M6PcTN6D
別にコンテナの用途限定する必要は無いと思うけどなぁ。便利に使えたらそれでいいし。Dockerを○○に使うなって言うならその代替案も言って欲しいけど言わないし、仮に言えたとしてもそれはDockerで実現した方が簡単というオチになるのが目に見えてるし。
正しさとは都合。正しさを振りかざすのは自己満足を他人に押しつける行為。
0361login:Penguin
垢版 |
2018/08/14(火) 11:51:58.01ID:kAynbxnX
ドッカーのスレだから、ドッカー万歳な人がいてもおかしくないよ
0362login:Penguin
垢版 |
2018/08/14(火) 14:07:10.96ID:ghMKDHT1
>>368
> 別にコンテナの用途限定する必要は無いと思うけどなぁ。

制限なんかしてないよ?

コンテナの用途は、アプリケーションコンテナや
システムコンテナといった使い方がある。

だがここはDockerのスレなんだからDockerの話をするべきで、
Dockerはアプリケーションコンテナとして設計されてるのは事実

だからコンテナを違う用途で使いたいなら、
別のスレに行くのが適切ってだけの話
0363login:Penguin
垢版 |
2018/08/14(火) 14:12:08.48ID:ghMKDHT1
> Dockerを○○に使うなって言うならその代替案も言って欲しいけど言わないし

何に使いたいのか言わないから言いようがない

どうせシステムコンテナなんだろうが、
システムコンテナとして使いたいなら
LXD や OpenVZ を使えばいいだろ?
0366login:Penguin
垢版 |
2018/08/14(火) 14:37:27.72ID:M6PcTN6D
LXDやOpenVZなんて知らんし、もしスレたてるとすれば仮想マシンとしてDockerを使うスレにするべきでしょ?
なんでそんなにDockerを仮想マシンとして使わないように誘導するの?おかしくない?
0367login:Penguin
垢版 |
2018/08/14(火) 14:42:46.76ID:M6PcTN6D
Googleクラウドは仮想化なんか使ってなくて、物理サーバにコンテナ立ち上げてるらしいけど、あなたはGoogleがコンテナ使い方間違ってるからGoogleのインスタンス使うなって言うわけ?
0368login:Penguin
垢版 |
2018/08/14(火) 14:48:15.40ID:M6PcTN6D
Dockerの使い方を縛らないと言いつつサーバ用途には使わせないように誘導するのすごく卑怯だよね。
声がでかくて社内政治だけがうまい奴に似てて、あなたに物凄い嫌悪感を持ったよ。
0369login:Penguin
垢版 |
2018/08/14(火) 15:04:52.25ID:kAynbxnX
https://stackoverflow.com/questions/17989306/what-does-docker-add-to-lxc-tools-the-userspace-lxc-tools

> Versioning. Docker includes git-like capabilities for tracking successive versions of a container, inspecting the diff between versions, committing new versions, rolling back etc.
> The history also includes how a container was assembled and by whom, so you get full traceability from the production server all the way back to the upstream developer.
> Docker also implements incremental uploads and downloads, similar to "git pull", so new versions of a container can be transferred by only sending diffs.

サンドボックスとしてDockerを使うメリットってこれかな?
コンテナ知らん俺でも強力だとわかる
0370login:Penguin
垢版 |
2018/08/14(火) 15:14:48.58ID:kAynbxnX
お前ら暑いからってイライラするなよな…

git likeを謳ってるからDocker hubなんかもあるのな
flatpakのflathubよりは随分開発寄りな印象を受ける…サインインしてないけど

ご興味のある方はどーぞ
https://hub.docker.com/
https://flathub.org/
0371login:Penguin
垢版 |
2018/08/14(火) 18:38:55.14ID:xLHQglRN
>>366
> LXDやOpenVZなんて知らんし、

無知を告白されても、勉強したら?で終わる話なんだが
知らないほうが悪いんですよ
0372login:Penguin
垢版 |
2018/08/14(火) 18:41:22.43ID:xLHQglRN
>>366
> なんでそんなにDockerを仮想マシンとして使わないように誘導するの?おかしくない?

なんで仮想マシンの代わりとしてコンテナ技術を使うものがあるのに
仮想マシンの代わりとして使うことを想定してないDockerを無理やり使うわけ?
その方がおかしいでしょ。
どうせ間違った使い方をして、使いづらいと文句をいうのが目的なんだろう?
0373login:Penguin
垢版 |
2018/08/14(火) 18:49:48.39ID:xLHQglRN
>>367
> Googleクラウドは仮想化なんか使ってなくて、物理サーバにコンテナ立ち上げてるらしいけど、あなたはGoogleがコンテナ使い方間違ってるからGoogleのインスタンス使うなって言うわけ?

お前用語の使い方めちゃくちゃ。

> Googleクラウドは仮想化なんか使ってなくて
Googleクラウドが何を指しているのか知らないが、
GCPのことであれば、仮想マシンを使ってる。

仮想化というが、ハードウェアを仮想化(=ハードウェアエミュレータ)したのか
アプリケーションの実行環境を仮想化(=ハードウェアのエミュレートはしてない)
したのかはっきりしない

> 物理サーバにコンテナ立ち上げてるらしいけど
物理サーバにコンテナを立ち上げるのは間違った使い方ではない
物理サーバーに直接アプリケーションコンテナを立ち上げてもいいし、
物理サーバーにシステムコンテナを立ち上げても良い

間違った使い方と言ってるのは、Dockerをシステムコンテナとして使うこと
Googleがアプリケーションコンテナをシステムコンテナとして使っているなんて
どこを見ても書いてない。

参考 すでにGoogleは全部のソフトウェアをコンテナに乗せており、毎週20億個ものコンテナを起動している
https://www.publickey1.jp/blog/14/google20.html


> Googleのインスタンス使うなって言うわけ?
やっぱりその言い方をしてる所からすると
GoogleのクラウドとはGCPの事を言っているようだが、
GCPは仮想マシンを使っている
0374login:Penguin
垢版 |
2018/08/14(火) 18:53:45.18ID:xLHQglRN
>>368
> Dockerの使い方を縛らないと言いつつサーバ用途には使わせないように誘導するのすごく卑怯だよね。

あのさぁ、Dockerとコンテナは別物なんですよー?知ってますかー?小学生ですかー?

コンテナの使い方は色々あるが、
Dockerはアプリケーションコンテナを作るためのものなんだから
システムコンテナとして使うなよ。

コンテナの使い方は縛ってないが、Dockerの使い方は縛ってる
縛ってると言うか、Dockerはアプリケーションコンテナを作るために
作られたんだよ。

何度も言うが、コンテナの使い方は縛ってない。
0375login:Penguin
垢版 |
2018/08/14(火) 18:59:38.16ID:xLHQglRN
>>370
> git likeを謳ってるからDocker hubなんかもあるのな
> flatpakのflathubよりは随分開発寄りな印象を受ける…サインインしてないけど

だからDockerはアプリケーション開発者のためのものなんだよ

Docker hubに置いてるものは、公式のものはそれを利用して
独自のコンテナを作るため、アプリを開発するためな

それ以外の多くは自分や自社専用に開発したアプリ
(公開可能なもの)を置いているのが大半

そしてそのまま使えるアプリが置いてあったりするのは極稀


参考までに言っておくと非公開のDockerイメージを起きたい時は
プライベートリポジトリを使う。
GCPやAWSはDockerのプライベートリポジトリを提供している
0376login:Penguin
垢版 |
2018/08/14(火) 19:28:34.72ID:kAynbxnX
>>375
ご説明どうも
LXC/LXDと違って配布とバージョニングが肝要なのね
0377login:Penguin
垢版 |
2018/08/14(火) 20:07:26.17ID:Rn+J0ap2
>>377
シラネーヨバーカ。
お前が自分の正しさ振りかざして好き勝手なこと言ってるのがムカつくって言ってるんだよ。
絶対にお前と一緒の現場で働きたくないし、お前が上司だったら人事に文句言いまくって転職するわ。
0378login:Penguin
垢版 |
2018/08/14(火) 20:10:09.80ID:J8E8MYcP
この怒涛の連レスと変な引用がWebやプログラム板の荒らしそっくりだ
0379login:Penguin
垢版 |
2018/08/14(火) 20:35:54.31ID:xLHQglRN
> 377 名前:login:Penguin[sage] 投稿日:2018/08/14(火) 20:07:26.17 ID:Rn+J0ap2
> >>377
> シラネーヨバーカ。

俺も同意見である
0380login:Penguin
垢版 |
2018/08/15(水) 01:16:08.69ID:ugls1Kd9
Dockerを使うと次のようなことできる?

複数の各Dockerが独立してLANインターフェイスに専用のプライベートIPアドレスを持って、
ホストのルーティング設定とLANインターフェイスを利用してネット側と通信する。

<Docker>
□ □ □
| | |
==========⇒ホストのルーティングを使ってネットへ
0381login:Penguin
垢版 |
2018/08/15(水) 01:17:35.73ID:ugls1Kd9
>>380
自己レス

Dockerコンテナの間違いでした。
0382login:Penguin
垢版 |
2018/08/15(水) 13:20:10.69ID:uskt4Uvb
>>380
新しいネットワークを作成して使えるよ。これじゃだめ?
各コンテナ間のネットワークの独立性は実現できると思うけど

docker network create net1
docker network create net2

docker run -it --net=net1 debian /bin/bash
docker run -it --net=net2 debian /bin/bash
0383login:Penguin
垢版 |
2018/08/16(木) 00:43:29.60ID:kHU6PfSr
>>382
レスありがとうございます。
参考にしたいと思います。

分からないので、ちょっと書籍を読んでいきます。
0384login:Penguin
垢版 |
2018/08/17(金) 19:01:16.67ID:LyzN7uI2
dockerとちょっとしたサーバーあれば大規模ネットワーク作れそうだね
0385login:Penguin
垢版 |
2018/08/17(金) 20:33:23.06ID:x+SQYw9w
大規模ネットワークを作るならkubernetesとか使うべきだよ
0386login:Penguin
垢版 |
2018/08/18(土) 00:44:21.73ID:bBPq1AA+
>>384
大規模ネットワークは単にその手段ではないのか
0387login:Penguin
垢版 |
2018/08/18(土) 08:03:42.49ID:o1onkvNG
>>386
レガシーの為にサマータイムを導入し、打ち水を都公認の暑さ対策として導入すべく水まいて地表の温度低下を計測するも湿度や不快指数は見ないこの国で手段とか目的とか言い出すのはナンセンスですよ
0388login:Penguin
垢版 |
2018/08/18(土) 10:11:41.60ID:B/BAtWOD
国なんかに考え方決められちゃう人って・・・
0389login:Penguin
垢版 |
2018/08/18(土) 11:00:32.73ID:S06djVVH
dockerで大規模ネットワークっていったら
もう考え方から変わってサーバーという概念がなくなる。

複数のサーバーで構成された一つの巨大なOS(クラスタ)があって
そこでdockerコンテナというアプリがあちことのどこかで
起動したり消えたりするイメージになる

それを実現するのがKubernetes


ただ、理屈はそうなんだが現実として
そこまでのスペックは求められていないwww
0391login:Penguin
垢版 |
2018/08/18(土) 14:41:29.39ID:S06djVVH
念の為に行っておくと、意味がないのはKubernetesね
Dockerはクラスタにすばやくアプリをデプロイするのに使われるが
Dockerそのものはアプリケーションの仮想化による
可搬性の高さがうりなので違うOSで動かしたりとか
同OSの他のシステムの影響を最小限にできるとかいうメリットが有る
0392login:Penguin
垢版 |
2018/08/18(土) 15:46:56.84ID:bBPq1AA+
>>391
可搬性の高さのことをすっかり忘れていた。
ネットワーク単位を分けられることのメリットが自分にはおおきくて。
0393login:Penguin
垢版 |
2018/08/20(月) 12:44:26.66ID:KhDqHNJn
コンテナの台頭で仮想マシンの未来に暗雲--Diamanti調査
https://japan.zdnet.com/article/35123584/

> 最も広く採用されているコンテナ技術が「Docker」(52%)と「Kubernetes」(30%)と
>なっているのは驚くに値しない。回答者の71%は仮想マシン上でコンテナを配備しているため、
>仮想マシンが姿を消すということはないだろう。仮想マシンの存在価値はあるはずだ。
>しかし、ITリーダーらは仮想マシンのライセンスコストを抑えたいと考えている。

> 興味深いことに、コンテナに向かうこの動きは企業幹部らによって推進されているわけではない。
>同調査によると、コンテナの採用を主に推進しているのは、プラットフォームの設計者(22%)と、
>開発者(22%)だという。これらの後にはIT運用チーム(17%)と、統合DevOpsチーム(17%)が
>続いており、企業幹部はたったの9%となっている。

> コンテナは主に、クラウドネイティブなアプリケーションで使用されている(54%)。
>その後に、ステートレスな軽量アプリケーション(39%)、クラウドへの移行(32%)、
>レガシーアプリケーションの近代化(31%)が続いている。

> また、本番環境でコンテナを稼働させている回答者が考えている「最大の課題」として、
>インフラがトップに挙げられており(30%)、その後にはセキュリティ(22%)、
>配備(22%)、パフォーマンス(19%)、永続的ストレージ(12%)が続いている。
0394login:Penguin
垢版 |
2018/08/22(水) 08:59:48.33ID:j+z99P2p
>>393
>企業は仮想マシンのライセンス料金に大きな不満を抱いているという知見を得ている。
>VMwareは自社の利益を追求するうえで、同社の社名に冠された仮想マシン(VM)に依存しなくなっている。
>VMwareがこれまで軸足を置いていた市場が、競合他社のハイパーバイザの台頭によって侵食されたのは事実だが、コンテナの登場によってさらに大きな影響がもたらされている。
>回答者の71%は仮想マシン上でコンテナを配備しているため、仮想マシンが姿を消すということはないだろう。仮想マシンの存在価値はあるはずだ。しかし、ITリーダーらは仮想マシンのライセンスコストを抑えたいと考えている。

この記事のベクトルがはっきりしない。
なにがいいたいのか?
0395login:Penguin
垢版 |
2018/08/22(水) 13:19:31.20ID:pivahsct
頭の悪さが滲み出てくる記事だよな。
0396login:Penguin
垢版 |
2018/08/22(水) 13:36:22.02ID:SRjEX/kw
自分の頭が悪いだけだろw
0398login:Penguin
垢版 |
2018/08/23(木) 17:03:41.25ID:ZGFS8Yk4
試しに、公式のubuntuでコンテナを動かしてみたんだけど、

docker run -it ubuntu bash

プロンプトに、ping , ip a , ifconfig というような基本的なコマンドすら実行できない。
ネットワークの状況も確認できない。
これは、どう使うことが想定されているんでしょうか。

centosのイメージでも、pingコマンドはあったけど、ip a がないので、
ネットワークの調査ができない。

DockerコンテナからIPIPトンネルを構築したいと考えていたんですが、
とりあえずラズパイ並みにつかえるようにするにはどうすればいいでしょうか。
0399login:Penguin
垢版 |
2018/08/23(木) 17:48:33.28ID:q1z8N/B0
>>398
だからさ、Dockerは仮想マシンじゃないって
その中に入って色々作業するものじゃないんだよ

Dockerはアプリケーションコンテナなんだから、
そんなコマンドは必要な場合に入れれば良いんだよ
(必要になることは殆ど無い)
0400login:Penguin
垢版 |
2018/08/23(木) 17:49:50.48ID:q1z8N/B0
いつになるかわからんが次スレまで行ったら
テンプレにしっかり書いてなきゃいかんな
0402login:Penguin
垢版 |
2018/08/23(木) 18:41:12.97ID:ZGFS8Yk4
>>399
>>401
レスありがとうございます。
Dockerfileを見てみると、

ADD ubuntu-bionic-core-cloudimg-amd64-root.tar.gz /

だけがコンテンツみたいに思えます。
一応、ubuntuって書いてありますね。

イメージに、centosとか、ubuntuとか、ありますが、
centos7などとはまったくの別物なんですね。


せめてラズパイみたいに使えるイメージがあればいいんですけど。
実験でホストを汚したくないので。

apt-getとか、yumがつかえるようなやつ。
Docker Hubでなにかオススメあるでしょうか。

環境ができたら、今度はそれを自分用としてイメージ化したい。
0403login:Penguin
垢版 |
2018/08/23(木) 18:43:04.38ID:q1z8N/B0
>>402
> せめてラズパイみたいに使えるイメージがあればいいんですけど。
だからそういう使い方をするものじゃないから
希望するのが見つからいように思えるんだって
0404login:Penguin
垢版 |
2018/08/23(木) 18:52:04.65ID:7FvXZ15y
>>402
Hyper-VでもKVMでもVirtualBoxでも好きなのを選べばいいぞ
0405login:Penguin
垢版 |
2018/08/23(木) 18:52:37.87ID:AO6wJAqi
みた感じ、仮想マシン派もDocker派も両方ディスる猛者現るって感じだな
0406login:Penguin
垢版 |
2018/08/23(木) 18:55:26.07ID:q1z8N/B0
> せめてラズパイみたいに使えるイメージがあればいいんですけど。
お前が欲しいと思うようなものはない。イメージは原則として自分で作るものだから。
使うイメージはDockerが用意したdebianやubuntuなどの
最低限のイメージのみ。それを元にして自分で作る

> 実験でホストを汚したくないので。
Dockerはそういうものの代わりとして設計されてないので
すぐにお前の実験はできなくなると言っておく。
それはDockerに問題があるのではなく、お前の使い方が間違っている
0407login:Penguin
垢版 |
2018/08/23(木) 18:58:58.10ID:q1z8N/B0
ラズパイと同じ環境がほしいなら、
仮想マシンでRaspberry Pi Desktop X86でも使えばいいだろ

Dockerはアプリケーションに実行環境を一体化させるものだって
なんど言っても理解しないやつが湧いてくる
0408login:Penguin
垢版 |
2018/08/23(木) 19:10:58.17ID:ZGFS8Yk4
すみませんでした。
自分でもっと勉強します。
0409login:Penguin
垢版 |
2018/08/23(木) 20:06:23.78ID:NhXd7pKF
Dockerて、OSやアプリの仮想イメージファイルをコマンドで組み合わせ
メモリ上でつなぎ合わせて一つの仮想ディストリビューションをブートしたように
見せかけるソフトって理解でよい?
0411login:Penguin
垢版 |
2018/08/23(木) 20:47:22.20ID:AO6wJAqi
使ったこともないのに適当な事書くと常駐のスレ主に怒られちゃうからな
ちょっと調べた感じ、initなしでも動くそうだがゾンビプロセス問題とかめんどくさそうでマニアの領域
initから開始したらそれはそれで、それLXC(LXD)やん!って印象
0412login:Penguin
垢版 |
2018/08/23(木) 21:22:51.21ID:jewCS8ED
>>409
WindowsのDLLヘル対策の超強化版って考えればいい。
知らん人は知らんかもしれんがw

Windowsでアプリを起動する時、外部DLLを使用していることが多々ある
そうすると、外部DLLのバージョンが変わって互換性がなくなった時、
アプリが動かなくなる可能性がある。

だからアプリのディレクトリに外部DLLを入れてシステムのDLLを
使用しないようにしましょうっていうのがWindowsのDLL対策

Dockerもコレと同じでアプリを起動する時、OSのライブラリなんかを使用してる
そういうのを先にインストールしたりしていなければいけないが

アプリのDockerイメージの中に一切合切入れてしまいましょうっていうのがDockerの考え方
0413login:Penguin
垢版 |
2018/08/23(木) 22:53:16.60ID:Rl2wmT+c
視野狭窄の輩がバージョンドシンボルの話と混同しそうな予感
0414login:Penguin
垢版 |
2018/08/23(木) 23:04:39.22ID:YJtvG1Lc
Kubernatesの日本での呼び方って決まってるの?
会うひとみんな違う言い方するし
YouTubeで外国語聴いてもみんな結構違う
0416login:Penguin
垢版 |
2018/08/23(木) 23:42:56.02ID:YJtvG1Lc
>>415
誘導ありがとうございます。
向こうに書きました
0417login:Penguin
垢版 |
2018/08/24(金) 00:06:45.21ID:wl1baohm
jewCS8ED が、あっちで、くうねるさんだーす と書き込みました。
0418login:Penguin
垢版 |
2018/08/31(金) 09:43:02.97ID:UOMp0l5m
dock-composeで
全く同じ内容のDockerfileで
追加するファイルの中身だけ異なるイメージを2つビルドしたら
後でビルドした方はキャッシュの影響で先にビルドしたイメージと全く同じ内容になってしまう

イメージに名前付いてないけど
名前付けたら良いのか?
0419login:Penguin
垢版 |
2018/09/03(月) 19:27:51.75ID:lFOQrHc5
>>418
名前変えずにbuildしたらキャッシュじゃなくてすでにimageに入ってるんで
作成されたイメージ一回rmiしないとダメなような
0421login:Penguin
垢版 |
2018/09/09(日) 06:08:55.90ID:cEYtNNsu
>>389
それ、地震対策になるよね。
物理サーバーをまったく意識しない、
まるで半永久的なベースシステムがあれば、
コンテナをぜひ動かしたい。
0422login:Penguin
垢版 |
2018/09/09(日) 09:40:19.57ID:ZTk8dQJu
それだけではならないですよ
0423login:Penguin
垢版 |
2018/09/09(日) 10:55:56.07ID:e5pDDvY7
そのうちクラウドサービスがコンテナクラスタを用意して
コンテナ毎の課金とかになるんだろうな
0424login:Penguin
垢版 |
2018/09/09(日) 11:12:04.98ID:ZTk8dQJu
そのうちもクソもコンテナのクラウドホスティングサービスは既にあるじゃん
0425login:Penguin
垢版 |
2018/09/09(日) 19:24:56.20ID:Afzp+wKU
大手クラウドはGKE, AKS, EKSと揃い踏みなんだよなぁ
0426login:Penguin
垢版 |
2018/09/13(木) 18:00:19.97ID:A2WBsHxK
ubuntu18.04のホスト上で docker17.06.2-ceで動作検証してるんですけど、
質問させてください。

docker-compose.ymlで
volumes:
- /etc/localtime:/etc/localtime:ro
- /usr/local/etc/docker/my.cnf:/etc/my.cnf:ro
- /usr/local/etc/docker/my.cnf.d/:/etc/my.cnf.d:ro
こんな感じにしてbuildやpullを済ませ up -d した時に、

ERROR: for (コンテナ名) Cannot start service (サービス名): error while creating mount source path '/usr/local/etc/docker/my.cnf': mkdir /usr/local/etc/docker: read-only file system

こういうエラーが出ます。
root@docker:~# ls /usr/local/etc/docker/
my.cnf my.cnf.d

この通りマウント元は存在するんですが、
どこ確認したら良いでしょうか…?
0427login:Penguin
垢版 |
2018/09/13(木) 19:39:40.56ID:5kXiEAIj
ファイルをマウントしようとしているように見えるんだが、そこはディレクトリでないといかんのではないかと

あと何故2017年06月版を使おうとしているのだろう
0428login:Penguin
垢版 |
2018/09/14(金) 09:15:35.43ID:O0WiB81l
>>427
あ、変に端折ってしまいましたが、
/usr/local/etc/docker/my.cnf.d/(ディレクトリ)も
全く同じエラーでマウントできていない状態です。

docker-ceが1703なのはsnappy版だからで、
ubuntu1804のOSインストーラーでdocker関連を選んだらそうなったから、です。
別にsnappyが使いたいわけでもない(というかsnappyとか今回初めて知った)ので、
明らかな設定ミスとかが見つからなければ、docke-ceを上げてみるのも手ってことですね。
0429427
垢版 |
2018/09/14(金) 18:06:45.51ID:4XP848iF
- /usr/local/etc/docker/my.cnf.d/:/etc/my.cnf.d:ro

ホスト側ディレクトリ指定の末尾にスラッシュ付いてるけど、Dockerの公式ドキュメント(http://docs.docker.jp/compose/compose-file.html#volumes-volume-driver)だとそういう書き方してる例ないぞ

とりあえずシンプルに
- /usr/local/etc/docker
とだけ書いてマウントできるかどうか確認してから少しずつ設定詰めてみ

あとバージョン気にしたのは単に「セキュリティだの個人情報保護だのが騒がれるこのご時世に1年以上前のバージョンを使わざるを得ない事情でもあるのかなぁ」って思っただけよん
0430login:Penguin
垢版 |
2018/09/15(土) 07:01:30.83ID:yI+cCQi1
最新を追いかけてバグにハマる例は後を絶たない
0431login:Penguin
垢版 |
2018/09/24(月) 01:08:42.35ID:3WJGu+tF
docker stop container
してから、commit するのはなぜ?
0432login:Penguin
垢版 |
2018/09/24(月) 04:53:27.83ID:h/F6DQep
「docker commit」で検索!
0433427
垢版 |
2018/09/25(火) 15:20:50.57ID:zdGJMagM
ファイルを指定しちゃダメだというのと
ホスト側ディレクトリの最期にスラッシュ付けちゃダメだというのはご指摘通りでした。
それらを避ければうまくいく場合もあるんですが、うまくいかない場合もあり
動作ロジックがわかっていないため切り分けられずにいます。

volumes:
- /usr/local/opt/docker:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro

上段はマウントできず、下段はマウントできます。
いずれもホスト側はroot:rootの所有で、全ユーザー読み書き可です。

Cannot start service db_001: error while creating mount source path '/usr/local/opt/docker': mkdir /usr/local/opt: read-only file system

なぜ、/usr/local/opt/dockerディレクトリが存在するのに
わざわざ/usr/local/optをmkdirしようとして失敗してるんでしょうか?
そのあたりの仕組みが理解できれば、解決できそうな気もするんですが…
0434426=433
垢版 |
2018/10/02(火) 11:05:27.29ID:MTSGNvvZ
snapのsandboxが原因でした。
snapアプリケーションはスマホアプリみたいなもんで、
ホスト側ディレクトリの参照権限も大幅に制限されるということのようです。
/var/snap/docker配下なら如何様にもマウント可能でした。
お騒がせしました。
(433で名前間違えました。失礼しました)
0435login:Penguin
垢版 |
2018/10/02(火) 12:26:31.40ID:ngnCMsef
>>434
おお、解決してよかった
ホストOSの挙動が独特だとトラブルシューティングも難しいね
0436login:Penguin
垢版 |
2018/10/02(火) 14:05:12.80ID:jMGWfJIN
あー、そうだったのか。挙動的に誰かが制限かけてる感じだったから
selinuxかな?とは思ったんだが、言っていたらヒントになってたかもな
0437login:Penguin
垢版 |
2018/10/05(金) 17:28:47.41ID:uwcVKd6M
先に要点を書くと、コンテナにスタティックルートを書く正攻法を知りたいです。

・外部からOpenVPNコンテナ(コンテナA)でVPN接続を受ける
・外部のOpenVPNクライアントと、Dockerの別コンテナ(コンテナB)間で通信する

これがネットワーク構成的に実現できずにいます。

docker network createでbridgeネットワークを作り、
コンテナA,Bには docker run --ip=で固定IPを振っています。

ネットワーク構成で言えば、コンテナAをゲートウェイとすれば良いので
「OpenVPNネットワークへのゲートウェイをコンテナAとする」ルーティングを
コンテナBに書ければ解決する話なんですが、それがどうやっても書けません。

Dockerhubから拾ってきたコンテナBにはrouteコマンドすらないため、
DockerfileでrouteコマンドをRUNすることもできない。

docker network create で--gateway のIPをコンテナAにすればいいのかと思いきや、
試したんですが、どうも--gatewayのIPは即Dockerホストに振られてしまうようで、
コンテナAにそのIPを振ろうとすると「IPが被ってる」エラーになる。

もちろんホスト側にルーティングを書けば解決するんですが、
できればホストはいじらずdocker側だけで解決したいなぁと。

何かご存じの方、教えてください。
0438login:Penguin
垢版 |
2018/10/08(月) 17:27:52.77ID:+G8YrS7/
docker使わずに仮装マシン使え案件な気がするが
0439login:Penguin
垢版 |
2018/10/08(月) 18:31:01.90ID:dcwIe0qQ
うん。そう。毎回言ってるんだけどね。
Dockerを仮想マシンの代わりとして使うなと
Dockerコンテナは仮想アプリであって仮想マシンじゃない
0440437
垢版 |
2018/10/09(火) 09:49:23.16ID:a4is0HOD
>>438-439
確かにdocker触り始めたばっかりなので
使い方とか概念理解がちょっと間違ってるのかもしれないですが、
逆に言うとこういう使い方が適切じゃない理由って何でしょう…?

OpenVPNをコンテナ化できれば(そして各コンテナにルーティングが書ければ)
Dockerfileだけ書いとけばVM同様可搬性も高くていいな、程度なんですが。
0441login:Penguin
垢版 |
2018/10/09(火) 11:37:32.24ID:UEbDWUsW
>>440
Dockerが仮想マシンの代わりとして設計してないから
だから「これがあれば仮想マシンとして使えるのに」と
思うような機能は意図的に搭載しないので
仮想マシンとしては使いにくいんですよ

なんでもかんでも機能搭載して複雑にしていくのは
アホな日本人ぐらいなもん
0442437
垢版 |
2018/10/09(火) 11:45:22.31ID:a4is0HOD
ルーティングを書く機能がともかく存在しないってことですね。
コンテナに好きなIPも振れるしゲートウェイも設定できるけど、
スタティックルートだけはあえて書かせないようにしている、と。

>>441
今回の例で言うと、OpenVPNはコンテナじゃなくてVMでやるべきって話ですよね?
設計云々はともかく実際なんで良くないんですか?
0443login:Penguin
垢版 |
2018/10/09(火) 12:56:46.60ID:J/UkStG7
>>437
コンテナにrouteコマンド入れればいいじゃん
なぜよくわかってない拾いもので特殊なことをしようとするのか
■ このスレッドは過去ログ倉庫に格納されています

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