探検


Docker Part2©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/09/28(木) 14:00:45.18ID:/4TtIqGt
LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。

http://www.docker.io/

前スレ
Docker
http://mao.2ch.net/test/read.cgi/linux/1374861492/
2018/04/23(月) 03:34:29.66ID:VkOu3656
この手の質問って動作環境が横断的だからdockerスレと言語スレ側でたらい回しにされちゃうんだよな
かと言ってマルチポストはできないし悩ましいところ

エラーメッセージやアドバイス貰ったキーワードをダブルクオートで括ったフレーズ検索も駆使して乗り越えるのだ
今こそ成長の時
2018/04/23(月) 06:37:04.24ID:qKqt8dYQ
>>156
tensorflowのバージョンはどうした?numpyのバージョンはどうした?
バージョンがあってないと言われてるんだからtensorflowのバージョンを1.4とか1.3とかに下げてみて試してみたらいいんじゃないでしょうか。

RUN pip install tensorflow==1.5
161login:Penguin
垢版 |
2018/04/23(月) 10:45:26.96ID:gJ+bJQJv
>>160
ありがとうございます!
tensorflowのバージョンを1.3にすることで、エラーも出ず正常にインストールできました。
1.4や1.6では、エラーが出てしまい駄目でした。

皆さん、私の力不足でお手数をおかけいたしました。
本当にありがとうございました。
162login:Penguin
垢版 |
2018/05/22(火) 07:23:12.42ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

EAAD8
2018/05/22(火) 11:47:01.72ID:NlhYPEMm
EAAD8
2018/05/27(日) 18:22:16.75ID:8ka68JJO
ディープラーニング ライブラリの管理で混乱しないようにとdockerを導入したけど
今はdockerで混乱してる
開発環境はどうやって整えるんだ、これ
コンテナの外と中は完全に分かれているのかよ
今あるエディタやアナコンダを呼べないぞ
コンテナを作る時に全部詰め込まきゃダメなのか?
NGCをつかっているけど
165login:Penguin
垢版 |
2018/05/28(月) 20:34:50.01ID:G/OxqctX
>>164
はいはい、いつもの仮想マシンの使い方とごっちゃにしてる人ね(笑)

Dockerは環境を作るものじゃなくて、
アプリケーションを作るものです。

ディープラーニングの何をしたいのか知らないけど
コマンドを実行するだろ?
そのコマンドを実行するのにライブラリとか必要だろ?

そのコマンドにライブラリなんか全部くっつけて
一つのDockerコンテナ=アプリケーションを作るものです。
2018/05/28(月) 21:14:26.05ID:5P04jZKi
>>165
いや、知らんよ
俺は開発元が進めてきたものを使うだけ
167login:Penguin
垢版 |
2018/05/28(月) 21:25:11.53ID:5P04jZKi
アプリケーションなら
任意の識別器や分類器を定義しデータを読み込んで学習するアプリケーションが欲しいわ

しかし、環境の切り分けのためじゃないならなんで開発元はdockerを配布しているんだろうね
それも競合を心配する必要ないですよってアピールしながね
2018/05/28(月) 21:47:04.72ID:G/OxqctX
> アプリケーションなら
> 任意の識別器や分類器を定義しデータを読み込んで学習するアプリケーションが欲しいわ

それを作るのがDockerを使うお前なんだって
169login:Penguin
垢版 |
2018/05/28(月) 22:02:15.83ID:5P04jZKi
>>168
それを玄人様たちはどうしているのかってこっちは聞いているだが...
2018/05/28(月) 22:13:34.15ID:G/OxqctX
普通にコマンド実行に必要なものを
まとめてコンテナにしてるだけだが?
2018/06/03(日) 15:52:37.21ID:4t3nAm6u
sage
2018/06/24(日) 08:47:17.87ID:TokMwylE
pullしたubuntuイメージにvimが入っていないんだけど・・・
aptコマンドもないんだけど・・・
docker search ubuntuで出てくるうち全部入りのイメージってどれ?
2018/06/24(日) 22:35:20.55ID:anZc79Me
dockerってコンテナが動いてる途中でdocker終わらせたらコンテナ内に保存してたファイルはなくなるの?
2018/06/25(月) 05:44:34.47ID:Uuelo8Ok
>>173
コンテナ起動時にストレージ領域を紐づけてなかったら終了時に綺麗さっぱり消えるようだ
2018/06/25(月) 09:42:17.00ID:+pzgGIIi
>>173
正確にはコンテナを削除すると無くなる
停止しただけでは無くならない
ゆえに削除するまではdocker logsでログも見れるし
docker commitでイメージ化すれば
docker runで中身を見れる

https://stackoverflow.com/a/39329138
2018/06/25(月) 09:49:22.67ID:+pzgGIIi
>>172
欲しけりゃ自分のDockerfileに入れるか
全部のコンテナでそれやるのがアレってなら
新しくvimコンテナ作って編集したいファイルだけマウントするか
ホストのファイルをマウントして
ホスト側でvimで編集すれば良い

てか開発環境だよな
本番環境でそれやったら
ちゃんと動く環境を保存出来るっていうDockerの魅力を殺している
場合によっては仕方ない事もあるが
2018/07/01(日) 03:55:45.96ID:+w2giTsy
>>172
> pullしたubuntuイメージにvimが入っていないんだけど・・・
Dockerの使い方を間違ってる。

あんたが言ってるのは、pullしてきたffmpegコマンドの中に
vimが埋め込まれてないんだけどって言ってるようなもの
Dockerコンテナ = 実行ファイル

ffmpegの処理にvimなんていらないんだから入っていなくて
当たり前だし入れるべきではない

だがaptコマンドは普通入ってるはずだけどな

>>172
> dockerってコンテナが動いてる途中でdocker終わらせたらコンテナ内に保存してたファイルはなくなるの?
ffmpegコマンドの中で内部的に使用しているファイルはコンテナ削除とともに消える。
Dockerコンテナの中のファイルはメモリと考えればいい。
コマンドを終了するとメモリも解放される

(Dockerコンテナ版の)ffmpegコマンドから書き出したいなら、
ボリュームでコマンド(コンテナ)外部への読み書き場所を指定する
2018/07/01(日) 09:04:34.19ID:EBIMlKr7
>>177
アドバイスありがとう
ということは、dockerで起動したOS内でvimが使いたければ
vimのコンテナを探してきて追加起動しろってこと?
どこのサイトにどんな名前でvimのコンテナがあるのか調べるみたいなことを
アプリごとにやってたら、環境を作るまでどれだけの手間と時間がかかることやら
このソフトの何が持てはやされているのか全く理解できない
2018/07/01(日) 09:21:20.95ID:+w2giTsy
>>178
だから使い方が間違ってる。
全く理解できないのは、あんたが正しい使い方がわかってないからだよ

そもそもDockerコンテナは使うものじゃない。作るものだ。
アプリのビルド・コンパイルと一緒だよ
もちろん誰かが作ったものがそのまま使えるのなら
使っていいんだが、基本はアプリの開発者が作るもの

vimとかそういうのは、どうせあんたUbuntuとか有名所の
ディストリ使ってるんだろ?そういうのはパッケージメンテナが
ちゃんと動くようにメンテしてくれてる。それで満足してるならそれ使えばいい。

Dockerの出番はそれで満足できない場合だよ。
vimにそういうのがあるのかしれないが、独自にビルドしないと使えない機能を使いたいときや
例えばvimの新しいバージョンを使いたい時。ビルドするためにライブラリも新しくしなければいけない
でもOSのライブラリを新しくすると、他のプログラムに影響が出るかもしれない

そういうときにvimのビルドとそれを動かす環境までも一体化させて、独自のvimを作る
ってときに使うんだよ。実行環境まで含まれてるから、OS標準のライブラリなどを
置き換えたりもしないし、どこに持っていってもそのまま使える
オレオレvimバイナリ(=Dockerコンテナ)の出来上がりってわけだ

で、そんなもん普通はやらねーだろ? だからアプリの開発者が作るものだって言ったわけだ。
vimなどのパッケージはパッケージのメンテナが頑張って動くようにしてくれてる
だけど、自分で作ったアプリは、自分が頑張るしかないだろ? でも頑張りたくもない
いろんなディストリや、WindowsやMacでも動くようになんかするの大変じゃないか
だからDockerコンテナ化することで、Dockerデーモンさえ動いていれば、
どこに持っていっても同じように動かせるってわけさ
一言で言えば可搬性だな
2018/07/01(日) 09:23:55.84ID:+w2giTsy
>>178
> ということは、dockerで起動したOS内でvimが使いたければ

それから通常はdockerで起動したOSの中に乗り込んでvim実行して
ファイル修正とかしないからな

独自のDockerイメージを作るときに、デバッグ目的にやることはあるけど
「dockerで起動したOS」なんて考え方を持ってはいけない

なぜなら、何らかのプログラムに実行環境をくっつけただけで、
作られるものは、実行環境付きのなんらかのプログラムなんだから
そこにOSなんてものはないと思え
2018/07/02(月) 19:23:28.69ID:1jLd0V1g
今日から新しいプロジェクトでmac上でDOCKERを使う事になったんですが

最初の社内のチュートリアルに従ってHOMEBREWからインストールして起動したところ
新しいバージョンがありますって言われたので
アップデート&ReLunchをしたらそのまま反応がなく
アプリからダブルクリックしても起動しなくなりました

MAC使うのもバージョン管理ツール使うのも初めてだらけで
くだらない質問で申し訳ないんですが
考えられる解決方法はありませんでしょうか
2018/07/02(月) 20:07:43.00ID:Eg1cEgm9
社内の人に聞け
2018/07/02(月) 20:45:02.37ID:Y1QFiQ2T
普段サーバーサイドJavaとかPHP JSでウェブアプリかいてて
mac の Ruby on Rails のサーバーサイドの案件が修羅場でヘルプはいったんだけど
分かってる人はみんな忙しくて質問なげてもなかなかかえってこないんですよね

でもこんな情報じゃわかるわけないですよね…
明日また社内できいてみます
すいませんでした…
2018/07/03(火) 00:50:17.25ID:1PLz+sRr
>>181
dockerは公式サイトのやり方でインストールしたほうがいいんじゃね?
2018/07/03(火) 00:52:28.72ID:1PLz+sRr
社内のチュートリアルが何年前に書かれたかだな
Docker Toolbox使ってたら古いやり方だな
まあ社内全員やり方が決まってるなら仕方ないが
2018/07/03(火) 02:50:11.95ID:88JNN2bg
支給されたmac PCが他の人も使うみたいで
別の人がインストールしたhomebrewが/usr/localにはいってて
権限が変更できないくてホーム以下にインストールしたんだけどそのせいなのかなと…

1日がかりでbrew rbenv dockerの3ついれただけなんだけど
どれが原因なのかがぜんぜん分からない…
マックはじめてで最初の1,2時間は日本語変換や窓の最小化やコピペもわからないレベルで作業効率も悪いし

Javaからruby覚えるのはすぐできると思ったけど
OSが違ったりフレームワークの環境構築がこんな大変だと思わなかった
2018/07/03(火) 05:53:39.58ID:0N07jwhz
もうmac板で質問したほうがいいのでは
2018/07/03(火) 06:10:23.01ID:1PLz+sRr
>>186
なんの苦労もなくhomebrewを使いたいなら
Macを他に人に使わせるな。そしてクリーンインストールして
自分ひとりのものとして使え

homebrewはインストールしたユーザー以外がまともに使うことは無理
homebrew自体はsudo使ってインストールするくせに(/usr/localに書き込むから)
パッケージ自体は/usr/local以下に一般ユーザーでインストールするからな
ディレクトリはこんな感じになる

https://github.com/Homebrew/brew/issues/3322#issuecomment-336770069
> -rw-r--r-- 1 weicool admin 3161 Jan 18 2016 /usr/local/CODEOFCONDUCT.md
> drwxr-xr-x 18 weicool admin 576 Oct 8 13:58 /usr/local/Cellar/
> drwxr-xr-x 2 weicool wheel 64 Oct 15 10:57 /usr/local/Frameworks/
> -rw-r--r-- 1 weicool admin 1241 Jan 18 2016 /usr/local/LICENSE.txt

見ての通り、adminグループに書き込み権限がないから、
最初にパッケージをインストールした人以外がいじることはできない。
brew管理用のユーザーを別で作成するとかumaskの設定をいじってたりとか
ちゃんとやってればマルチユーザーで使えるかもしれんがな

homebrewの設計自体はsudoを使わない方針なんだが
https://docs.brew.sh/FAQ#why-does-homebrew-say-sudo-is-bad
じゃあ共有のディレクトリ/usr/localを使うなと
2018/07/03(火) 06:28:04.40ID:88JNN2bg
そうなんですね
クリーンインストールしていいかお願いしてみます
検索するとわりとホーム以下にインストールする方法とかでてきたのでいけるかと思ったんですけど

コーディングスキルかわれて入ったのに初日から環境構築だけでつぶされてストレス
なまじできると思われてるからしょーもない質問もしにくいし

もともと大学院研究室あがりでスクラッチからかくのが好きな
ブラックボックスなツール使うの気持ち悪い
古い人間だから昨今のフレームワークだらけの業界きついなあ…
2018/07/03(火) 06:35:07.67ID:HvrBhqqa
頭でっかちの使えないやつか現場も大変だな
2018/07/03(火) 06:54:24.03ID:B87Zf6Sc
macやhomebrewがはじめてなのはともかく、バージョン管理ツールはじめてはないわ
それでひとりで環境構築しろってほったらかしなのも普通はありえんと思うけど
仕事ほしくて経験ないのに経験ありとか嘘かいたんじゃねーの
2018/07/03(火) 07:12:51.42ID:ArJzlEvp
最後にききたいんですけど /usr/local じゃなく
~〜/homeblew に homeblew をいれたんですが
この blew から Docker をインストールした場合実態はどこにあるんでしょうか

チュートリアルにアプリケーションからdockerを起動とあるんですけど
/Application/Docker.app を起動したときにもっと新しいのがありますっていわれて
更新かけたらそれっきりだったので
これが前の人がインストールしたやつだったのかな…

コマンドラインの docker はホーム以下のパスになってたんですけど
アプリケーションからじゃなくコマンドラインからDockerのGUIアプリ起動する方法ってありますか?
2018/07/03(火) 11:19:37.64ID:oYvmZw+l
解決しました

初回起動時に窓が出たのでずっと窓を探してたんですけど
右上のクジラマークからアクセスするんですね…
おさわがせしました
2018/07/03(火) 13:54:24.15ID:oYvmZw+l
何度もすいません

docker-compose up -d

で ERROR: manifest for xxx/yyy:2018zzzz not found が出るんですがどこを見ればいいのでしょうか

一応同じディレクトリに docker-compose.yml はあって
yyy:
image: xxx/yyy:2018zzzz
と書かれています
2018/07/03(火) 14:20:45.35ID:1PLz+sRr
>>194
普通はそうならないので環境の問題です
OSをクリーンインストールしてください
2018/07/04(水) 02:14:06.32ID:COxRspz9
rubyは導入ハードル高すぎ
よっぽど複雑なプロジェクトでもなけりゃこんな開発環境作ってるあ労力で案件終わるわ
2018/07/04(水) 06:04:14.37ID:WJvTzUXE
利用プロジェクトの多くが低品質だったせいでいわゆるアタリショックみたいな扱い受けてるよな
負の遺産だとかRuby巻き返しの目は潰えてるとまで言われてるし・・・Javaみたいにはならんで欲しいマジで
2018/07/07(土) 17:30:55.41ID:fg0oR1Sy
散々Perlディスっといてこれだもんなm9(^Д^)プギャー
2018/07/07(土) 21:06:35.47ID:1D6mHUpx
やめて…perlは6を引き伸ばし杉た件のせいで世間との剥離からユーザー離れが尋常じゃなく
引き合いに出されると最底辺の戦いじみて嘲笑の的です…
2018/07/07(土) 21:59:02.61ID:fg0oR1Sy
イシキダケタカイケイ
2018/07/09(月) 12:21:03.01ID:4SJdzKl6
WSL上でDocker Engineが動くようになっていたっぽいという話
https://qiita.com/yanoshi/items/dcecbf117d9cbd14af87
2018/07/09(月) 12:48:52.62ID:qh/Cnej+
マジかよDockerForWindows消してくる
2018/07/09(月) 13:31:43.43ID:pfSJA2ey
もしかしてHyperV無しのHome版WSLでも動くようになってるのか
2018/07/10(火) 17:37:18.97ID:hi/Ud89A
パブリッククラウドやDocker Hubに最適化した「Minimal Ubuntu」がリリース 2018/07/10 12:06:20
https://news.mynavi.jp/article/20180710-662006/

 Canonicalは2018年7月9日(米国時間)、パブリッククラウドおよびDocker Hubに最適したLinux
ディストリビューション「Minimal Ubuntu」をリリースしたことを明らかにした。
AWS(Amazon Web Services)およびGCP(Google Cloud Platform)を推奨パブリッククラウドとし、
イメージファイルはWeb上からダウンロードできる。
2018/07/10(火) 18:37:07.13ID:TEPxwuu8
ええやん
alpine使いにくいし乗り換えようかな
2018/07/11(水) 00:29:12.16ID:dU5xb19g
minidebのUbuntu版みたいなヤツか
2018/07/11(水) 13:45:07.36ID:Za+YUtMW
ええやん、なんぼなん
2018/07/12(木) 01:08:55.93ID:Spx3HNht
展開後のサイズは約80MB前後でminidebのようなコンテナ特化支援コマンドはさすがに無いっぽいな

Ubuntu版の公式slimとしてapt系で最新パッケージ使いたいなら(Debianのslimじゃなくて)こっちでねって感じか
野良イメージじゃない公式スリムに選択肢が増えるのは嬉しい
2018/07/12(木) 07:54:44.88ID:2fRy1rm8
debianよりも少ないの?
2018/07/12(木) 08:05:41.95ID:uhTdlutY
alpineで慣れちゃった。
2018/07/13(金) 09:30:31.30ID:PFiL2FSs
debian:stretch-slimは55MB
(bitnami/minideb:stretchは54MB)

ubuntu:bionicは81MBで去年から変わってないみたいだけど今回発表されたやつは何なんだいったい…
元記事タイトルにDocker Hubとあるが実は関係なくてアマとかGCPで使うimgファイルが小さくなりますたってことか
2018/07/15(日) 20:58:09.55ID:9hWJVlJh
ミニマルすぎると一個ゲットした途端大量に依存がやって来る悪寒しかない
2018/07/15(日) 21:53:50.81ID:rnlXfHys
ミニマムすき
2018/07/15(日) 22:11:32.38ID:Xmkkcspf
エセロリやん
2018/07/19(木) 17:07:15.56ID:4Cjfx+r5
「OpenNebula 5.6」公開、Dockerサポートの強化などが加わる 2018年7月18日15:00 末岡洋子
https://mag.osdn.jp/18/07/18/150000

 クラウドインフラストラクチャ構築・管理プラットフォーム「OpenNebula」の開発チームは7月16日、
最新安定版となる「OpenNebula 5.6」(Blue Flash)を公開した。

 Docker管理機能を新たに統合、任意のOpenNebulaクラウドで、Dockerアプリケーション実装の
土台となるDockerエンジンの仮想マシンをMarketplaceよりインポートできるようになった。また、
OpenNebula APIやインターフェイスを経由することなくDockerエンジンをシームレスに管理する
Docker Machineも統合した。
2018/07/27(金) 03:51:52.83ID:6DSLURTJ
訳あってソースコードからビルドしないといけない物があるんだけど、
ビルドに必要なパッケージをインストールしたくない。

だからDockerでビルドして、インストール先はDockerの外って
やりたいんだけど、そういう使い方のノウハウって
どこかにまとまってないかなぁ?

ソースコードのディレクトリをボリュームにして
make installだけDockerの外でやるのが一番かなぁ?
2018/07/27(金) 04:48:47.30ID:1joj4I21
そういうときはmake install先のディレクトリだけ -v でマウントしとくパターンが簡単で良いね

例えば ./configure --prefix=/usr/local で入れるやつはインスコ先になる/usr/localを
docker runのときに -v "/usr/local:/usr/local" って指定する

コンテナでmake installまでやれるしホストもソースやビルドツールで汚れないから安心
docker公式マニュアルのどっかに書いてあった気がしたが見当たらなくなってた
2018/07/27(金) 07:25:43.45ID:7fogAuN8
詳しい解説サンクス
2018/07/28(土) 15:41:09.29ID:0ikx9NUA
>>217
もう少しアイデアを発展させてみた。
このアイデアをどうするかは任せる

make install、前々からの問題。何処に何がインストールされるかわからない。
基本的には--prefixで指定した所だろうけれど、確実にそうとは言い切れない

make uninstall、これも前々からの問題。uninstallをサポートしているものが少ない
インストールした後消すのが大変

docker、make installでインストールされるファイルは多分レイヤーの差分を見ればわかる
インストールされるファイルがわかるのだから、それを消せばアンインストールになる
インストールするファイルも残っているのだから、ファイル内容を比較することで
アンインストール時に想定外のファイルを削除しなくてすむかもしれない
2018/07/28(土) 16:06:06.83ID:PwMG08J6
今はMulti-stage buildが公式実装されて>>219のアイデアを綺麗に実現できるようになったね!
ビルドコンテナのmake install結果をホスト経由せずに実行用コンテナに簡単に乗せられる

ビルドコンテナも実行用コンテナも使い終わればコンテナごとすべて消せるから
--prefix完全無視の無作法野良ツールにホストのファイルが上書きされることもないし
make uninstall非対応でもコンテナ消せば良いだけだからゴミが残ったりもしない
2018/07/28(土) 19:21:25.29ID:fgC/Ah69
>>220
> make uninstall非対応でもコンテナ消せば良いだけだからゴミが残ったりもしない
なんかちょっと違うw

インストール先はコンテナの外よ。だからコンテナ消せば良いだけってことにはならない。

どんなものでもコンテナ化して使えるかっていうと、例えば(独自ビルドの)gitコマンドを
コンテナに入れて使うのは大変だと思う。カレントディレクトリを見るし、
サブコマンド次第ではカレント以外のディレクトリも見るしね

インストールするファイルを知ることができるから、コンテナでビルドして生成したものを
コンテナの外にインストールしてアンインストールもしやすくなるだろうと言う話
2018/07/29(日) 00:30:39.68ID:wo8fIaJv
最初のうちはエディタとかgitとかはどうしても大変に思えてホストに直接置きたくなるんだよな
俺もコンテナ上のgitからホストのカレントディレクトリを見る方法がわからんというごく最初の段階でつまずいた

絶対パス指定ならツールで使う主要ディレクトリを-vに指定しとけば大半普通に開けるけど
カレントを含めた相対パスも単に-v $(pwd):$(pwd) -w $(pwd)を書いておけばいいという基本をDocker Hubのgitイメージページ読んで知った
2018/07/29(日) 01:53:02.32ID:vXZjVBrz
>>222
だから大変だからホストに直接おいたほうが良いって話なんだが

例えばgit diff --no-indexでカレント(gitディレクトリ)以外を
比較したくなったら-v $(pwd):$(pwd)じゃ対応できない。
他にもgit applyとかさ

-v $HOME:$HOMEにしたら動くかもしれないけど、
それでもhomeの外では使えないコマンドになってしまう。
(例えば/opt以下にgitリポジトリをcloneするツールとかさ)

コマンド実行した時、特定のファイルはコンテナの外を見ますが、
それ以外はコンテナの中を見てますとかややこしいだけだから

俺は頑張ったんだって自己満足してたいだけでしょ?
そんなのは意味がないから辞めたほうが良い
2018/07/29(日) 01:54:06.34ID:vXZjVBrz
あ、そうだ。gitのglobal configがあるから、
絶対HOMEをボリュームにしないとだめなんだ。
2018/07/29(日) 01:57:06.96ID:vXZjVBrz
ssh鍵の話もあったな
-v $(pwd):$(pwd) -w $(pwd)を書いておけばって
実際には使ってないだろ。

コンテナ化に適してないアプリをコンテナ化しても使いにくいだけ
2018/07/29(日) 02:32:06.22ID:vXZjVBrz
面白い例を思いついた

> 最初のうちはエディタとかgitとかはどうしても大変に思えてホストに直接置きたくなるんだよな
エディタとgitをコンテナにするとどうなるか

環境変数GIT_EDITOR、コミットメッセージなどを編集する時に使用されるエディタをしている。
まあGITが使う多数の環境変数をコンテナの中に渡す。これだけでも面倒くさくてやりたくないが、

gitをコンテナの中で動かしたりすると、エディタがコンテナの中で起動される
つまり、gitコンテナの中にエディタまで入れないといけない。
さてそのエディタ、当然(?)のごとくgit連携機能がついている。
エディタからgitを呼び出されるならば、エディタのコンテナの中に、gitを入れないといけない

環境変数? おっと、gitコンテナの中でエディタを起動するならば、
エディタで使う環境変数も、gitコンテナに渡さないといけないな。
おっと、エディタからgitを呼び出すこともあるから、エディタのコンテナを実行する時も
gitの環境変数を渡さないといけないな

はは、乾いた嘲笑の笑いしか出てこない。こんなムダでややこしいことやって
なんの意味があるんだ。
2018/07/29(日) 18:09:34.64ID:PCsU6lV8
長くて全部読んでないけど、ホスト側のgitなりエディタ設定なりに依存するようなコンテナって筋悪くない?

k8sとかでコンテナを別ホストに移動したら使えなくなるような気がする。
2018/07/29(日) 18:12:14.75ID:PCsU6lV8
エディタが何かによるけど、vim程度ならコンテナ毎に入っててもいいのでは。有償のIDEでgit連携して使ってる人にとってはちょっとしんどいとかかな。
2018/07/29(日) 20:28:18.31ID:vXZjVBrz
そりゃ単に、
 普通は使わないけど入っていても良い。イメージのサイズがでかくなるだけ。
程度のことだな

普通はコンテナのイメージはDockerfileで作るし、コンテナの中のファイルを
直接修正することはない。Dockerfileの開発中とかデバッグのために
便利かもーぐらいで入れておいてもいいが、最終的には使わんので消す

コンテナ内のvimは使わない。の意味がわからんやつは
勉強し直したほうが良い
2018/07/29(日) 21:46:50.04ID:PCsU6lV8
え、普通にvim使ってるけど。何でなの?
2018/07/29(日) 21:48:26.84ID:PCsU6lV8
本番環境って前提ならそもそも本番で稼働している設定ファイルはみだりに編集しないってのは分かるけど。
単にコンテナ内でvim使うかどうかって話だとしたら本気で意味分からん。
2018/07/29(日) 21:51:36.18ID:PCsU6lV8
コンテナの中のファイルは絶対編集しないってどういうことなんだろう。良くあるベストプラクティスに書いてあるから盲目的にそうするって事だとしたら、はぁ、そうですかで話終わりにするけど。
2018/07/29(日) 22:27:59.92ID:Hv8rsH9m
>>238
Dockerはアプリケーションコンテナと言って、
アプリケーションをコンテナ化するもの
システムコンテナと違って、コンテナの中で作業するためのものじゃない。

だから、vimという手動で作業するツールをコンテナに入れる意味はないし、
vim自体をコンテナ化しても使いづらいことは説明済み

> 良くあるベストプラクティスに書いてあるから
ベストプラクティスレベルの話じゃない。Dockerの使い方の基本の話。

とりあえずアプリケーションコンテナとシステムコンテナの
違いぐらい学習してから出直せ
2018/07/29(日) 22:32:59.80ID:/XpMabXH
ドヤ顔で未来にエスパーしてて草
2018/07/29(日) 22:49:16.80ID:Hv8rsH9m
内容は間違えてないだろ?ニヤリ
2018/07/29(日) 23:31:49.15ID:PCsU6lV8
>>233
アプリケーションコンテナとシステムコンテナの違い、ですか。そうですか。
教科書にはきっとそう書いてるんでしょうね。その辺はよく知らないけど、たぶん間違ってないんだと思います。

でも、私はDockerで開発するファイルも編集します。はい。
2018/07/29(日) 23:37:55.72ID:PCsU6lV8
コンテナでsshd起動してsshでアクセスするなとかいうのも基本としてあるってのは聞いたことある。
けどそんなの関係ねぇ。
実際エンジニアに開発環境としてコンテナ提供するのにsshでアクセスできないって不便でしかない。
2018/07/29(日) 23:54:22.87ID:PCsU6lV8
ちなみにシステムコンテナってSolarisのzoneみたいなものかな。Linuxだと何かあるのだろうか。
2018/07/30(月) 01:20:21.45ID:QZl1Bega
>>236
コンテナの中にあるファイルはコンテナ削除すると消えるでしょ?永続化しない。
残っていてほしいファイルはボリュームでコンテナの外にだすわけだから
そのファイルの編集はコンテナの外でやれば良いわけ
中にvimを入れておくのは開発中とかの一時的にしかやらんよ

っていうか使いづらいでしょ? あんたvimの設定とかしてないの?
デフォルト設定で使いづらいからカスタマイズするのが常識だけど
コンテナの中にあるのはなんの設定もされてないvimじゃん
2018/07/30(月) 01:23:38.82ID:QZl1Bega
>>237
関係ないとか言ってないで、自分の解釈が大きくずれているって考えたほうが良いよ
ちょっと間違いレベルじゃなくて、方向性が大きくずれている
変な使い方をしているから、使いづらく感じるんだよ
2018/07/30(月) 06:34:10.24ID:jEBEwRTJ
>>239
残ってほしい開発後のプログラムがあるならgitでpushしとけば良くない?

設定あんまりシナイ派だけど、仮にするとしても、それこそvimrcとかgitでpushしてるものをcloneで持ってくれば設定なんて一撃で終わらない?それじゃあダメな理由とかある?
2018/07/30(月) 06:40:38.62ID:jEBEwRTJ
>>240
解釈がどうじゃなくて、実際便利に使えるかどうかが問題なんだけど。
どんなに正しくても実際に使い難ければ正しくてもやらない。
もちろんセキュリティーや影響は考慮するけど、その辺問題なければ基本がどうとか関係ない。

PMBOKとかAgileとか、基本に忠実にそのままやったら余計効率が悪くなって使えたもんじゃないでしょ。教科書守れば良いって思考は実用的な効率を犠牲にする。
2018/07/30(月) 06:42:13.68ID:QZl1Bega
>>241
gitは作業中断時に一時保存するための道具じゃないし、
設定しないなんて使いづらいだけだし、
いちいちcloneするとか面倒くさいことこの上ないし、

ホストでやれば普通にできることを、いちいちやらないといけないのか?
間違ってる方向に進むとこれから、あれやこれが使いにくいって愚痴るだけだぞ
すでに愚痴ってそうだがw その原因はすべて間違った使い方にある
変な癖が付く前に矯正したほうがいい
2018/07/30(月) 06:43:07.14ID:QZl1Bega
>>242
> 解釈がどうじゃなくて、実際便利に使えるかどうかが問題なんだけど。

便利に使うための手段を、お前がみんな捨ててるから、
(俺は不便な中で生活してるから)不便に思わないんだって言ってるだけじゃん
2018/07/30(月) 06:44:51.91ID:QZl1Bega
>>242
> PMBOKとかAgileとか、基本に忠実にそのままやったら余計効率が悪くなって使えたもんじゃないでしょ。教科書守れば良いって思考は実用的な効率を犠牲にする。

お前のその考え方だと、間違った解釈をして間違ったやり方をやって
余計効率が悪くなった。PMBOKとかAgileはクソって言ってるようにしか見えないね

まず教科書守ってやろう。いまお前は教科書通りのことを守らずに使いづらいと言ってる
2018/07/30(月) 06:48:28.40ID:jEBEwRTJ
>>243
一時保存なんて利用用途で言った覚えはないけど、仮にそうだとしても何で一時保存でgit使ったらダメなの?

あなたって基本に従うってことに束縛されて思考が限定されてる気がする。自分だけでそういう方針で進めるのは勝手だけど、人にやり方強制しだすと嫌われるから考え改めた方が良いよ。
新卒ならまだ良いけど。
2018/07/30(月) 06:51:41.70ID:jEBEwRTJ
>>244
よくわからんけど、君の言ってるようにアプリケーションコンテナの中のファイルは編集するなって事を守ると何が便利なの?物凄く不便じゃない?

ローカルなホストにファイルを永続化させるよりgitにpushする方が安心感あると思わない?
2018/07/30(月) 06:52:59.21ID:QZl1Bega
>>246
gitはバージョン管理するための道具であって、
バージョン管理しないならタダの保存に過ぎないから

それにgit使うなら、コミットする時に、メールアドレスと名前の設定がいるだろ?
gitでpushするならssh鍵が必要だろ?
rootでやるわけないから、自分のhomeディレクトリがいるだろ
お前本当にコンテナの中でgitでpushとかしてるんか?
してねーだろ。使いづらいもんな

お前はまだ初心者で、どうせgitもオープンソースものをcloneするぐらいのことしか
したこと無いんだろ。基礎ができてないんだからまず教科書通りにやれと
2018/07/30(月) 06:54:15.51ID:jEBEwRTJ
PMに教科書通りのやり方を強制されて疲弊してる現場を見てきたから経験談として話してるだけ。
教科書通りやって現場がうまくまわってるならそうすればいいよ。
というか、むしろ教科書なぞってうまくいってる現場があるならそれ勉強会とかで話してほしい。見に行くので。
2018/07/30(月) 06:55:30.13ID:QZl1Bega
>>247
> よくわからんけど、君の言ってるようにアプリケーションコンテナの中のファイルは編集するなって事を守ると何が便利なの?物凄く不便じゃない?
ホストに置いたファイルを編集すればいいだけだろ。
それがコンテナの中にボリュームを通して見えてるんだから
コンテナの中に入って編集する必要がない。
コンテナの中の環境を整える必要もない

もっと便利なものが俺には見えてるんだが、
お前のやり方は何が便利なの?

できるといってるだけで便利なんてお前は一言も言ってないよね?
お前のやり方が俺は不便だと言ってる。反論は?
できる、やったらだめなの?は不便であることの反論にはならない
2018/07/30(月) 06:55:41.00ID:jEBEwRTJ
ということで、あなたのやり方を変えさせるつもりもないし、自分のやり方を変えるつもりもありません。
以上終わり。
2018/07/30(月) 06:57:17.09ID:QZl1Bega
>>247
> ローカルなホストにファイルを永続化させるよりgitにpushする方が安心感あると思わない?

ホストにあればgitにpushしたいと思ったタイミングでpushできるんだが

コンテナ消すと中で編集したファイルが消える。不便だからgit入れて忘れずにpushしなきゃって
コンテナのファイルを直接編集すると不便だと言ってなかったか?w
2018/07/30(月) 06:58:17.45ID:QZl1Bega
>>251
俺はやり方をお前に押し付けてるんじゃなくて、

正しいやり方にしないとお前が困るという事実を言ってるだけ
お前はその事実に反論してない。困るのは自分だけだから
良いじゃないかって逃げてるだけだ。
2018/07/30(月) 07:00:14.56ID:QZl1Bega
>>249
そのPMが教科書通りにやってないだけだよw
教科書通りにやることが簡単だと思ってはいけない

教科書に反論するときは、教科書の場合と何が違っているかまで
理解してからじゃないといけない。

教科書になってるぐらいだから基本的には正しいんだよ。
それが当てはまらない理由を見つけない限り、教科書に反論してはいけない。
当てはまらない理由がわからないのは、理解してないってことになるんだから。
2018/07/30(月) 07:08:27.71ID:QZl1Bega
ほんとね。反論の一つでもできればまだいいんだが、
回避策はあるというだけじゃ、その方が良いってことにはならないんだよ。
全部回避策を入れないとやっていけないってことになってるんだから、

優れた方法っていうのは、回避策を使わずとも自然な形で実現できる
いちいち回避策を考えなきゃやってられないってのは、
やり方が間違ってる証拠でしか無いんだよ


余談だが、アメリカではツールをただ導入するのではなく、そのツールが
想定している使い方を学習して、やり方をツールにあわせるから効率的になるらしい。

日本だとツールを導入して、自分のやり方にカスタマイズさせる。
やり方を変えようとしないから生産性も変わらないし、
ツールのカスタマイズにコストも掛かるとのこと。それと同じだ
2018/07/30(月) 09:12:18.18ID:2DtBR6Mw
アプリケーションコンテナはyum, aptのパッケージ相当だと思ってるなぁ
基本的に使い捨てて常にクリーンなコンテナに出来るのがいいし, だからこそkubernetesとかで高い自己修復性を持てる
2018/07/30(月) 09:22:21.96ID:IG0rWwn1
すると、Vimのような手動カスタマイズほぼ必須のアプリは
コンテナ化には適さないのか
docker searchしてもVimが出てこないのが不思議だったがそういうことか
2018/07/30(月) 09:55:24.40ID:2DtBR6Mw
そのカスタマイズ部分を, プラグインならホストからマップするか別コンテナで, 設定ファイルはホストからマウントする必要があるだろう
2018/07/30(月) 16:34:35.00ID:QZl1Bega
>>257
手動カスタマイズの有無じゃないな。
プログラム本体がコンテナに隔離されているので、
コンテナの外に自由にアクセスするものは適さない

もちろんプログラム本体がコンテナに隔離されているおかげで
コンテナの外がどうなっていようがいろんな環境に持っていける

コンテナと外部との通信は基本的にネットワーク通信で行うか
ボリュームとしてマウントしたディレクトリ経由で行う

ボリュームとしてマウントするから、コンテナの外がどのような
OSやディレクトリ構造であっても、コンテナの中からは同じよう見える
コンテナの外がどうなっていても中からは同じように見える。
Dockerの "仮想化" というのはこういう意味
(ハードウェアをソフトウェアで仮想的に作り出すという意味じゃない)

もちろん不可能ではないが面倒なだけ
■ このスレッドは過去ログ倉庫に格納されています

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