X



仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2017/02/16(木) 18:01:04.48ID:rGWDv0Eb
開発に仮想環境やコンテナを使う機会が多くなってきたので、みんなで情報交換しませう

よろしこ
2デフォルトの名無しさん
垢版 |
2017/02/16(木) 19:00:08.56ID:h1FUjbuC
dockerとかvagrantってそこそこいいスペックのPCじゃないと重いですか?
Core i3とかメモリ4GBとかオンボードじゃきついですか?
2017/02/16(木) 23:15:48.11ID:OkMHwQea
dockerは別に重く無いよ
2017/02/17(金) 04:13:03.89ID:cVLy1vhF
vagrantで遊んでて、気づいたらディスク容量が…
2017/03/11(土) 20:20:37.28ID:FzwOE8g2
vagrantはコンテナじゃないよ ホスト型
スレ立て直し
2017/03/21(火) 06:14:58.73ID:8dPbIOy5
http://www.doraibu.com/
どらいぶ帳よろしく
7デフォルトの名無しさん
垢版 |
2017/04/09(日) 21:37:56.06ID:NCtS/3Z/
vagrantについて質問です。
ポートフォワーディングで同一LAN内の別端末からhttpアクセスしたいのですが、うまくいきません。
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1", id: 'http'
これだとvm立ち上げたPCからはlocalhost:8080でアクセスできますが、別端末からアクセスできません。

host_ipを192.168.3.8のように指定すると、別端末から192.168.3.8:8080でアクセスできますが、他のメンバーとvagrantfileを共有する際に編集する必要があります。
host_ipを指定しないと、The requested address is not valid in its context.のエラーが出ます。

どうにかうまく他のメンバーがvagrantfileを編集する必要なく、同一LAN内の別端末からアクセスできるようになりますか?
2017/04/10(月) 01:53:00.36ID:gu5n9UXh
127.0.0.1はローカル・ループバック・アドレスと呼ばれ、
自分自身を指す特別なIPアドレスである。
「localhost」という名前でも参照できる

自分自身の上で動作しているサービスへ接続する場合は、
このIPアドレスを利用できる
2017/07/08(土) 21:31:32.08ID:8YhBgLjX
開発用の低スペックWindowsに1台で完結する環境構築するならDockerがいいんだけど
Dockerfileだとテスト以後のマシンに使えないから困る
結局、同じ構成になるようにAnsibleでplaybookを書く二重管理状態になってしまう
10デフォルトの名無しさん
垢版 |
2017/07/17(月) 12:58:52.28ID:FthSMCL/
dockerですが何をやっても
device or resource busyです。
/var/lib/dockerも削除できません。

どうしたらDockerをリセットできますか?
気になるのは、devicemapper/mntにやたらとコンテナ?があります。
文字の羅列と同じ名称で語尾に-initがついてるもの。

これらすべでumountできません。
2017/07/17(月) 13:05:03.20ID:H+ZLTTJY
2017/07/17(月) 16:01:44.76ID:ka/V7JjN
仕事で使ってる人は、どういう切り分けでツール使ってるの?

vargrant イメージ管理
docker アプリケーション絡みの構成管理
ansible ネットワーク絡みの操作とか色々

dockerってあくまで開発用途?
アプリケーションをデプロイするときに、
docker環境にpushして、そのdockerコンテナを
本番環境にpushするとか冗長化してるの?
2017/07/17(月) 18:48:26.26ID:GUuZ6Fu+
自分も模索中だけどこんな感じで理解してる


Docker
アプリのカプセル化

Vagrant
仮想環境の新規作成
構成管理の起動

Ansible
すでにある環境の構成管理
14デフォルトの名無しさん
垢版 |
2017/07/22(土) 11:45:47.29ID:S+qzOSdo
Docker vagrant Ansible ってプログラミングスキル以外に必要な
インフラスキルってどのへんまで必要なの
Linuxの基本的なディレクトリ体系知ってたり、コマンド使いこなせればOK?
デバイスとかブートレベル、ネットワークのいじり方も必要?
個別のミドルウェアの設定ファイルやいじり方も熟知していないと駄目?
2017/07/22(土) 11:56:43.12ID:0lF5kxcx
環境構築は、プログラマーよりもはるかに難しい

最低でも、LPICレベル1 は必要
16デフォルトの名無しさん
垢版 |
2017/07/22(土) 12:40:22.35ID:S+qzOSdo
>>15
じゃあそれできればそこそこ金になる?
2017/07/22(土) 12:50:33.24ID:XLPzVjfx
金とは関係ねーだろ
金っていうのは会社が儲かっているかどうかできまる
18デフォルトの名無しさん
垢版 |
2017/07/22(土) 13:00:52.65ID:S+qzOSdo
>>17
いやいや金は大いに関係ある
会社が儲かっていようが無かろうが給料の配分は平等じゃない
会社が必要とするならば給料は高くなる、
上がらないならやめる。習得した技術の内容に需要があるならば
再就職先はあるはずだし、習得した技術の需要が高ければ待遇が
良くなる。だから金は関係ある。
インフラの習得は簡単ではない。しかしビジネスとインフラは直結
しないから、それを評価されうるか、金として還元されるかって超重要じゃね?
めっちゃ頑張って勉強してLPICとかとって、「動いて当たり前。資格なんて意味がない」
とかいわれたら洒落にならないよ。
2017/07/22(土) 13:12:54.56ID:0lF5kxcx
プログラマーで、環境構築・運用ができる人は、まずいない。
だから、プログラマーよりも給料が高い

まず、コマンド・シェルスクリプトを知っている者が、少ない

皆、tmux も知らないだろ。
cron もまともに出来ない。環境変数が異なるから

( ) 内は、サブシェル・子プロセスで実行されるから、
親プロセスと環境変数は共有していないとか

OS・システムの内容は、プログラムよりも、めちゃめちゃ難しいから
20デフォルトの名無しさん
垢版 |
2017/07/22(土) 13:17:14.44ID:S+qzOSdo
>>19
OK ありがと。超やる気でたわ
2017/07/22(土) 13:55:49.21ID:XLPzVjfx
>>18
技術力でもらえる金が決まるんじゃないよw

極端な例を言えばバスの運転手が
docker使えたって給料は増えない

需要がなければ、何ができたって価値はない。
需要は会社で決まる。
2017/07/22(土) 13:58:05.91ID:XLPzVjfx
>>19
> プログラマーで、環境構築・運用ができる人は、まずいない。

そういうレベルの会社なのに給料が良いとでも?w

そうですね。

結局給料は会社が儲かってるかどうかで決まりますからね
技術力が低くてdockerなど使わないような所でも
会社が儲かっていれば、給料は高くなりますよ。
その人がうまく自分をアピールできればね
23デフォルトの名無しさん
垢版 |
2017/07/22(土) 14:08:45.33ID:S+qzOSdo
技術者にも会社を選んだりやめたり、給与交渉したり、
「もうやらないよ?」っていう選択肢があるよ。
俺がいた前の会社には「CSSが書くのがめっちゃ速い」といって評価されている
人がいた。確かにCSSは自己アピールに最適だよ。
見た目ですぐにその人のデザインで主張できるから。ビジネス上の収益に関与できる。
WordPressもそんな感じだ。
JavaScript、サーバ側アプリケーション構築、インフラとなるにつれ
やる内容はマゾくなるわりに、外見上で評価されづらくなるよ。
だからといって「会社が儲かっているかどうかが全て」「ビジネスで成果出せ」
何ていう基準で給料がきまったら技術者なんてたまったもんじゃない。
2017/07/22(土) 14:33:59.09ID:XLPzVjfx
だからたまったもんじゃないという
世の中なんだってw

それが嫌なら、会社選ぶしかないよ
2017/07/22(土) 14:47:56.03ID:HGcWbmUZ
伸びてると思ったらこれだよ
マ板にいけ
2017/07/22(土) 14:54:29.83ID:XLPzVjfx
使われてるところでは、普通に使われてるから何の評価もないし、
使われてないところでは、そもそも使わないから評価対象にならない
2017/07/22(土) 20:55:04.47ID:H9oHkZgf
データアクセス層のユニットテストにこっそりDocker使ってる
便利だとは思うけどうちはやる気のない会社だからこういう技術を正式に採用することはないだろう
28デフォルトの名無しさん
垢版 |
2017/07/23(日) 16:06:57.33ID:cZonGhlD
GradleもDockerみたいなもんなの?
2017/07/23(日) 16:46:55.90ID:sdBNAs2V
全くの別物
2017/07/27(木) 01:59:49.19ID:RnUpnufd
vagrant-libvirtでfedora謹製のatom box使って
起動したのは良いけれどvagrant sshで入った後
rootでもuser(vagrant guid)でも読めるが書けないdirがある
結果(sudo) setup.py install 出来ない
こまつた
31デフォルトの名無しさん
垢版 |
2017/08/04(金) 01:35:27.22ID:75uLMW6l
>>30
そのディレクトリ chmodするとどうなるの?
2017/08/04(金) 01:49:36.34ID:6xnwiv0x
>>12
基本的に1プロセスを上げるもの = Docker(Apacheだけとか、MySQLだけとか、そういうこと)
多連装仮想マシンランチャー = vagrants
まっさらのインスタンス(仮想マシンか物理かは知らん)に定型的な設定ファイル入れたり、aptなりyumのパッケージをぶっこむ = ansible(あるいはchef)

いちおうDockerで複数プロセス上げさせることもできるっちゃできるが面倒ではある
2017/08/04(金) 02:00:18.03ID:6xnwiv0x
>>30
chmod 777 書けないdir

でやってみてどうなるかによる
で、chmodがエラーでハネられたらSELinux殺すあたりか? fedoraのatomic試したことないから知らんが
34デフォルトの名無しさん
垢版 |
2017/08/04(金) 03:38:10.97ID:75uLMW6l
>>32
IPとかドメイン、パケットフィルタ関係のマシン外部の
設定までやりたい場合はDockerでいいの?
2017/08/04(金) 22:21:30.72ID:vbxnWqhH
>>34
そういうのはansible
ansibleでやることは
ネットワーク/セキュリティなどホスト設定
Dockerインストール
コンテナ起動
36デフォルトの名無しさん
垢版 |
2017/08/05(土) 01:22:27.06ID:h+4+UPF9
Ansibleで冪等性という考え方を知ったときはすげぇと思ったな。
この理論は美しすぎる。
2017/08/05(土) 01:34:07.68ID:h6kT662o
>>36
まあ実際には冪等性にはならんけどなw

AnsibleだけにかぎらずChefなんかもそうだが、
「○○にする」という形で設定をすることができるが、
ここに書いたこと以外は無頓着

mysqlをインストールするという設定はできるが
PostgreSQLが入っていようが入っていまいが無頓着
PostgreSQLを消すと書かないかぎり、もしPostgreSQLが
入っていたとしてもなにもしない。

だから実行して作られた環境が必ず同じになるとは限らない
単に再度(二回以上)実行しても一回目と状態は変わらないというだけ


んで、最近はImmutable Infrastructureってことで
壊して最初からから設定して、その後変更しないので冪等性は必要なくなっている。
何度実行しても同じ状態になるではなくて一回しか実行しない。
38デフォルトの名無しさん
垢版 |
2017/08/05(土) 01:44:19.24ID:h+4+UPF9
>>37
あれ、冪等性とImmutable Infrastructureって違う意味なんだね、
同じことを言ってるんだと思った。いやいや、勉強になりました。
そうか、それでそのImmutable指向なのがDockerやvagrantなんだね。

Ansibleは、「マシン壊さないでスクリプト再実行」
Dockerは、「マシン構築してイメージを固めて、使いたいときはそれを複製
して構築状態を再現する」って感じ?
2017/08/05(土) 01:52:14.76ID:h6kT662o
>>38
そう。書こうと思ってたけど他のスレに書き込んでいて遅れたけど、
Dockerでも完全な冪等性はない。

通常はイメージを作り直すたびに最新版として
更新が適用された形でイメージが作られる。
同じ手順でイメージを作るが、全く同じイメージができるわけじゃない。
もちろんそれは意図した動きであるので、問題あるわけじゃない。

そして全く同じものが欲しい場合は、作ったDockerイメージを使用する。


> Ansibleは、「マシン壊さないでスクリプト再実行」
そういうこと。もちろん壊してスクリプトを再実行しても良いが
アピールしている冪等性が有効に働くのは壊さないで再実行するときだけ
2017/08/05(土) 08:06:56.98ID:JaoJ8BaU
ベキ等は既存のホストでも使えるって要件とのトレードオフ
気軽に捨てていい端末だらけならこんなものは要らない
既存のマシンは簡単には壊せない
それが客の物ならなおさら
41デフォルトの名無しさん
垢版 |
2017/08/05(土) 08:36:07.74ID:h+4+UPF9
>>40
正直それ意味わからん。
客のものだろうがバックアップ取ったら片方は好きにいじればいいだろ。
コピー元が客のものだったとしても、複製したものは自分のものだろ。
個人情報云々も関係ないよ、マシン預けるってことは預けたマシンの中身を
全部知られてもいいってことだから。
2017/08/05(土) 09:04:53.62ID:P20UcjsV
>>41
そりゃ自社に複製した後なら作るのも捨てるのも自由だろうけど世の中そんな簡単じゃないよ
レガシとの絡みのせいで複製できない(複製するのに多大な工数がかかる)システムは少なくない
技術的には可能でも客のポリシの都合でできないこともある
客か別の企業がインフラの面倒を見てくれるならいいけど
権限を幾らか譲渡するのでうちに来て環境構築してくださいという案件も結構ある
こういう案件では同じ端末にすでに別のアプリが稼働している事が多い
そうなるとリスクが高すぎるからゼロから組み上げましょうなんて提案はできない
43デフォルトの名無しさん
垢版 |
2017/08/07(月) 19:54:24.01ID:Lakck2FI
>>42
いやそれでもおかしい、
結局のところ仕事として請け負っている以上何かを変えなければ
何も達成しないわけで、部分的にディレクトリ構造だけでも切り出して
複製するなりして結局何か変えたり追加したりしなければ仕事に
ならないんだよ。
できない、費用対効果がなさすぎる、リスクが高すぎる或いは見積もり不可ならば
請け負うべきじゃない。
あなたに請け負う決定権がないなら決定した人間の責任。
それで失敗してとやかく言われたりするならば会社を辞めればいい。
上の方でも議論されてたけど。
企業体やビジネスだってImmutabuleでいいじゃんって思うんだよね今の時代。
無責任なこと言ってるみたいだけど最終的にそっちの方が正解なんじゃないかなぁ。
44デフォルトの名無しさん
垢版 |
2017/08/09(水) 02:24:25.40ID:qd4uHZWe
・Dockerとシェルスクリプトの違いって
・「コンテナ」「イメージ」「スナップショット」という概念が導入された。
・DockerのためのコマンドAPIが充実しいている。
 くらいなものか?

・AWSと比較したら、AWSよりも使い捨て性がよく、「スクリプト」を作る
 仕組みが整っている。ってな感じかねぇ。
2017/08/09(水) 02:34:15.78ID:6lirvFze
シェルスクリプトとは全く関係ない
2017/08/09(水) 17:22:33.92ID:+xT3EFIJ
>>31,33

30だけど返事遅れてごめん
chmod 777 dir はread-onlyとか言われて
rwxr-xr-xだっけ?も変わらない
親dirも同じ

ググるとmountナントカをVagrantfileに書けってあって
やってみたけどループとか入れてるので
そのままじゃだめだった
最初からやり直そうかなと思いつつ報知
2017/08/11(金) 09:39:11.19ID:hDSZxa7t
>>44
シェル云々って、もしかしてchrootの事を言いたいのか?
48デフォルトの名無しさん
垢版 |
2017/08/12(土) 13:18:10.59ID:2oFLTBe8
DockerってGUIツールとかないの?
GUIは設定した名前や値を覚えてなくていいから便利なんだよなあ
あとスクリプトのテンプレートを生成してくれる支援系ツールとか、
コマンド生成ツールとか充実してるとありがたい。
2017/08/12(土) 14:19:15.99ID:2Yw2XYfL
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

446非決定性名無しさん2017/08/02(水) 22:12:48.95

JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
50デフォルトの名無しさん
垢版 |
2017/08/13(日) 17:53:13.25ID:fRo9GRp1
誰かこのスレでDocker使ってBitCoin掘ってる♂人いる?
51デフォルトの名無しさん
垢版 |
2017/08/15(火) 12:57:53.44ID:HP4MqYNb
Moneroなら掘ってるけど・・・・プログラム板と関係なさすぎじゃねえの?
52デフォルトの名無しさん
垢版 |
2017/08/17(木) 19:08:53.78ID:Hre7EUXe
インフラの設定ってどう練習すりゃいいのかなって思う。
コンフィグの設定はプログラミングと違って新たな発見とかがないから
苦痛だな。
2017/08/17(木) 20:32:05.78ID:yl5Pdr7V
>>52
俺はVM上でテストしてるよ

失敗したり挙動が怪しくなってもスナップショット機能ですぐ元に戻せるから
色んなことを気楽に試せるようになると思う

まあインフラって「動いて当然」だから、必然的に枯れた技術と豊富なノウハウの世界になるのはしゃーない
ただ、“落とさない技術”とか“落ちたときになんとかする技術”とかは、知ってると良いこといっぱいあるよん
2017/08/17(木) 22:05:34.29ID:B6dfKgF4
誰かのせいにする技術
2017/08/21(月) 19:07:05.90ID:lYWr+wd6
データベースコンテナの扱い方がよくわからん
テーブルの作成とデータ投入とマイグレーションってどうすればいいんだ
2017/08/25(金) 22:22:31.90ID:/f+10ORp
ユーザー単位のプライベート開発環境構築は圧倒的にdockerが楽だな
でもdockerはよくわからんからダメってお客が多くて運用ではイマイチ使えない
2017/08/25(金) 22:35:38.04ID:x7mIO/g5
開発環境と言うからにはGUIのテキストエディタとか
入ってなきゃいけないはずなんだが、それは本当にDockerか?
2017/08/25(金) 23:02:42.07ID:/f+10ORp
あーうちはそこまで仮想化原理主義的じゃないんだ
エディタとランタイムはローカルの使ってる
ローカルJDK+gradle+好きなエディタ
ローカル.NET+cake+好きなエディタ
サーバーはcomposeでお手軽に構築
ユニットテストはビルドから全部フレッシュなコンテナでやってるよ
2017/08/25(金) 23:22:19.30ID:x7mIO/g5
> あーうちはそこまで仮想化原理主義的じゃないんだ
仮想化原理主義とかいうとVagrantも仮想化なんで
それをいうのならアプリケーションコンテナ原理主義でしょ?

> エディタとランタイムはローカルの使ってる

> ユニットテストはビルドから全部フレッシュなコンテナでやってるよ

言葉の定義の問題だけど、それを俺は開発環境とは呼ばないんだよな
だってその環境で開発してるわけじゃないから。
ユニットテストの実行環境

そしてもう一つ。CIとしてコンテナでユニットテストを
動かすってのはありなんだけど、(俺の定義での)開発環境として
ユニットテストを動かすのは大変じゃないか?

俺の定義での開発環境のユニットテストっていうのは
例えばクラスを一ついじった時に、それを保存したタイミングなどで
そのクラスだけのテストを実行したりすること
言い換えるとテキストエディタやIDEからユニットテストを実行するってこと

不可能じゃないと思うけど、そこらへんを整えてくれてるものはないと思うんで
労力を考えるとDockerを使うのは全体のテストを実行するだけでよいCIのユニットテストに限定される

よってユニットテストであっても開発環境としてDockerを使うのは大変であるというのが結論
開発環境だとデバッグのための機能を有効にしたりするしさ。
単に開発で使うサーバーの実行環境として使うのは楽だけどね。
2017/08/26(土) 08:37:04.28ID:BVFxlozH
>>56
そのお客の感覚はかなり正しいと思うけどな。
少なくとも今のdockerの段階だと。
2017/08/26(土) 12:52:59.65ID:6eLxh+kC
ほぼどんな環境でも動く
デフォルト設定が吟味されてて多くの場合でオプション不要
手軽に細かくカスタマイズもできる
オフィシャルでセキュリティ的に安全
頻繁にメンテナンスされる

そんなRolesが大量に手軽に手に入るなら個人的にはDockerは要らないかな
2017/08/27(日) 05:51:27.92ID:rl9QFWEb
>>60
将来を考えたら根幹に関わる部分で複雑な事はやって欲しくないと思うわな
dockerに限ったことじゃないが、遅かれ早かれ陳腐化する訳だし
枯れた手法と比べて明確なメリットがなきゃ導入しない方が良い
2017/08/27(日) 08:55:46.09ID:2Uadi5zm
そんなのビジネスの内容次第だろ
手早くスタートアップして頻繁にビジネスに変化があると見込まれるなら安定感はそれほど優先度の高い項目じゃない
何でもかんでも枯れてる安定したものがいいってところで思考停止してる人が多すぎる
2017/08/27(日) 15:03:25.96ID:sNhXAArf
>>62
> 将来を考えたら根幹に関わる部分で複雑な事はやって欲しくないと思うわな

じゃあ、そこで前提として
今より複雑か、簡単かという話が必要になる。

根幹に関わる部分は複雑になっている。
これがDocker使うと複雑なものが簡単になる。

これを否定するならば、なぜDockerを使うと
複雑になるのかを説明しなければいけない。

その時に「俺はDocker知らん。勉強しなければ
いけないから複雑なんだ」では答えになっていない。

もちろんDocker使うと複雑なものが簡単になるというのは説明可能
2017/08/27(日) 16:45:51.14ID:QpZ6CaB1
ansibleってなんかめんどくさいな
ベキトウセイとかシェルスクリプトで十分じゃん
apt-get install -y hoge
これだけでもベキトウだよ
なんでわざわざあんなわかりにくい大げさなyml書かなきゃいけないのさ?
2017/08/27(日) 17:01:52.72ID:rl9QFWEb
誰しもがメンテしやすいシェルスクリプトを書ける訳じゃないからね
逆に言えば書けるならそれでいいという話になるが
2017/08/27(日) 17:09:12.09ID:QpZ6CaB1
>>66
プレイブックは誰にでもメンテナンスしやすいものだっていうansible側の広告が刷り込まれて先入観があるんじゃないかな?
実際あんなのメンテナンスするのわかりにくいし大変だよ
例えば鍵とかリポジトリ登録するところとかシェルで書くときはこうだなってのわかってないと絶対プレイブックも書けない
シェルがわからない非エンジニアでもプレイブックならわかるって本気でみんな考えてるのかな
その感覚よくわからんわ
2017/08/27(日) 17:10:33.18ID:rl9QFWEb
>>63
自由に導入したらいいよ
明確なメリットがあれば俺も使うし

>>64
複雑というのは習得に掛かった時間と思って貰えたらいい
dockerで用意された環境を立ち上げる事は簡単だが
その用意された環境を構築する作業も簡単とは俺は決して言えない
2017/08/27(日) 17:18:30.76ID:QpZ6CaB1
>>68
Dockerを使わずに鯖運用するスキルを身につけるコストのほうが高いと思うぞ
2017/08/27(日) 20:07:24.33ID:IIGC9wQX
>>68
> 複雑というのは習得に掛かった時間と思って貰えたらいい
何を言ってるんだ?

例えば、未経験者にとっては習得に時間がかかると思うが
習得に時間がかかる=複雑だというのなら、

お前は

未経験者「俺の知らないことだかけ。複雑ですね。導入する価値なし」

って言われて納得するのか?
2017/08/27(日) 20:07:41.75ID:IIGC9wQX
未経験者「俺の知らないことだらけ。複雑ですね。導入する価値なし」
2017/08/27(日) 20:55:27.14ID:AumSAEcK
>>64
まあ大前提として、一番重要なデータ部分と設定のドキュメント化が
しっかりして残されてる事が最低限だよな。
リポジトリから拾ってきたな様なのにはその辺がブラックボックスなのが
少なくないがw

逆に言えば、それさえ明確にきちんと残されているなら、仮にdockerが
陳腐化して消え去っても移行は全然難しくない。
2017/08/27(日) 21:02:37.75ID:IIGC9wQX
Dockerの素晴らしい点はイメージを作るものは
手順書などというメンテナンスされない傾向にある
ドキュメントではなく、Dockerfileという簡単な
設定ファイルで書くことができるってこと
だからブラックボックスにはならない

でここから二種類の人間に別れる。Dockerfileは
すごく簡単なファイルなんだが、

未経験者の新人ややる気のないSEのような
Dockerfileが読めない人間は、勉強したくないと駄々をこねる
なまじ年を取ったやつが偉そうに複雑だから使えないとか
破綻したことを言い出すわけだ
2017/08/27(日) 21:39:03.20ID:rl9QFWEb
>>69,70
一応言っておくけどdocker不要論者じゃないからね
メリットがあるなら使えばいいと言ってる
要求が上がるにつれて自然と選択肢に上がるんだし
2017/09/01(金) 20:50:15.08ID:ocN7XlE1
windows系がわからん
ssh => winrm
apt/yum => chocolatey
docker => windows server container
ansible => powershell DSC
vagrant => vagrant

これでいいのか?
guiインストーラーしかないマイナーなアプリのインストールとかどうやって自動化するんだ…
誰も使ってなくて相談できねぇ
2017/09/01(金) 22:51:41.61ID:jfA5F5eY
ふつうのWindowsInstallerベースならGUI使わずにインストールできるけどね。
わざわざ独自にGUIインストーラー実装してるような変わり者ならしょうがないが。
77デフォルトの名無しさん
垢版 |
2017/09/03(日) 04:17:07.76ID:V/LSJTV5
DockerとかVagrantとかのツールってさ、
例えばLinuxコマンド一切叩け無い人や、
素でサーバ構築した経験がない人がいたとして、
DockerfileやVagrantfileの書き方や、
dockerコマンド、vagrantコマンドだけ覚えた場合でも構築
出来るようになるの?
2017/09/03(日) 06:13:15.18ID:Xy/hIi2a
なるわけない
2017/09/03(日) 07:06:55.64ID:e9mk7X/B
Chef 社のレシピを使えば?
80デフォルトの名無しさん
垢版 |
2017/09/03(日) 08:05:37.08ID:V/LSJTV5
VagrantfileのRubyの記述苦手、
特にシンボルと配列のキーを指定する記法とがごっちゃになるし、
設定項目と値の間に = 要るのか要らんのかの基準がよくわからない
2017/09/03(日) 08:21:04.81ID:QlhluFUq
>>77
linux未経験だったけど普通に使えてるよ
プログラムのAPI覚えるのと変わらん
2017/09/03(日) 12:48:09.75ID:e9mk7X/B
Ruby では、= は代入。
変数 = 値

= が無いのは、メソッド名と引数。
puts :abc
#=> abc

メソッド名(引数)の、( ) を省略できる。
常に省略できるかどうかは、知らないけど
2017/09/03(日) 21:34:14.77ID:QlhluFUq
色々試したけどVagrant+シェルスクリプトがベストだな
AnsibleとDockerはやりたいことに対して実現方法が大げさすぎる
2017/09/03(日) 23:05:16.22ID:DIhXI1rF
Dockerは使う目的が違うから比較するものじゃない。
2017/09/03(日) 23:06:38.28ID:DIhXI1rF
それはそれとして、MacではVagrantを使うまでもなく
実OS上でアプリ開発すればいいし、
Windows もWSLでUbuntuが使えるようになったし、
今の時代でもVagrantを使う必要があるのか悩む
2017/09/03(日) 23:11:54.10ID:QlhluFUq
環境汚さないためにはVagrantいいんじゃないか
でもMacに慣れた後Linuxやるとめんどくさい
brewだと特に苦労せずサクサク新しいバージョンのパッケージが入る
Linuxはいちいちリポジトリや鍵登録せんとあかん
メンドくさくて環境汚れてもMacでいいやという気持ちになる
2017/09/03(日) 23:29:48.19ID:DIhXI1rF
>>86
だからそこでDockerを使うんだよ。
Docker使えば環境を汚さずに(消したいときはコマンド一つ叩くだけ)
好きなバージョンを入れられる。
2017/09/04(月) 06:12:29.90ID:IbU7wZyf
汚さないって言ってもdocker imageが大量に残るのがなぁ
2017/09/04(月) 16:38:39.40ID:dTsftoJX
それはもうしょうがない
むしろ docker rmi でいつでも気兼ねなくサクサク消せるのがメリットなんだと割り切っちゃえ
2017/09/04(月) 17:53:39.35ID:rV/jE66o
windows 7だとdocker machine使わんといかんのがひと手間かかって面倒でなぁ
2017/09/04(月) 20:29:54.61ID:KUepcu9z
>>90
え? いらなくね?
普通に最新のDocker for Windowsインストールして
docker ps できたよ。
docker machine使わないといけない技術的な理由思いつかないし


ほら、なにもいない

docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS

docker-machine config
Error: No machine name(s) specified and no "default" machine exists
2017/09/04(月) 20:31:41.25ID:KUepcu9z
もしかしてWindows 10ならOKで
Windows 7はNGってこと?
2017/09/04(月) 22:27:05.73ID:rV/jE66o
HyperVに依存しとるとさ
94デフォルトの名無しさん
垢版 |
2017/09/06(水) 06:40:13.96ID:uVSfh59G
DockerってYAMAHA, ciscoのルータとかファイアウォールへのコンフィグ流し込みに
も使えるの?
正直Linuxマシンは手動ゴリ押しでもDockerでも構築できるっちゃできる。
だけどこれらのOSとかAndroidとかLinux以外が簡単に構築できたらめっちゃ
便利やん。
Winはその・・・お察しだな。
95デフォルトの名無しさん
垢版 |
2017/09/06(水) 06:44:51.20ID:uVSfh59G
>>94
補足:
cisco, YAMAHAとかのOS独自のコマンド操作とかGUI操作のものを、
RubyとかYMLとかDockerfileの文法に変換して統一出来たらいいなってこと。
2017/09/06(水) 07:48:48.09ID:f+iOByXp
Dockerはそもそもそういう用途のものじゃない
AnsibleにIOSのモジュールがあるっぽいよ
https://gblogs.cisco.com/jp/2016/11/ansible-ios-related/
リアリインフラは触らないから使ったことはないが
97デフォルトの名無しさん
垢版 |
2017/09/11(月) 21:00:50.06ID:zcvLuad8
あるサーバを構築したときのコマンド入力作業を
historyからシェルスクリプトにしておけば、
DockerやChefと同じことできるんじゃないの?
全く同じサーバが1枚のフャ@イルで構築でbォるじゃん。
2017/09/11(月) 23:44:54.91ID:QNy5oHUR
Dockerの方がパフォーマンスが良いし
レジストリも充実してるよ
あとDockerって慣れてくるとDockerfileは自分では殆ど書かなくなってrunとかcomposeがメインになってくるんだわ
だからシェルスクリプトとじゃ比較にすらならない
2017/09/17(日) 19:14:50.22ID:g8M9Yunv
oracle公式のイメージって無いの?
100デフォルトの名無しさん
垢版 |
2017/09/24(日) 21:52:22.92ID:VAo7cLSP
VirtualBoxがDocker意識してUI作り込んだら
便利かもしれん。
ホスト側の管理はUIあったほうがやりやすいからな。
101デフォルトの名無しさん
垢版 |
2017/09/28(木) 19:35:59.80ID:NUvabez2
GUIが欲しいならKitematicがあるやん
でもコマンドラインに慣れておいた方が自動化の環境構築をパパっと作れて良いぞ
102デフォルトの名無しさん
垢版 |
2017/10/11(水) 12:06:18.93ID:PBPiuL2i
Dockerってcronとかバッチみたいなジョブスケジューラ
機能もあるの?
2017/10/11(水) 12:12:52.55ID:vK0AFJGc
ない
2017/10/11(水) 20:32:01.73ID:M5ki5wzZ
DockerってGUIは動かせんの?
2017/10/11(水) 22:33:04.18ID:E/JaLO6S
動かせるよ
2017/10/14(土) 15:57:55.21ID:soixBfvL
>>102
host側のcronでdockerを叩けば良いんじゃない?ー
2017/10/14(土) 17:58:36.49ID:GDzf5CCz
>>105
マジデ!?
GUIコンテナ絶対便利なのにやってる人見た事ないなぁ
EclipseコンテナとかVisualStudioコンテナとかあれば絶対流行る
必要なもの全部入りで隔離されたクリーンな環境とか最高やろ
しかもコマンド一発でインストールできちゃう
2017/10/14(土) 18:31:29.09ID:Mpk4ND/s
>>107
普通に使ってるけど…
109デフォルトの名無しさん
垢版 |
2017/10/14(土) 22:08:55.30ID:YZBwJ7NO
上司に「Docker使いましょうよ」って提案してみたら、
「Xamppで十分でしょ」って返された。
何か言い返したかったがこれと言って強力な
Xamppに対するアドバンテージが思いつかなかった。
2017/10/15(日) 09:24:22.95ID:jiVarmiT
え?それってギャグで言ってんの?
2017/10/15(日) 09:53:35.93ID:/8UsyUgn
DockerはXamppじゃない。用途が完全に違う。

というかDockerを使ってXampp相当のものを
作ろうとすると相当大変だぞ

Docker使ってPHP製のアプリを実行する所までならまだわかるが
Xampp=通常は開発用にするには、更に色んな機能が必要になる。
2017/10/15(日) 10:08:26.53ID:Ad4/97ip
ドライバーと工具箱くらい違うだろ
2017/10/15(日) 10:31:02.51ID:jiVarmiT
使い捨てしない場面でDocker使う意味あんの?
ビルドとかユニットテストに使うぶんにはDocker軽いし便利だけどね
ビルドサーバー汚さんですむのは嬉しい
でもサービス運用には向いてないでしょ
Dockerでイミュータブルインフラ実現だ〜ってエキサイトした時期もあったけど
それはクラウドの仮想化サービス使えって結論でちゃったし
2017/10/15(日) 10:47:04.11ID:/8UsyUgn
>>113
Googleは全てのものがコンテナ上で動いてる
2017/10/15(日) 10:50:45.14ID:/8UsyUgn
>>113のようにDockerを分かってない人の典型例は、
Dockerがアプリデプロイ用のためのものだって
分かってないってことなんだよね。

クラウドの仮想化サービス使え?
その仮想化サービスにお前が作ったアプリを
配布するのはどうするんだよって話
2017/10/15(日) 10:57:19.24ID:/8UsyUgn
次の反論も想定できるから先に行っておくと、

アプリデプロイするなら、デプロイツールを使えばいいだろ?だって?

お前のアプリはどのOSでも同じ手順でデプロイできるのか?
ミドルウェアは何も使わないのか?ライブラリは何もいらないのか?
手元の開発環境(WindowsやMacOS)で動かしていたものが
クラウドの仮想化サービス=Linuxで動くのか?

Docker使えば手元で動かしたLinux用のDockerイメージを
そのままクラウドの仮想化サービスで動かせるんだよ。
2017/10/15(日) 11:08:18.67ID:/8UsyUgn
もしこのあと反論があるとしたら、

うちはJavaを使ってる。一度プログラムを書けば、どこでも実行できる
Write once, run anywhereだよ

かな?


http://www.wdic.org/w/TECH/Write%20once%2C%20run%20anywhere
> 実際には、バイナリレベルでは仮想計算機の実装のバグ、ソースレベルではAPIの
> 実装バグやそもそも対応するAPI仕様の違いなどにより、どこでも確実に動くと断言できることはあまりない。
> このため、"Write once, test(debug) everywhere"(一度書いて全個所で試験(デバッグ)する)と揶揄されることもある。
2017/10/15(日) 11:14:03.69ID:jiVarmiT
配布ごときなんでもいいよ
むしろたかがアプリケーションのデプロイにDockerを使うのは過剰すぎる

そもそもどんなOSにも配布する必要がない
他人に使ってもらうためのアプリケーションしか考えられないバカか?

ミドルウェアやライブラリは仮想マシンイメージに入れときゃいい
なんならイメージはまっさらにしてansibleで構成してもいいだろう

手元で動かしていたものがクラウドで動くんだよ
お前はテストしたことないのか?
2017/10/15(日) 11:15:12.03ID:jiVarmiT
JVMのバグは気にするのにDockerのバグは見て見ぬ振りかよ
お前の環境のDockerとクラウドのDockerが同じ保証はどこにあるんだ?
2017/10/15(日) 11:22:49.81ID:jiVarmiT
銀の弾丸を手に入れたつもりになってるバカってほんと迷惑だよ
うちにもDocker Dockerうるさい奴がいるけど
そいつはDocker使いたいだけでDockerの事も社の保有するインフラの事情や社内政治のことをなんもわかってない
2017/10/15(日) 11:24:20.20ID:jiVarmiT
手元で動いてこりゃ便利とか思ってるだけで
実際に大規模なサービスで運用したこともない雑魚なんだろうな
ぶっちゃけ透けて見えるよ
2017/10/15(日) 11:27:36.15ID:/8UsyUgn
JavaのWrite once, run anywhereが失敗したのは、
違うOSなのに、Javaの力だけで同一の実行環境を
作り出そうとしたところなんだよな。

Dockerのアプローチは別で、Linuxという環境のみで
Write once, run anywhereを実現したということ。
Linuxでしか動かないじゃんと思うかもしれないが、
WindowsとMacではすでにある仮想マシン技術を利用することで実現
もっともWindowsとMacは本番用途としては考慮されてないと思うが。

本当に同一環境か?という点で見ると、Linuxのカーネルの違いというものはある
だけどLinuxは元からカーネルが違ってもユーザーランド(カーネル以外)には
100%に近い互換性を持たせる方針なのでそれが問題なることはない。

だからローカルで開発で使用していたDockerイメージをそのまま
クラウドの仮想化サービス上に持っていくことができる。
その作業も単にdocker runするだけ
2017/10/15(日) 11:29:17.48ID:/8UsyUgn
>>118
> そもそもどんなOSにも配布する必要がない
> 他人に使ってもらうためのアプリケーションしか考えられないバカか?

え? 自分一人で使うアプリケーションしか考慮してないの?

普通は他人に使ってもらうアプリを作りし、開発する人も複数人、デプロイする人も自分以外にいる。
プロジェクト外れて他の誰かに完全に引き渡すことも有るし。
2017/10/15(日) 11:30:24.71ID:jiVarmiT
所詮は方針だろバカ
テストしろ
2017/10/15(日) 11:33:31.89ID:/8UsyUgn
>>121
> 実際に大規模なサービスで運用したこともない雑魚なんだろうな

実際に大規模なサービスで運用するならまずDockerだよw

いろんなクラスタ管理ツールが生まれてきたけど、
今はkubernetesに集約されつつ有るな。
これはDockerイメージを使うことが前提となってる。

知らない人もいそうなので適当に引用すると

https://qiita.com/MahoTakara/items/85096f8b2632c802ab22
> Kubernetes(クーべネティス)を一言で言うと、自動デプロイ、
> スケーリング、アプリ・コンテナの運用自動化のために設計された
> オープンソースのプラットフォームです。
> Kubernetesによって、要求に迅速かつ効率良く対応ができます。

あんた実際に大規模なサービス運用したこと有るんでしょ?
何使ってる?
2017/10/15(日) 11:34:05.67ID:jiVarmiT
>>123
そこで自分一人で使うって解釈になるのがアスペくさいな
サービス利用者は幾らでもいる
開発運用する側がプロジェクトメンバーと連携するのは当たり前だろ
むしろお前はプロジェクト内でOSも定めずに作業してんのかよ
どんだけ適当な職場なんだ
2017/10/15(日) 11:35:26.06ID:jiVarmiT
>>125
>まずDocker
ねーよwww
普通にansible使え
2017/10/15(日) 11:36:32.82ID:jiVarmiT
はぁ
アホの相手は時間の無駄だな
休日に何やってんだろ俺
2017/10/15(日) 11:36:53.92ID:/8UsyUgn
>>124
テストはするだろ?

ローカルのDockerイメージでテストすれば
それがサーバーでも動くことが保証される。

もちろんアプリの話ね。ローカルの開発と実際のサーバーでは
インフラの構成は違うので、その部分はテストが必要。
アプリの部分のテストがローカルでできるって話。

ちなみにローカルであっても実際のクラウドと互換性がある環境を
用意することでテストすることもできる。
その場合はminikubeを使うと良いよ。Kubernetesの公式ツールで
Kubernetesと同等の環境をローカルに作り出すことができる。
もちろんDockerイメージが有ることが前提

大規模開発ってDockerがないと大変だよねw
2017/10/15(日) 11:41:46.66ID:/8UsyUgn
>>127
ansibleでどうやってクラスタ組んで自動デプロイやスケーリングやってんの?

ansibleは特定のOSというか異なるディストリどころかディストリのバージョンが
上がった時でさえ使いまわしできないもので、環境ごとに用意するもの。
そして最低限の環境を作るものだよ。
OSとDockerのインストールと簡単なネットワーク設定程度にとどめておいたほうが良い

いちいちansibleでアプリから使用するライブラリのバージョンが
アップデートされたから入れ直しますとかやらないほうがいい。
そんなことやるとトラブルのタネにしかならんよ。

ansible(等)の冪等性は書いて有ることはその通りに設定されるけど
書いてないものに関しては、我関せずだからね。
環境ごとに用意しなければいけないansibleにたくさんのことを書くはめになる。
そしてそれはローカルの開発環境には使用できない
2017/10/15(日) 11:45:54.18ID:/8UsyUgn
>>126
> むしろお前はプロジェクト内でOSも定めずに作業してんのかよ
> どんだけ適当な職場なんだ

実行OSと開発OSが別ってだけですが?

いえ、サーバーと全く同じOS、例えば超軽いが実行専用にカスタマイズされていて
テキストエディタすら入っていない、CoreOSやContainer-Optimized OSを
普段の開発用OSとして使ってるっていうのならいいんですよ?

なぜ開発しやすい環境で開発して、それをそのままサーバー上で動かさないのでしょうか?w
まあそれができるのがDockerというわけ。
2017/10/15(日) 11:49:59.73ID:Ad4/97ip
本番でDockerもAnsibleもautoscalingも全部使うよ
使い方がわからないものは使わないほうがいいよ
便利の定義はスキルセットによるし
2017/10/15(日) 11:51:53.70ID:/8UsyUgn
autoscalingってAWSの機能か?
kubernetesはGoogleが作ったものだけど
GCP上ではなくAWSでも動く
俺はGCP上でしか使ったこと無いけどね。
2017/10/15(日) 11:55:03.35ID:/8UsyUgn
> 121 名前:デフォルトの名無しさん[sage] 投稿日:2017/10/15(日) 11:24:20.20 ID:jiVarmiT [6/10]
> 手元で動いてこりゃ便利とか思ってるだけで
> 実際に大規模なサービスで運用したこともない雑魚なんだろうな
> ぶっちゃけ透けて見えるよ


さて、こいつが大規模サービス運用したことが有るような
発言してくれるのはまだだろうか?w
低いスキルセットしか持ってないのが透けて見えるよ。
2017/10/15(日) 11:59:36.35ID:/8UsyUgn
上の方でDockerの技術がわからないから政治問題にすり替えようとしている人がいたけど、
コンテナ自体はLinuxカーネルの機能で、Dockerはそれをラップしているツール。
代替技術は他にも有る。

例えばrkt。検証はしてないがKubernetesでも対応している。

そしてこういうものも有る。
http://www.publickey1.jp/blog/16/kubernetescri-odocker.html
> Kubernetes、独自のコンテナランタイム「cri-o」開発中。
> コンテナランタイムのインターフェイスを標準化し、
> Dockerだけでなくどんなコンテナランタイムでも対応可能に
2017/10/15(日) 12:00:21.34ID:Ad4/97ip
Dockerは仮想化とコンテナ、AnsibleはDeploy
コンテナはDeployの一手段だから混同してしまうのは仕方ない
ID:/8UsyUgnも煽るような言い方してよくない
2017/10/15(日) 12:01:19.25ID:/8UsyUgn
> ID:/8UsyUgnも煽るような言い方してよくない
良いだろw それが5ちゃんねるだ。
2017/10/15(日) 12:11:27.93ID:/8UsyUgn
Ansibleは構成管理ツールだよ。マシンの構成を管理するだけ
アプリのデプロイは行わない。

もちろん頑張ればデプロイもできるけど、構成管理ツールで現実的なデプロイは
すでに完成されたアプリを動かす程度
いま自分らが開発している真っ最中のアプリは内容が多くなりがちで変更も頻繁に発生するので
Ansibleでやるのは大変。playbookが正しく動くかのテストが必要になる。
作成したplaybookはなるべく変更しないような、そういう使い方にとどめておいたほうが良い

んで、Dockerももちろんデプロイツールではない。デプロイを容易にするために
開発しているアプリとその周辺(ミドルウェアやライブラリ)をひとまとめにするもの。

デプロイする時に細かいコンポーネントに別れていたら、
それらを一つ一つデプロイするものとして書いていかなければいけないけど、
それらがひとまとめになっていれば一つだけデプロイすればすむ
それがDockerイメージ

デプロイするべきものが一つになるので、デプロイはツールを使うまでもないんじゃね?
って言いたくなるほど、シンプルになる。

そこまで来るとAnsibleを使って、Dockerイメージをデプロイするのもありだよw
そう。AnsibleとDockerは組み合わせて使うものなんだ。

まあGCPなどのクラウド使っていれば、その基本機能としてDockerイメージを
使う方法があるから、Ansibleを使わなくて良いんだけどね。
2017/10/15(日) 12:51:15.75ID:SUmdrC/e
俺もansibleはゴミって昔から主張してるけど、なぜかありがたがって使う人がいる
互換性酷い、yaml生産性悪い、かゆいとこ手が届かんで最悪
docker & ssh & shell scriptが最強
この組み合わせなら、誰でも使えるし、可能性も無限大
KISSの原則ってやつだな
dockerはどうなるかわからんがssh & shell scriptは長く安心して利用できる点も高評価
2017/10/15(日) 13:48:47.99ID:/8UsyUgn
>>139
> 互換性酷い、yaml生産性悪い、かゆいとこ手が届かんで最悪
それな。

使うために "中間層" が必要なるという仕組みが悪い
アプリのインストールや設定とか普段シェルスクリプトでやってるはず

だけどAnsibleとかそのアプリをインストールするためのプラグイン(中間層)が必要になる。
それをアプリが公式に用意しているならまだマシだけどそれは少数派
Ansibleがどれだけ成長したとしても、アプリに完全対応はできない。
バージョンが変わるたびにこの組み合わせで正しく動くだろうか?って考えなきゃいけない。

そしてプラグインを使うための知識が必要になる。
普段シェルスクリプトでやってるのと同じことをやるだけなのに
別の知識と道具が必要になる。

あとYAMLは本当に設計ミスだと思う。
構成っていうのは一連の流れで作るものなので
スクリプトの方が適切。
2017/10/15(日) 14:23:35.60ID:Ad4/97ip
ansibleはmodule使ってる限り冪等なのがいいんだろ

そして、yamlもそこまで悪くない
docker-composeでも使うし、生産性低いならきちんと訓練すべきだと思う
2017/10/15(日) 14:40:41.95ID:/8UsyUgn
> ansibleはmodule使ってる限り冪等なのがいいんだろ

「使ってる限り」と言ってる時点で駄目なんだよ。
なぜmoduleを使う? 自分で作ればよかろう?
もちろん作るのが大変だから使うのだろうがそれで起きてるのが互換性問題。

アプリ開発社からすればAnsibleや誰かが作ってる
非公式の質の低いモジュールを使わざるを得ない
ここでいう質の低いっていうのは、アプリのあるバージョンに
完全に対応していなかったり一部の機能が抜けていたりする。
そしてそれを自分で直さないといけなくなる

Dockerの場合はモジュールなどというものはなく自分でDockerfileを作るのが基本
もちろんある程度用意されているがほんの数行のファイルなので自分でメンテナンスできる。

> そして、yamlもそこまで悪くない
YAMLが悪いと言っているのではない。設定として使うのは問題ない。
構成管理のように順番があってその通りに実行していかなければいけないものを
YAMLという順番が関係ないようにみえる形式を使うのがダメだという話
やってることがスクリプト実行ならスクリプトで書けば良いんだよ。
設定とスクリプトは違うもの。
2017/10/15(日) 16:06:17.00ID:aaEJwvll
まぁ、そんなこと言い始めたらshなんて可読性も低いしpythonのほうがいいとかになるんだよね
少なくとも個人が書いたスクリプトより、ansibleのmoduleのほうが信頼性は高いよ
DockerだってFrom句使うほうが普通だろ
なんで、どっちかはダメと攻撃せずにいられないのか
酸っぱい葡萄が大好きなんだな
2017/10/15(日) 16:14:25.83ID:/8UsyUgn
> まぁ、そんなこと言い始めたらshなんて可読性も低いしpythonのほうがいいとかになるんだよね
> 少なくとも個人が書いたスクリプトより、ansibleのmoduleのほうが信頼性は高いよ

意味が分からん。ごく普通にシェル使ってインストールとかしてるだろ?
もしかして黒い画面恐怖症かなにかか?

スクリプトは単純に何かのインストールコマンドと
ファイルの変更ぐらいしかしないよ。
なんでいつもやってる作業を置き換えないといかんのさ
2017/10/15(日) 16:15:43.59ID:/8UsyUgn
> DockerだってFrom句使うほうが普通だろ
From区にはdebianとかrubyとかしか使わんなぁ。
公式で用意されていればそれ使うけど、
用意されてないならされてないで
自分でDockerfile書くだけだし。
2017/10/15(日) 16:16:17.65ID:/8UsyUgn
っていうかFrom区ってなんだw
FROMだろ
2017/10/15(日) 16:27:35.49ID:SUmdrC/e
誰が書いたかも知らないようなmoduleは危険だぞ
人類はnpm left-padで痛い目にあったばかりじゃないか
2017/10/15(日) 16:29:20.49ID:/8UsyUgn
それな、DockerとAnsibleの違い

Ansibleは自分でやるべきことを誰かにやらせて楽をする。
Dockerは自分でやるべきことを自分でやるがその作業が楽になる。

誰かにやらせて楽をする方がいいかもしれんが、
それはその誰かが信用できる場合だけなんやで。
2017/10/15(日) 17:31:51.97ID:aaEJwvll
>>145
あ、そうなんだ。そういう人にとってはansibleのモジュールは使いにくいかもね。
一般的にはnginxとかフレームワークくらいは使うと思うけど。
てか、yml書くのだってvimが普通なのに、なんでsh書かないとterminal恐怖症なんだよ
意味わからん
2017/10/15(日) 17:44:48.24ID:aaEJwvll
てか、ansibleもDockerも同じ
なくてもどうにかなるんだけど、使える人は使う
使えない人は使わないし、使いたいとも思わない
そんだけ
2017/10/15(日) 18:06:11.48ID:HL16aayQ
ansibleは生産性下げてるよ
fabricとかでいいじゃないか
ああいうのでいいんだよ、ああいうので
2017/10/15(日) 18:19:59.49ID:/8UsyUgn
>>149
Ansibleのモジュールはシェルスクリプトでできることの
全てを網羅してないっていうのが一番の問題なんだよ。

nginxがバージョンアップした時、新しく追加された設定項目に
モジュールはすぐに対応してくれない。

シェルを使っていればすぐできることが
Ansibleだと対応する機能をいちいち調べて
シェルとは違う方法で記述しないといけない。

その中間の変換作業が無駄

それに当然の話だけど、Ansibleは自社で開発しているアプリ用の
モジュールが存在しない。作らないといけない。
おかしいと思わないのかね? シェルですでにやってる作業と同じことを
調べ直す作業を何故やっているのかと

あー、もちろんAnsibleでシェルスクリプトを実行できるのは知ってるよ。
そんなのを使うならシェルスクリプトでいいじゃんって話だからね。
2017/10/15(日) 19:00:33.44ID:aaEJwvll
それでいいんじゃね?
別に使わないとできないことはないよ
でもそれはshellだろうがDockerだろうがAnsibleだろうが同じ

そもそもAnsibleは環境構築以外だと、デプロイの導火線の発火に使うことが多いだろうから自社アプリ用のモジュールがなぜ必要なのかわからんけど
あなたにとってシェルがベストな選択肢なら、シェルがいいんじゃね?
2017/10/15(日) 19:05:19.96ID:aaEJwvll
>>151
そこらへんは議論の余地があるかもね
他にもPuppetもあるしChefもある

全部sshとshで実現できるってんなこといったら、その他スクリプト言語もラッパツールも全否定だからな…
彼は一体何と戦ってるのか…
2017/10/15(日) 19:35:47.65ID:vM8WLXd+
たかが数行、長くても数十行の単純なスクリプトでOK
冪等性などという高尚な概念を導入しなくても問題なく運用できる
これでわざわざ構成管理ツールを導入しようって方がどうかしてる
2017/10/15(日) 19:37:08.37ID:/8UsyUgn
>>153
> そもそもAnsibleは環境構築以外だと、デプロイの導火線の発火に使うことが多いだろうから

だろ? Ansibleでデプロイはしないし、だからデプロイそのものが簡単になるわけじゃない。
デプロイをするのはデプロイツールだが、Dockerを使えばデプロイツールが不要になる。
なぜなら単に1アプリを動かせばいい程度になるから
>>138ですでに書いたことだけどね

> あなたにとってシェルがベストな選択肢なら、シェルがいいんじゃね?

クラウド使って大規模アプリ開発をするようになると必然的にそうなるよ
トラブルを避けるためローカルとサーバーでなるべく同じ環境でやるのが良いんだが、
サーバーと同じOS使って開発するのは現実的ではない。
だからDockerを使ってアプリの実行環境だけを同じにする。

Dockerを使うと冪等性は必要なくなり、デプロイの内容もシンプルになる
一番楽なのがシェルスクリプト。Dockerfileもシェルスクリプトがベースになってる。

>>154
> 彼は一体何と戦ってるのか…

俺? 俺は↓これと戦ってる。これと

127 返信:デフォルトの名無しさん[sage] 投稿日:2017/10/15(日) 11:35:26.06 ID:jiVarmiT [9/10]
>>125
>まずDocker
ねーよwww
普通にansible使え
2017/10/15(日) 19:42:08.08ID:/8UsyUgn
> 他にもPuppetもあるしChefもある

PuppetもChefも、普段誰もがシェルスクリプトでやってることを
置き換えるには、重すぎる。いつもやってることをやるだけだろ?
本来新しいことは何も覚えなくてすむはずだ。

> 全部sshとshで実現できるってんなこといったら、その他スクリプト言語もラッパツールも全否定だからな…

そんなことは言っていない。
sshとshで実現できると言ってるのは、普段シェルでみんながやってる作業だけだよ。

パッケージのインストールとかその設定ファイルの変更とか、
そんなのその他のスクリプト言語やラッパーツールでやってないでしょw

普段やってることは普段やってる方法でやりましょうってこれだけの話だよ。
みんなシェルスクリプトでやってるんだからそれでいいじゃん。アホらしい。
2017/10/15(日) 20:13:25.63ID:Ad4/97ip
俺は逆にクラウド使うって大規模なクラスタ組む時以外はansibleなんて使わんけどな
できることはシェルと同じでもRoleやinventoryパターンに慣れたらsshだのシェルだのなんてやってられんわw
159デフォルトの名無しさん
垢版 |
2017/10/16(月) 15:59:08.48ID:1+BaSHIB
可読性とモジュール性とかカプセル化、の問題じゃね?
シェルにはオブジェクトや配列はない。
それどころかまともに型もない。
Ansible Puppet Chefはシェルに型と配列記法を
無名関数なんかを使えるようになっているから付加価値はあるだろ、
1つあれば十分のようには思えるが。
C言語あるからわざわざJava覚える必要ないって
言わないでしょ?
2017/10/16(月) 20:48:46.81ID:rY47nFh2
インベントリ管理は便利だと思う
Yamlはなぁ…これpythonそのままでよかったんじゃねえか?
2017/10/16(月) 23:20:32.48ID:t2YDIrX7
>>159
DSLって知ってる?ドメイン固有言語。
特定のタスク向けに設計されたコンピュータ言語

シェルというのはユーザーとコンピュータとの対話を行うために作られたもので、
慣れも有るだろうけど日常的な操作(=特定のタスク)が使いやすいもの
シェルスクリプトはその日常的な操作をスクリプトにしたもの。
言い換えると日常的な操作に特化したDSLなんだよ。

型や配列が使えるからということで、シェルの代わりにプログラム言語使って
system()関数とかでコマンド呼び出しとかしないでしょ?

だからプログラム言語的な能力で比較するのは意味ないんだよ。
一般的な言語の機能を捨ててまで、特定のタスク向けに設計しているわけなんだから。
用途(プロビジョニング)を前提に適しているかどうかって話をしないと

> シェルにはオブジェクトや配列はない。
bashなら配列も連想配列もある。
が、そもそもプロビジョニングという用途で配列とか連想配列は使わん
2017/10/16(月) 23:23:09.34ID:t2YDIrX7
YAMLとかPythonがダメって言ってるんじゃないよ。
普通に何かを作る時は使ってるし。

普段やってる作業を、別のやり方に変えるのが無駄だなぁって話

その別のやり方に大きなメリットが有るならまだしも、
別のやり方に変えるプラグインが必要で、そのプラグインができることしか
できなくなってしまうとか、劣化してるからさ。
163デフォルトの名無しさん
垢版 |
2017/10/17(火) 03:23:19.58ID:IfQVHUWW
>>161
プロビジョンで配列や連想配列を使わないんじゃなくて
便利じゃないから誰も使わないだけだよ。
bashに配列があっても集約する対象として複雑な概念が
オブジェクトとして構造化されていないから。
bashがRubyやPythonが出て来る前から設計されていたわけじゃないし
Chefとかはbashよりもさらに進化してオブジェクト指向に対応した
プロビジョン用DSLなわけじゃん。
Chef内でシェルも記述できるんだからシステムコール使いたいなら
そこで使えばいい。
依存関係もbashでInculudeなりラッパーするなりより
プロビジョンツール使ったほうが整理しやすいよ。
164デフォルトの名無しさん
垢版 |
2017/10/17(火) 03:35:54.06ID:pADXjsAY
要る要らないとかどうでもいいわ好きなもん使えよ
2017/10/17(火) 04:15:27.00ID:FGddFR9N
スレが伸びてると思ったら、奇形児が暴れてたのな
2017/10/17(火) 07:59:02.88ID:7/LKBs88
Ansibleは奇形
2017/10/17(火) 09:37:38.20ID:0cEpFleP
>>163
プロビジョンのどこで配列や連想配列を使うんだ?
2017/10/17(火) 09:55:50.26ID:0cEpFleP
>>163
なんかお前、本末転倒になってるよな。
やりたいことベースじゃなくて
配列が有るから配列使うんだ、
オブジェクト指向だからすごいんだ
みたいな

> Chef内でシェルも記述できるんだからシステムコール使いたいなら
> そこで使えばいい。

ならシェルスクリプトでやればいい。
っていうか普段のセットアップ作業でシステムコールなんか使わない

だから普段の手動のセットアップ作業を思い出せって
そこで必要なものしかいらないんだよ。配列とか使ってないだろ。
(もちろんループなどはシェルスクリプト使える)
2017/10/17(火) 11:59:23.93ID:H3QSh8hS
配列も連想配列も使うだろ
俺はansibleは嫌いだしシェルも可読性ゴミだからpythonで書いてるけど
2017/10/17(火) 22:31:09.27ID:0cEpFleP
>>169
どういう時に配列や連想配列使う?
何度も言うけどシェルを使っている時という前提は忘れないでね。

シェルを使うの具体的な例は、cdやlsやapt-getやcpやrmなど
CLIコマンドを使って何かしらのアプリのインストール作業
プロビジョニングの話なんだからそれぐらいは前提

あとforで$@をぐるぐると引数を回すのは配列ではない。
だってそれを配列と言ってしまうと、>>159の前提である
> シェルにはオブジェクトや配列はない。
が崩れてしまうから、引数のことではないのは明らか
2017/10/17(火) 23:27:36.98ID:YM8Fx9+d
>>170
サブネット全体に同じ設定入れたいときに、CIDR表記からipの配列作って応答あるものだけの配列にして設定ばらまいたりする
あと、mongodbのインストールするときにsource listにおまじない書かなきゃいけないんだけど、
osのversionによって書き方が違うからversionとおまじないを連想配列で持ってるよ

てかお前はシェル使ってりゃいいじゃん、誰も否定してないよ
リッチなスクリプト言語もツールも使わなきゃ死ぬってわけじゃないんだ
シェルだけに一生殻にこもっててくれ
2017/10/17(火) 23:32:40.82ID:O+BDW8Aj
そうだPowerShellを使おう
2017/10/17(火) 23:33:06.95ID:0cEpFleP
>>171
> サブネット全体に同じ設定入れたいときに、CIDR表記からipの配列作って応答あるものだけの配列にして設定ばらまいたりする
それなら別に配列使わなくても可変長引数で良いよね?

> osのversionによって書き方が違うからversionとおまじないを連想配列で持ってるよ
それはcaseでやれる

って感じで使わないと思うわけだよ。

難しく考えすぎじゃね?絶対配列じゃなきゃできないって思い込んでるでしょ?


> シェルだけに一生殻にこもっててくれ
俺は適材適所で使う道具を選んでいるだけ
PerlもPythonもRubyも使う。お前は全部Pythonなんだろ?
2017/10/17(火) 23:36:11.06ID:YM8Fx9+d
いやだから好きにしろよ…
shellでcaseなんて普段書かねーからぐぐらねーとswitchなのかcaseなのかもわかんねーよめんどくせー
適材適所で使う道具選ぶ作業にもどれ馬鹿
2017/10/17(火) 23:37:48.36ID:ivyQ9Kui
こんなやつ職場にいたら最悪だな
なんでシェル使わねーんだよ!!!とか言ってくるんだろ?
2017/10/17(火) 23:40:13.69ID:YM8Fx9+d
てかrubyとPython使い分けるってどんな状況だよ…
2017/10/17(火) 23:42:10.74ID:0cEpFleP
>>174
> shellでcaseなんて普段書かねーからぐぐらねーとswitchなのかcaseなのかもわかんねーよめんどくせー

その一言でよくわかったよ。

俺はどれが適切かという使う道具の話をしてる。
でもあんたの理由は道具じゃなくて「人」じゃん

まず道具を使えるという前提で話しませんか?
2017/10/17(火) 23:43:14.37ID:0cEpFleP
>>176
大抵はrubyが多いけど、機械学習系はpythonが強いよ。
あとGAEを使うなら起動が速いgoとかね
2017/10/17(火) 23:43:45.13ID:UsY1L3by
ansibleもまともに使えないやつがなんか言い出しててワラタ
2017/10/17(火) 23:44:56.73ID:YM8Fx9+d
プロビジョニングになぜ機械学習が必要なのか…
プロビジョニングが前提だと言ってたおじさんはどこにいったのか
2017/10/17(火) 23:45:01.14ID:0cEpFleP
>>175
> なんでシェル使わねーんだよ!!!とか言ってくるんだろ?

普段シェルを使ってセットアップしてるわけで
そのやり方を知っているはずなのに、
なぜわざわざansibleに置き換えるんですか?って

何かのバージョンが上がってansibleのプラグインが
対応してねーとか言ってるのを聞くたびに思ってるよw
2017/10/17(火) 23:46:29.72ID:YM8Fx9+d
ちなみにそのansibleの対応してないプラグインってのは具体的には何なの?
普通ansibleってプラグインじゃなくてモジュールって言うと思うけど
2017/10/17(火) 23:46:47.23ID:0cEpFleP
>>180
いや、話を聞けよw

俺が適材適所で言語を選んでいるってだけの話だ

> シェルだけに一生殻にこもっててくれ
とか言い出したから、俺はこもってないって話をしただけだ。

ちょっと落ち着こうぜ?w
2017/10/17(火) 23:48:43.51ID:EqLf+bAl
Dockerとansibleのちがいがわかってなかったやつはただの無知だけど
こいつはキチガイだな
2017/10/17(火) 23:49:23.25ID:0cEpFleP
>>182
正確にはモジュールだっけ?
でも公式でプラグインとも書いてあるよ。これとか

http://docs.ansible.com/ansible/latest/win_rabbitmq_plugin_module.html
2017/10/17(火) 23:51:08.93ID:YM8Fx9+d
例としてあがってきたのがインストール以上のことをするモジュールでワラタ
そんなんバージョンあがったら改修しなきゃいけないのはシェルスクリプトでも同じじゃん
ばか?
2017/10/17(火) 23:56:54.40ID:0cEpFleP
>>182
まあ対応してないモジュールも有るだろうけど、
俺が今いったのは新しい設定にモジュールが対応してないって話

具体的に何?と聞かれたらIssuesみろよ。大量に〜って思うだけなんだが
https://github.com/ansible/ansible/issues
https://github.com/ansible/ansible/pulls


まあ例えばこんなのとかわかりやすいかな?
tcpってオプションを選択できるようにするんだろうけど
こういうのだよ。普通にCLIでやってりゃできることなのに、
モジュールを更新しないと使えない。
https://github.com/ansible/ansible/pull/31228/files

ずーっと最新バージョンを追いかけていって大変だなぁとしか思えない
2017/10/17(火) 23:58:23.86ID:YM8Fx9+d
おーけーわかった
ぼくもうシェルスクリプトしか使わないよ
みんなもおじさんの言うことを聞くんだぞ!
2017/10/18(水) 00:00:38.25ID:HhDhJUF4
>>186
> そんなんバージョンあがったら改修しなきゃいけないのはシェルスクリプトでも同じじゃん

何度も言うけど、シェルスクリプトは自分で普段使っているわけでやり方知ってる。

シェルスクリプトでのやり方知ってるのに、対応するAnsibleの設定はどれだーって調べて
モジュールが対応していなければ、対応されるのを待たないといけない(自分でPR出してもいいけどさ)

俺が無駄だって思ってるのは、バージョンが上がった時の改修作業じゃない。
CLIなら改修する方法は公式見りゃわかるだろうが、
Ansibleを使ってると、公式で調べた上に、対応するAnsibleの書き方を
調べるという追加作業が増えたり、中間層のモジュール周りでトラブルになるのが無駄だって言ってる。
2017/10/18(水) 00:02:16.30ID:5NdiYnkp
仮想環境とまったく関係ない話してるシェル厨が大暴れしててワラタ
もうシェルスレにしろよwww
2017/10/18(水) 00:03:53.87ID:HhDhJUF4
>>188
プロビジョニングに関してはそれが良いと思う。
だってみな手動でのプロビジョニングやってるはずで、
シェルスクリプトでのやり方も知ってるわけだからね。
2017/10/18(水) 00:04:52.12ID:GaIyCTlI
>>191
一生やってなさい
2017/10/18(水) 00:05:23.88ID:HhDhJUF4
>>190
シェルスクリプトはDockerfileやVagrantfileでも使用するよ。
特にDockerfileはシェルスクリプトまんまと言っても過言じゃない。
ENTRYPOINTで呼び出すスクリプトも炊いてはシェルスクリプト
まあ軽いイメージにわざわざプログラム言語入れないしね。
2017/10/18(水) 00:05:44.45ID:HhDhJUF4
>>192
はい。反論が有る限り続けますよ。
2017/10/18(水) 00:06:27.78ID:J5g3uFgF
狂気じみてる
2017/10/18(水) 00:08:45.88ID:GaIyCTlI
ansibleのフォーラムで暴れてこいよ、お前ら全員あしたからシェル使え!!!って
なんで2chでクソ底辺の戯言聞かされなきゃいけねーんだ
2017/10/18(水) 00:10:21.61ID:YCPgdWPh
動かしたいホストで動かしたい処理を動かせるならansibleなんてめんどくさいものをわざわざ使わなくていい
ってことはシェルとSSHで十分なんだよな
2017/10/18(水) 00:15:26.03ID:HhDhJUF4
仮想環境と全く関係ない話だけど、
冪等性が必要だったのはマシンを壊さず使い続けるためで
何度もプロビジョニングを行う必要性から冪等性が必要だった

ここで仮想環境の話に戻すと、仮想環境では壊して作り直せば
いいので、冪等性が必要なくなった。

仮想環境だけで仕事が回ってるって会社は少ないだろうから
仮想環境以外のものにAnsibleを使うのはありだろう。

だけど、このスレ仮想環境だからね。
このスレ的にはAnsibleは不要ってことなんだよ。
(このスレと関係ある話をしてみましたよw)
2017/10/18(水) 00:16:26.91ID:HhDhJUF4
>>196
嫌なら見るなって何処かの誰かが言っていたよw
2017/10/18(水) 00:24:25.53ID:HhDhJUF4
>>197
それな。Ansibleの問題点の1つとして
リモート先にpythonがインストールされて
いなければいけないって問題が有る。

この制約もあるんでDockerfileでansible(python)は
使わないってのもあるんだろう。ベースとなる
ディストリにpythonが入っていないbusyboxを使う場合もあるしさ

例えpythonが使えたとしてもdockerイメージ作るだけの作業で
Dockerfileの中でansibleをインストールなんてのはやりたくないな。

(これも仮想環境コンテナの話w)
2017/10/18(水) 21:44:39.96ID:XAtaZZJd
Vagrantとかいうゴミはどうなったの?
Dockerに駆逐された?
2017/10/18(水) 22:06:41.02ID:HhDhJUF4
>>201
VagrantはDockerとは別のものだよ。

ただしDockerを使えば物理マシンでも比較的楽に
開発環境を作れるからVagrantを持ち出すまでもなくなってる。

でもそれはMacOSの話でWindowsは少なくともBash for Ubuntu for Windowsが
まともに動き出してからだな。と言ってももうベータ外れるらしいが。

だから(MacOS or Windows)+Dockerで開発するのが実用的と
みなせればVagrantはいらなくなる。

Dockerが駆逐するというより、Dockerの力を借りて
物理マシンでの開発に駆逐される。という感じ
203デフォルトの名無しさん
垢版 |
2017/10/20(金) 00:02:17.81ID:vd2jZWHS
このスレはシェル厨に支配されました
以下、シェルで出来る事を他の方法でやる人は粛清されます
204デフォルトの名無しさん
垢版 |
2017/10/20(金) 00:03:11.17ID:gO2nGHbF
vagrantとvirtual boxの設定
https://surleconomiejp.blogspot.jp/2017/10/vagrantvirtual-box.html
2017/10/20(金) 00:10:03.94ID:pYxyaYmj
>>107
visual stadioコンテナ欲しいです
ごめん、そもそもdockerでwindowsいけます?
2017/10/20(金) 06:24:49.56ID:l3SzA2hH
Docker原理主義者って全部Dockerでやるの?
フロントのNGINXとかデータベースは普通のサーバーのほうが使いやすくねえか?
2017/10/20(金) 08:59:58.03ID:6WjQxFol
全部Dockerだよ
2017/10/20(金) 09:53:29.13ID:uOisOSsS
>>206
Docker原理主義だけど全てDockerで
やるわけじゃないよ。

Docker原理主義っていうのは正しい用途に
Dockerを使うのであって、間違った用途に使うわけじゃない
2017/10/21(土) 08:24:25.20ID:KicYxM26
>>201
VagrantとDockerはレイヤーが違う
2017/10/21(土) 10:40:49.52ID:ut7aXw9f
vagrant: 仮想ネットワーク構築
ansible: シェルスクリプトの起動
シェルスクリプト: (初回のみ) install docker、docker pull、docker run
2017/10/21(土) 11:40:16.52ID:Nlq4KP6d
Vagrantはクライアント環境の再現にしか使ってない
インスタンスに対するdockerとかpipとかのインストール、ソースとかイメージのビルド、実行環境でのdocker pullとrestartはAnsibleを使ってる
DockerはLB、webアプリケーションなどDBを除く、ほぼ全てに対して適用
だけど最近はLBもELBだけでよくね?的な瞬間もあるので、もはやサーブレットとかIronくるむ以外には、あんまり使ってない
ビルド環境をイメージ化しようかと思うこともなきにしもあらずだけどビルドサーバー立てるほうがメンテが楽なので、今はやってない
2017/10/21(土) 12:02:43.48ID:1eBICzfj
docker buildすればWebアプリケーションのデプロイが楽とはいうけど
そんなことしなくてもデプロイ簡単だよな
dot netだったらフォルダ同期してプロセス起動するだけだしランタイムのインストールも要らない
dockerだと鯖にdockerを入れなきゃいけないけどそれがコマンド一発ではないからめんどくさい
2017/10/21(土) 12:05:31.39ID:Nlq4KP6d
>>212
.Netだと事実上WindowsServerじゃないと動かないじゃん…
デフォルトでsshすらあがってないOSは、さすがに手が出しにくいな
2017/10/21(土) 12:09:01.62ID:Nlq4KP6d
そしてフォルダにしちゃうとバージョン管理がしにくそう
ロールバックの仕組みが入れづらくないかい?
てか、.NetならAzureとVS組み合わせれば、同期がどうのとか細かいことは気にせず、めちゃ簡単に最新版をデプロイできるんじゃないの?
2017/10/21(土) 12:24:34.02ID:1eBICzfj
>>213,214
普通にlinux鯖
バージョン管理とデプロイは別の話
2017/10/21(土) 12:26:15.36ID:Nlq4KP6d
バージョン管理とデプロイが別なのは同意
失礼しました

それにしても、今は.Netも普通にLinuxて動くんだね
いろいろと幅が広がるな
2017/10/21(土) 12:33:36.97ID:zkU9oivG
>>212
いや、根本的に発想が違ってる。
「ランタイムライブラリのインストールはいらない」を前提にしているが、
そもそもの問題は、

1. アプリを開発する
2. そのアプリはいろんなライブラリを使用している

という前提において、

理論的にはライブラリのバージョンが異なっていても互換性が完璧なら動くはずだが、
バージョンが異なると動かなくなることがある。
という現実的な問題を解決するために生まれたんだよ。

アプリを完璧に動かしたいのであれば、開発したアプリだけではなく
アプリが使用しているライブラリなど全てを含めた「パッケージ」を
作らなければいけない。

一つの手としてディレクトリに使用するライブラリを全部入れる
なんて方法もあるだろう。Dockerはその発展系と考えればいい。
2017/10/21(土) 12:33:57.53ID:zkU9oivG
そして都合がいいことにLinuxではカーネルとユーザーランドという区別の仕方が有る。
例えばディストリが違っていても、カーネルは(バージョンの違いはあれど)同じものを使っている。
だからディストリの差というのは(ドライバなどカーネルレベルのモジュールを除いて)
ユーザーランドの違いといえる。カーネルは共通のものが使える。

カーネルは小さい機能に留めておくことで高い互換性を保っている。
そしてLinuxを構成する大部分はユーザーランドレベルのもの。

Dockerの話に戻すと、Docker(コンテナ)の仕組みっていうのは、
アプリが使用しているライブラリをディレクトリにまとめるなんてちゃちなやり方ではなく、
今、ユーザーランドの説明をしたろ? なんと大胆にカーネル以外の全てを1つのイメージにまとめてるんだよ。

話をまとめると、Dockerというのは開発したアプリをちゃんと動かすために
動かして検証した環境、小さいカーネル以外をすべてパッケージ化したもの。
だからLinuxのカーネル+Dockerがあれば、Dockerイメージだけをデプロイする。
デプロイ先の環境を意識する必要ががないから、デプロイが楽なんだよ。
このOSでは動作保証していません。このライブラリのバージョンでは動作保証していません。なんてことがない
2017/10/21(土) 12:36:07.71ID:Nlq4KP6d
.Netはそういう難しい話はないでしょ
3系使うか4系か4.x系かの違いくらいで、それはまるっとみんなで揃えましょう精神なんじゃねーの?
2017/10/21(土) 12:38:41.42ID:zkU9oivG
>>213
> デフォルトでsshすらあがってないOSは、さすがに手が出しにくいな

Dockerだとデプロイ先にSSHなんて不要だからね。
カーネルとDockerサーバーだけあれば動く。

もちろんそのOSに.netのとあるバージョンが
インストールされていることなんて制約はない。

.netがインストールされていることと
dockerがインストールされていることは
一緒ではないか!と思うかもしれないがそれは違う。

テストして動作確認したアプリは、.netの場合
そのインストールされている.netライブラリの機能を利用しているが
dockerの場合は、dockerのライブラリを利用しているわけじゃない。

dockerの場合dockerイメージを起動するのに必要ってだけで、
アプリが利用しているのは、イメージに含まれているライブラリと
小さなLinuxカーネルのみでアプリ自体はdockerには依存していない。
アプリが.netに依存しているのとここは大きな違い
2017/10/21(土) 12:42:02.41ID:mrPCTHTL
ID:zkU9oivGはなんでみんなが知ってる事を、だらだら書いてるの?
せめて、お前がどういうシステムをどういう環境でどう運用してるか書けよ
2017/10/21(土) 12:45:23.73ID:zkU9oivG
>>219
> 3系使うか4系か4.x系かの違いくらいで、それはまるっとみんなで揃えましょう精神なんじゃねーの?

だから同じ4系でも互換性問題は発生するいう考え方だよ。
それを防ぐためにアプリ自体に.netをまるまる含めたようなもの

アプリに.netが含まれていればアプリを配布するだけでいい。
でも、アプリに含まれていなければ、.netのアップデートをしなければいけなくなる。
2017/10/21(土) 12:46:35.39ID:zkU9oivG
>>221
知らないからdockerの方がデプロイが楽って分かってないんでしょw

誰もがあんたみたいに知ってるわけじゃないんだから
知ってる人は黙ってなさい
2017/10/21(土) 12:49:27.16ID:mrPCTHTL
むしろお前のほうが.Net開発の現場を知らなそうだけど
どんなに便利でも、Dockerなんて使ってないよ
2017/10/21(土) 12:52:16.98ID:zkU9oivG
>>214
> てか、.NetならAzureとVS組み合わせれば、同期がどうのとか細かいことは気にせず、めちゃ簡単に最新版をデプロイできるんじゃないの?

「AzureとVS組み合わせれば」っていうのがダメだね。
それは「簡単」ではない。

Dockerは「Dockerサーバーがあれば」デプロイできる。
その「AzureとVS組み合わせる」のは大変だが、
「Dockerサーバー」はどこでも存在する。

手元のWindowsマシンだろうが、Linuxマシンだろうが、MacOSマシンだろうが、
「Dockerサーバー」は存在する。

だから手元にデプロイしたものをそのままAzureだろうがAWSだろうがGCPだろうが
オレオレクラウドだろうが、めちゃ簡単にデプロイできる。
こういうレベルのものを「めちゃ簡単」と言うんだよ。

この手元にデプロイしたものをっていうのが本当に便利で、
開発してテストしたら、それは実機環境でテストしてるのほぼ同じなんだよ。
違いは小さなカーネル部分だけ(Dockerサーバーのバージョンには依存していない)
2017/10/21(土) 12:53:44.30ID:Lfp6S+wn
>>217
だからその厳密にバージョン指定された依存関係まで含めて簡単にビルドできるんだよ
外部依存を全く無くしてポータブルなバイナリを作るのも簡単
ビルダだけで済む話なのにそのためにdockerを使うのは過剰すぎる
2017/10/21(土) 12:53:44.56ID:zkU9oivG
>>224
> どんなに便利でも、Dockerなんて使ってないよ

すまんな。Dockerが今は便利かどうかの話をしているんだ。
あんたの現場特有の話はしてない。あんたの会社の話を
したって意味ないじゃないw
2017/10/21(土) 12:59:17.59ID:zkU9oivG
>>226
.net以外のものを組み合わせるときは?

全てのライブラリが.netで作られているならば可能かもしれないけど
それは現実的ではない。Cのライブラリが使われることも有る。
RubyやPythonで作られているかもしれない。
すでに存在するnginxやmysqlなどと組み合わせることも有る。

Javaもそうだけど、.NETやJavaの世界で完結していればできるっていうのは
結局.NETやJavaの世界で完結していなければ出来ないって言ってるのと同じなんだよ。
それは現実的ではないよね。
2017/10/21(土) 12:59:28.60ID:mrPCTHTL
>>226
ほんとこれ
NuGetでそこらへんは用が足りてるんだよね

てかVSとAzureより、Dockerのほうが楽とか狂気すぎ
Windows上でDocker動くようにするほうが大変だろ
そんで得られるメリットがプロセスの仮想化です!ってやってられんわ
2017/10/21(土) 12:59:54.34ID:mrPCTHTL
>>228
.Netで完結します
おつかれ
2017/10/21(土) 13:01:46.72ID:hXGDex9u
このスレ定期的に長文基地外がわくね
2017/10/21(土) 13:02:24.19ID:zkU9oivG
.net使うにしても、dockerイメージを使えばデプロイは楽になるだろうね。
なぜなら、そのdockerイメージの中に.netランタイムまで入っているから。

Dockerサーバーがあれば(それはきっと手元のマシンに入っているだろう)
どこぞのdockerイメージを、手元の環境を見直すこと無く直ぐに動かすことができる。

Windows 10で最新の.netがインストールされていること
なんて制約はない。
2017/10/21(土) 13:02:55.54ID:zkU9oivG
>>230
> .Netで完結します
遠吠えwwww

誰が、そんな説明で納得すると思ってんるんだ。
出直してこい
2017/10/21(土) 13:03:35.60ID:uF51TTqU
ありとあらゆる条件が全く同等という保証がなければDockerだろうがなんだろうが実機テストは必要
それがテストってものだよ
手元の仮想環境と鯖の仮想環境はおんなじだ(だと思う)からテストはしなくていいなんてのは実社会では通用しないぞ
2017/10/21(土) 13:04:51.34ID:lul59eSB
Dockerはwindowsだと10以降しか対応してなくね?
開発環境が窓っていう、かわいそうな現場は大半がまだ7だからdockerなんか動かないだろ
2017/10/21(土) 13:06:43.75ID:zkU9oivG
>>234
あ、はい、時間とコストの問題です。(言わなきゃ分からんかな?)

手元が実機とほぼ同じであれば、実機で見つかるバグは手元でほとんど再現します。
だからより早く少ないコストで修正できるということです。

可能か不可能かのはないをするのは実社会で通用しないぞ?w
重要なのはどれだけコストが小さくできるかだ。
2017/10/21(土) 13:07:37.66ID:uF51TTqU
>>235
virtualboxで動くよ
さすがはdockerというほかない
どこでも使える
2017/10/21(土) 13:09:30.78ID:zkU9oivG
>>235
動くよ?
https://qiita.com/0829/items/d303412b15e8f473f3be

ってか、dockerさえ動けば良いのだからどんな方法でも良い。
アプリ自体はdockerには依存してない。
2017/10/21(土) 13:10:45.14ID:uF51TTqU
>>236
おやおや
君の発言からはまるで実機テストは必要ないと言っているように聞こえたが?
新しい技術を覚えたてで興奮する気持ちはわかるが発言は冷静になってからにしたほうがいいぞ
2017/10/21(土) 13:12:34.46ID:zkU9oivG
ふむ。さすがマイクロソフト。
当然だが組み合わせて使うことの意味をちゃんと知ってるな。

NET Core アプリケーションの Docker イメージのビルド
https://docs.microsoft.com/ja-jp/dotnet/core/docker/building-net-docker-images

NET Core と Docker を一緒に使用する方法を理解するには、まず、提供されるさまざまな
Docker イメージと、適切な使用のタイミングを把握する必要があります。
ここでは、提供されるバリエーションを確認し、ASP.NET Core Web API をビルドし、
Yeoman Docker ツールを使用してデバッグ可能なコンテナーを作成し、
さらにプロセスにおいて Visual Studio Code がどのように役立つかを簡単に確認します。
2017/10/21(土) 13:13:04.58ID:YCde4Ox3
長文で暴れてるのって同一人物だろ
コテつけてほしい
2017/10/21(土) 13:13:53.59ID:zkU9oivG
>>239
> 君の発言からはまるで実機テストは必要ないと言っているように聞こえたが?

ならお前の耳が悪いんでね〜の?w

聞こえたのは「お前」の耳(目)
言ったのであれば、それは俺の口(手)だがw

いえ「実機テストが必要ない」と書いてある文章を
示せるというのであれば、示して良いんですよ?w
2017/10/21(土) 13:14:14.77ID:zkU9oivG
>>241

ID変えるようなやつだから無理
2017/10/21(土) 13:17:10.24ID:zkU9oivG
コンテナー - 従来の .NET アプリを Docker で最新化する
https://msdn.microsoft.com/ja-jp/magazine/mt797650.aspx

> このような従来のアプリケーションでは依然として大きなビジネス価値が提供されていますが、
> その保守、アップグレード、拡張、および管理は難しくなっている可能性があります。

やっぱり.NETでは保守、アップグレード、拡張、および管理は難しくなってるんだね。

> 同時に、このようなアプリケーションをすべて作り直すことも、そのために必要な投資に
> 見合わない場合があります。ただし、軽量なコンテナー内でアプリケーションを実行する
> プラットフォームである Docker と、Windows Server 2016 を併用することで、
> 従来のアプリケーションの寿命を伸ばすことが可能です。つまり、機能を追加し、
> セキュリティとパフォーマンスを向上して、継続的配置に移行します。
> それも、時間がかかるうえにコストが高い再構築プロジェクトを実施する必要はありません。

継続的配置(配置=デプロイ)がDockerは便利だってMSも認めてるね。
2017/10/21(土) 13:18:45.25ID:uF51TTqU
>>242
自分のレスを冷静に見つめ直してごらん
あたかもテスト不要であるように取れる発言を何度もしてるよ
これから社会に出るのだろうし反省することも覚えたほうがいい
2017/10/21(土) 13:21:03.22ID:YCde4Ox3
>>243
あなたにコテつけてほしいってことなんだけど…
2017/10/21(土) 13:23:50.11ID:zkU9oivG
>>245
> あたかもテスト不要であるように取れる発言を何度もしてるよ

引用できない時点で、説得力ゼロ
できないなら、なんなら俺が引用してあげようか?

例えば >>225
> 開発してテストしたら、それは実機環境でテストしてるのほぼ同じなんだよ。
> 違いは小さなカーネル部分だけ(Dockerサーバーのバージョンには依存していない)

「ほぼ」同じと書いて有ることから、全く同じではないということがわかる。
そして「違い」について書いてあるから、違いが有ることも明示されている。
よって実機環境でテストが不要ということにはならない。

さて、次はあんたの番だ。
2017/10/21(土) 13:25:22.89ID:zkU9oivG
>>246
ID見ればわかるし、俺にコテを付けるメリットがない。
というか、5ちゃんねるでコテはつけないというは
俺の中でとっくの昔に決めたルールなので言うだけムダだw
2017/10/21(土) 13:41:22.32ID:uF51TTqU
>>247
15日あたりのレスとかなぁ
2017/10/21(土) 13:42:48.09ID:zkU9oivG
そこまで調べて引用できないとか、やっぱりなぁとしか思えんな
2017/10/21(土) 13:46:47.12ID:uF51TTqU
>>122
>だからローカルで開発で使用していたDockerイメージをそのまま
>クラウドの仮想化サービス上に持っていくことができる。
>その作業も単にdocker runするだけ

JavaのWOTAとの対比で語っちゃってるしこれはそうとしか読めんなぁ
2017/10/21(土) 13:55:29.54ID:uF51TTqU
どうした?
言い訳が思いつかないのか?
2017/10/21(土) 14:01:47.02ID:zkU9oivG
>>251
持っていくことができるよ?
持っていってテストするんだろ?
何を言ってるんだとしか思えんわw
2017/10/21(土) 14:06:21.17ID:uF51TTqU
>>253
ん〜
ちょっと厳しいなその反論は
じゃあなんでJavaと対比したの?ってなるよね

Javaはwrite once, test everywhereのクソだけどそれに比べてDockerは〜
っていう文脈でしょ?
2017/10/21(土) 14:18:41.57ID:zkU9oivG
>>254
ワロタwww
お前バカだわ。うん。バカだわ

Javaが主張した言葉、Write once, run everywhere
で、それがが批判されてるのは、実行できると言うが
そこらじゅうでデバッグ(テスト)しなきゃいけないって批判されているほど、
Javaのrun everywhere「どこでも走るレベル」は"低い"って話だ。
低いから、そこらじゅうでデバッグ(テスト)しなきゃいけない

なぜか? そりゃそうだ。各OSごとで同じものを使うのではなく
各OS毎にライブラリ側で抽象化レイヤを開発してるからだ。
同じものを使っているんじゃない。違うものを使って同じに見せかけてるから
それじゃ互換性レベルは低くなるよねってことだ。

それに比べてDockerは同じものを使う。ライブラリを各OS毎に用意するのではなく
同じものをイメージに同梱する。だからJavaよりもはるかに高いレベルで
DockerはWrite once, run everywhereを実現している。
違いは高い互換性を持つカーネルのみだからな。
Write once, run everywhereなわけだ。


で、お前は、(Javaが主張した言葉)Write once, run everywhere は
全くテストしなくていいって意味で言ってると思うか?

お前がバカだって言った意味がわかったか?

お前は(Dockerが実現している)Write once, run everywhere を
実機で「全く」テストしなくていいという意味だって勘違してるなってわかったからだよ。
2017/10/21(土) 14:21:12.73ID:zkU9oivG
結局、.NETも同じことになるんだろうな。

Windows実装版とLinux実装版で違いが有るのなら、
全く同じように動くわけじゃない。

同じものを使わなんと同じようには動かんよ。
理論的には動くだろうけど、違う実装なら違いは出る。

全く同じものを使うDockerの利点はそこに有る。
2017/10/21(土) 14:24:16.29ID:uF51TTqU
>>255
残念だけどそう考えてるのは君だけだよ
君のレスを読んだ人は
あ、こいつDocker使えばテストいらんと思ってるな
と思うわけだ
社会に出たら人からどう見られるかってのも大切だから覚えておいてね
2017/10/21(土) 14:31:43.74ID:zkU9oivG
まあ別の言い方で簡単に>>254がバカだって証明するならば

> Javaはwrite once, test everywhereのクソだけどそれに比べてDockerは〜
> っていう文脈でしょ?

write onceはJavaもDockerも同じなので省略するとして

Javaは、test everywhere(どこでもテスト)
Dockerは、not test everywhere(not どこでもテスト)

「どこでもテスト」の反対は「テストなし」ではない
「全て」の反対は「一部」であって「無」ではない
2017/10/21(土) 14:33:36.33ID:zkU9oivG
>>257
> 君のレスを読んだ人は
> あ、こいつDocker使えばテストいらんと思ってるな
> と思うわけだ

だからどこにそう書いてある?引用してみて。

すでに俺は「テストいらないと言ってない所」を引用済み

お前が、他人の説明を間違って解釈して喚いていているやつってのは証明した。
社会に出たら人からどう見られるかってのも大切だから覚えておいてね
2017/10/21(土) 14:36:58.71ID:zkU9oivG
今回は見事論破(笑)できたから

> ちょっと厳しいなその反論は
と言えなかったんだろうなw
261デフォルトの名無しさん
垢版 |
2017/10/21(土) 21:13:10.64ID:OISii71C
docker使うケースは頻繁なデプロイが前提だったり迅速なスケールアウトが必要だったりの事情があるはずで、
そういう場合に例えば速度面でVMより起動が速い事が一番のメリットだ、という理由があって使うんじゃねーの?
あと消費リソースがVMより少なくて済むとか。

実行環境のパッケージングだけならVagrantでもansibleでも事足りるわけで、
それこそ全部シェルでやれっつーシェル厨もいるだろうけどw
まぁデプロイ楽にする方法なんて他にもあるし、要求や制約に合わせて選ぶもんだ。

メリットが享受できないユースケース出してきてdocker要らないっつーのも馬鹿だし、
他に方法があるのにdockerをお押しつけるのも馬鹿。

テストにしても、ライブラリのバージョン依存のバグを本番環境でのテストまでに見つけられない方が問題なわけで、
ID:zkU9oivGが言いたいのは、そこのバグはもっと早期に潰してる前提でしょ?
テストなんて工程別に目的持ってやるもんなのに、全部ひっくるめて語るのは暴論だわな。
2017/10/21(土) 22:19:05.77ID:01fxNEyn
>>261
> 実行環境のパッケージングだけならVagrantでもansibleでも事足りるわけで、
だから全く別のものを混ぜないでくれ。分かってないことがバレバレだろ。

ansibleは構成管理ツール。マシンの環境を構築するツール
無理やりDockerに対応づけるならば、Dockerfileを使ったDockerイメージのビルド作業だよ。
(Dockerイメージのビルド作業にAnsibleを使うようなやつはいないが)
ansibleはDockerと違ってイメージを作るものじゃない。
ただのセットアップ手順書だ

Vagrantは、仮想「開発環境」構築ソフトウェア実機で使うことは想定されていない。
無理やりDockerと関連付けるならば、Vagrantで構築された仮想環境には
Dockerサーバーもインストール済みで、すぐにDockerコマンドが使用できる。
みたいな使い方をするんだ。

例えば開発環境の話をしてるとして、 Vagrantで作った仮想マシン VS 物理マシン(Windows、MacOS、Linux) の
どちらであなたは開発してますか?とかこういう使い方をするんだよ。

仮想マシン上でもDockerは使えるし、物理マシン上でもDockerは使える。
物理マシン上で作成したDockerイメージがVagrant上でも動く
クラウドでもDockerサーバーをインストール済みのVMイメージが公式で用意されているから
同じDockerイメージをそのままクラウドでも使うことができる。

Vagrantで作ったイメージが、クラウド上の仮想マシンで動くことなんてまずないからな。
Nested VMは茨の道だよ。それが出来たとしても起動時間、使用メモリ、ネットワークの点から
デメリットしか存在しない

Vagrantが実行環境のイメージ化(=実行マシン構成が含まれる)とするならば
Dockerはアプリケーションのイメージ化だ。アプリケーションにはマシンの構成が含まれないから
物理・仮想マシン関係なくどこででも動くんだ。ただの1つのアプリケーションだもの
2017/10/21(土) 22:21:53.51ID:GGRodYi7
イメージのビルドにAnsible使ってるよー
2017/10/21(土) 22:27:51.08ID:01fxNEyn
そういやAnsible Containerってのができたんだっけw

なんかメリットあんの?
コンテナイメージの作成がDockerfileじゃできないほど
複雑なものでも作るの?

シェルスクリプトが使えない人の救済用以外の
メリットがあるなら教えてください。
2017/10/22(日) 00:59:52.33ID:0M1ELFL1
いや普通にDockerfileのビルドに使ってるでよ
docker_imageってモジュール
2017/10/22(日) 01:00:55.77ID:0M1ELFL1
てかシェルスクリプト使えない人ってどゆこと?
窓ユーザーってこと?質問の意味がよくわからん…
2017/10/22(日) 01:13:03.22ID:sDdgCD4Q
>>265
お、おう。
それはdocker buildコマンドを叩く代わりに
ansibleを使っているってだけの話だな。
dockerコンテナへのデプロイではなく

どころで普段、端末からdocker使えるか?
docker build -t tag . とか
docker run -it debian /bin/bash
みたいなのそらで打てるか?

ansible使わないとコマンド打てないっていうんじゃ恥ずかしいぞ
2017/10/22(日) 01:14:41.12ID:sDdgCD4Q
>>266
世の中には、ansible経由で設定ファイルを書いて
コマンドを実行している人がいるかもしれない。

dockerに新しいオプションが増えてもすぐに使えずに
http://docs.ansible.com/ansible/latest/docker_image_module.html
このモジュールが対応していることしかできないって人もいるかもしれない
2017/10/22(日) 01:17:06.88ID:oq9fIgmy
buildもpushもpullもrunも全部ansibleでやるときあるよ

dockerの基本的なコマンドそらでうてないやつなんているの?
ローカルでやるときはいちいちansibleなんてつかわんのに

質問の趣旨は??
2017/10/22(日) 01:19:08.12ID:oq9fIgmy
>>268
え、設定ファイルってDockerfileをってこと??
それをlineinfileとか使って動的生成する人ってことかな
そんな人いないと思うけど…
2017/10/22(日) 01:23:02.03ID:sDdgCD4Q
>>269
そらでうてるものに対して対応するansibleの設定探すの面倒じゃないかなーって思って
それに例えばマイナー(?)なオプションbuild時にラベルつけたくなったらどうするの?とかさ
モジュール対応してないでしょ?
2017/10/22(日) 01:27:52.52ID:sDdgCD4Q
ローカルでやるときはいちいちansibleは使わない

そうだよね。

まず最初にansibleを使わないで作業する
コマンドを叩く、やりたいことを実現する。


それをansible言語に翻訳する作業ってすごく無駄な作業だと思う。
しかもローカルでやれることの一部しかできないし。
2017/10/22(日) 01:29:40.83ID:oq9fIgmy
>>271
まぁ面倒っちゃ面倒かもな
俺はもうスニペット用意してるからそこまで手間でもないけど
--labelは使ったことないから、知らんけど、まぁどうしてもそうなったら仕方ないからcommnd module使うんじゃね?
2017/10/22(日) 01:30:08.38ID:sDdgCD4Q
もちろんansibleにもメリットは有るよ。
今となってはさほど意味がなくなったが冪等性や
複数台のマシンに対して同じ/異なる 設定を送り込むとか

でもさ、コマンド実行部分をYAMLで書けるようにする
そのためのラッパー(モジュール)が大量に必要。
これは失敗だったね。
2017/10/22(日) 01:32:10.42ID:oq9fIgmy
でも他もそうじゃないか?
ChefとかPuppetはそういうのないの??
2017/10/22(日) 01:34:02.76ID:oq9fIgmy
てかその設定への翻訳を無駄な作業って、じゃあ毎回コマンド打つのか??
2017/10/22(日) 01:39:10.45ID:sDdgCD4Q
>>273
やっとansible使ったことがありそうな人が来たw

手間なんだよ。モジュールが用意されてないこともあるし、
あったとしても、膨大な設定をオプションを
ansible語へ翻訳しないといけない。

あとリモート側にpythonが必要というのも、設計ミスだろうね。
サーバーにはそれぐらい入れとけよと言いたいのかもしれないけど、
軽くするために必要ないものは入れないという文化も有るしね

さらにdockerはsshすら入ってない。(そもそもそういう使い方をするものじゃない)
でもshは入っている。だからDockerfileはシェルコマンドの頭にRUN付けただけ
みたいな、ほぼシェルスクリプトのやり方でイメージを作成する
2017/10/22(日) 01:42:07.34ID:sDdgCD4Q
>>276

> てかその設定への翻訳を無駄な作業って、じゃあ毎回コマンド打つのか??

テキストファイルに、普段あなたが実行しているコマンドを
そのまま羅列していけば、それがそのまま使えるんですよ?

翻訳作業がいらないだけでなく、ansibleで書くよりも短く書けます。
実行するときもスクリプトファイル名を入力するだけです。
2017/10/22(日) 01:42:40.90ID:oq9fIgmy
dockerにssh??
dockerのイメージをデプロイする先のsshのことを言ったんだが
てか、何を聞きたいのかあまりよくわからないんだけど質問は何??
2017/10/22(日) 01:45:26.64ID:sDdgCD4Q
>>279
sshの話なんて質問してないけど?
何勘違いしてるのさwww

質問は
> どころで普段、端末からdocker使えるか?
> docker build -t tag . とか
> docker run -it debian /bin/bash
> みたいなのそらで打てるか?

これだけだろ

意図は>>271に書いたとおりだ

ansibleを使っている人ならわかる。ansible用に翻訳作業が必要で
モジュールが存在しない場合もあるし、オプションに対応してない場合もある。
そこまで苦労してansibleを使うものではない
2017/10/22(日) 01:46:45.43ID:oq9fIgmy
>>278
ああ、シェルスクリプトを保存すれば、ansibleなんて最初からいらんかったんや!ってこと?
シェルスクリプト書くの面倒くさいからansible使うんじゃないの?
なんとなく目先のコスト的には、コマンド直打ち<<<ansibleのplaybook<<<<<シェルスクリプトって感じだが
ワンライナー魔術師とかシェル芸が得意な人はシェルスクリプトのほうがいいんじゃないか?
2017/10/22(日) 01:50:20.46ID:oq9fIgmy
>>280
ごめん
>>264が質問と思ってた
シェルスクリプトの救済がどうのこうのということの意味がわからなくて混乱しただけ

回答は>>281
2017/10/22(日) 01:51:34.75ID:sDdgCD4Q
思うんだけどansibleって構成管理ツールとかいう名前じゃなくて
リモートコマンドランチャーって呼んだ方が正確なんじゃないだろうか?

リモートマシンでコマンドを実行できます。
コマンドがよくわからない人のために、YAML形式で
コマンドの実行オプションを指定できます。

ほら、正確じゃない?
2017/10/22(日) 01:53:08.56ID:oq9fIgmy
ちなみにansibleはやたらモジュールあるけど、
俺が使うのは、さっきあげたdocker_imageとか、他はapt、pip、npmとかくらいだから、
モジュールが対応してないようなことをしない
2017/10/22(日) 01:53:25.28ID:sDdgCD4Q
>>281
> シェルスクリプト書くの面倒くさいからansible使うんじゃないの?

それが理解できない。

シェルスクリプト = 普段実行してるコマンドの羅列
なわけで、誰しもシェルスクリプトに書く内容を
すでにシェル上で実行してるはず。
それをコピペするだけだよ。
2017/10/22(日) 01:54:37.14ID:oq9fIgmy
>>283
リモートコマンドランチャーで、いいんじゃない?
コマンドがわからんけど、playbookは書けますみたいな人はいないと思うが
2017/10/22(日) 01:54:58.86ID:sDdgCD4Q
>>284
> 俺が使うのは、さっきあげたdocker_imageとか、他はapt、pip、npmとかくらいだから、
> モジュールが対応してないようなことをしない

それならばなおのことシェルスクリプトで良いと思うけど
ワンライナー魔術師とかシェル芸なんて使う必要ないし。

シェルスクリプト?
「普段あなたが書いていることを書くだけです」
2017/10/22(日) 01:58:28.76ID:oq9fIgmy
>>285
それはちがくね?
ローカルでdockerとかだったら、コンテナが起動済みかどうかしらべてとかするでしょ
それをawkとif文とかを使って書くよりは、state: presentのほうが楽だろ

あと、レビュアーがシェルスクリプトわからんときには、YAMLのほうが読んでもらいやすいかも
どっちでも一緒かもだけど
2017/10/22(日) 02:00:51.58ID:sDdgCD4Q
>>286
リモートコマンドランチャーはシェルスクリプトも実行できるから
メインの処理はシェルスクリプトで書くといいだろうね。

そうするとDockerfileでも使えるし、Vagrantでも使える
クラウド上にVMインスタンスを立てるときも
スタートアップスクリプトを設定できて
シェルスクリプトが実行できる。

シェルスクリプトだと応用範囲が広い
2017/10/22(日) 02:00:53.35ID:oq9fIgmy
>>287
まぁシェルスクリプトでかけと言われれば書けるよ
それこそ逆翻訳だから面倒ってだけ

それを踏まえて最初の質問に対する答えだが、どっちにもメリットもデメリットもないよ
できることは同じだから好きな方で書けば良い
2017/10/22(日) 02:04:02.78ID:oq9fIgmy
>>289
いやメインの処理だけスクリプト化ってのはわけわからんから、なるたけどっちかに寄せたほうがいいよ
君の開発環境がわからないのでなんともいえないが、ansibleのモジュールが対応してない複雑なことをすることが多いなら
技術選択としてansibleを選ばないほうがいい

ansibleだとできることが増えるとかじゃないから、気にしないほうがいいんじゃね?
世の中に流される必要もあるまい
2017/10/22(日) 02:15:02.98ID:sDdgCD4Q
>>288
> ローカルでdockerとかだったら、コンテナが起動済みかどうかしらべてとかするでしょ
> それをawkとif文とかを使って書くよりは、state: presentのほうが楽だろ

いや別に? それってstate: presentを誰かが作ってくださってるから
簡単にできますってだけだろ?そこで対応してないのはお手上げだろ。
そういう用意されてるものを使う、自分では作れないっていう精神がだめなんだよ。

awkなんかいらん。docker ps や docker inspect 使えばできるだろ。
そんなコマンド使えませんとか言うのなら話は別だがw

よく使うのであれば、自分で新たなコマンドを作れる。
コンテナが起動済みか調べて起動するコマンドだって作れる
普段使ってる言葉で簡単にね。
2017/10/22(日) 02:15:46.33ID:sDdgCD4Q
>>291
> いやメインの処理だけスクリプト化ってのはわけわからんから、なるたけどっちかに寄せたほうがいいよ

だからansibleはいらんなーって話
2017/10/22(日) 02:21:35.35ID:oq9fIgmy
お前人にモノ聞く態度と違うぞ
いらんなら使わなきゃいいだけだろ
物議を醸したいのなら質問の体を取るな紛らわしい
夜中に一生懸命説明して損したわ
2017/10/22(日) 02:22:31.17ID:sDdgCD4Q
>>291
> ansibleだとできることが増えるとかじゃないから、気にしないほうがいいんじゃね?

逆にできることが減るしねw


1. CLIコマンド(普段使用してる)

2. ansibleモジュール(YAMLからCLIコマンドへの変換レイヤー)

3. YAMLファイル(新たに覚える必要があるもの)


3.で無駄な努力をして、2.の機能不足やバグでトラブルにあって、
やっと普段使用してる1.にたどり着く。ムダ以外の何物でもない
2017/10/22(日) 02:23:28.20ID:sDdgCD4Q
>>294
> お前人にモノ聞く態度と違うぞ

そりゃ教える方だからね
教授が学生に質問しているのは
わからないから聞いてるんじゃないですよ?w
2017/10/22(日) 02:27:12.80ID:oq9fIgmy
結構スレの前半からいる変わった人なのか
何を教えてるつもりやねん…怖すぎ
2ちゃんで久々に書き込んでつかれた…
2017/10/22(日) 02:34:15.72ID:sDdgCD4Q
5ちゃんねるな。
間違えんな
299デフォルトの名無しさん
垢版 |
2017/10/22(日) 04:16:07.34ID:Qk9RzJFk
Dockerはコンフィグの体じゃなくて
スクリプト化して、プロビジョン機能をもたせるべき
言語はGoがいい。
そしてジョブ管理機能をサポートして、Jenkinsとの親和性
を良くするべき。
つまり、コンテナだけじゃなくてプロビジョン、CI, ジョブ制御
全部Docker基盤でサポートできるようなれば超便利。
JenkinsはそのUI窓口を担当する。
2017/10/22(日) 09:20:56.40ID:HAzBzhoi
>>292
用意されていればそれを使えば簡単、無ければ自分でshellコマンドを書く、でいいんじゃないの?
「そこでshell使うなら最初から全部shellで書けばいいじゃん」てのは極端だと思うが。
2017/10/22(日) 09:46:37.52ID:3qPJcamy
オープンソースのパッケージはリスクがある(npm left-pad)
2017/10/22(日) 09:58:24.68ID:3qPJcamy
AnsibleはWindowsにインストールできない
Linux仮想環境にAnsibleを乗せて実行など
やりたいことに対して迂遠すぎる
2017/10/22(日) 10:37:36.90ID:JYWPd5df
windowsなんてだいぶ前に使うのやめたけど、そもそもpythonまともに使えるようになったのけ?
pyenvすら使えないと聞いて震えた記憶があるが
2017/10/22(日) 12:02:17.34ID:sDdgCD4Q
>>300
> 用意されていればそれを使えば簡単、
別に簡単になってないので意味が無いんだよなw
2017/10/22(日) 12:05:05.65ID:sDdgCD4Q
>>303
> pyenvすら使えないと聞いて震えた記憶があるが

pyenvはPythonで作られていない。
シェルスクリプトで作られたシェル環境を操作するツールだ。
2017/10/22(日) 12:05:10.25ID:3qPJcamy
なんていうかね茶碗で飯食うのに箸を使うべきなんだけどブルドーザーで食おうとしてる
Ansibleってそんな感じ
2017/10/22(日) 12:27:30.62ID:HAzBzhoi
>>304
言うことがころころ変わると会話にならんなぁ。

>いや別に? それってstate: presentを誰かが作ってくださってるから
>簡単にできますってだけだろ?そこで対応してないのはお手上げだろ。
>そういう用意されてるものを使う、自分では作れないっていう精神がだめなんだよ。

とりあえず、 ID:sDdgCD4Q はansibleよりshell scriptの方が簡単だと思っているからansibleを使わないわけだな。
で、ansibleを使う人はansibleの方が簡単だと考えているからそれを使うんだと思うよ。
それを「いや違う」と言ってみたところで、その人にとってshell scriptの方が簡単になるわけでもあるまい。
2017/10/22(日) 12:32:39.03ID:sDdgCD4Q
>>307
文章を途中だけぶち切って
俺の言いたいことを改変するなって

俺が簡単になってないというのは
シェルスクリプトをYAMLに翻訳しても簡単にはならないという話だ。

誰かが作った「機能」はそりゃ簡単になるだろ。
state: present相当の機能をシェルスクリプトで書けばいい。

それをYAMLに翻訳しても簡単にならないって話だ。
2017/10/22(日) 12:36:44.25ID:sDdgCD4Q
>>307
> とりあえず、 ID:sDdgCD4Q はansibleよりshell scriptの方が簡単だと思っているからansibleを使わないわけだな。

違う。シェルスクリプト語をYAML語に翻訳する作業が"無駄"だと言ってるんだよ。
誰しもシェルでコマンドうってやってる作業なんだから、
それを羅列してシェルスクリプトにしたほうが楽

わざわざYAML語に翻訳して、その結果、モジュールが対応してない機能が
使えなくなってモジュールのバージョンアップやバグに翻弄され、
最終的に対応してない機能はcommand moduleを使って
シェルで打ってるコマンドを書くことになる。

無駄な作業以外のなにものでもないよ
2017/10/22(日) 13:11:45.52ID:WUuR/hH5
shellの方が簡単っていうけどインベントリの管理とか出力の整形とかめんどくさいこと結構あるだろ
その辺shellでどうやって解決してんのかね
2017/10/22(日) 13:18:05.46ID:sDdgCD4Q
>>310
ここに書いてあるとおり

274 名前:デフォルトの名無しさん[sage] 投稿日:2017/10/22(日) 01:30:08.38 ID:sDdgCD4Q [5/21]
もちろんansibleにもメリットは有るよ。
今となってはさほど意味がなくなったが冪等性や
複数台のマシンに対して同じ/異なる 設定を送り込むとか

でもさ、コマンド実行部分をYAMLで書けるようにする
そのためのラッパー(モジュール)が大量に必要。
これは失敗だったね。
2017/10/22(日) 13:32:14.70ID:WUuR/hH5
>>311
うんだからshellでやるときはどうやってるの?
2017/10/22(日) 13:33:20.73ID:sDdgCD4Q
>>312

>>306が書いてくれてる
> なんていうかね茶碗で飯食うのに箸を使うべきなんだけどブルドーザーで食おうとしてる
ブルドーザーはいりません
2017/10/22(日) 13:34:06.07ID:WUuR/hH5
>>313
そうだね
shellでやるときはどうやってるの?
なんで答えてくれないのかな?
できないの?
2017/10/22(日) 13:42:05.98ID:sDdgCD4Q
>>314
なんで使わない機能を実装しないといけないの?

まあインベントリなんてホスト名をfor文でぐるぐる回すだけのことだけどw
知ってるかい?sshは後ろに実行するコマンドを書けるんだぜ?w
2017/10/22(日) 13:59:07.78ID:WUuR/hH5
>>315
forループぐるぐるって…
その程度の認識なら話にならんな
2017/10/22(日) 14:38:57.87ID:sDdgCD4Q
>>316
反論が有るなら、何がダメか言えよw
2017/10/22(日) 15:06:15.12ID:JYWPd5df
インベントリとfor文ぐるぐるは全然違うだろ
2017/10/22(日) 15:09:45.98ID:sDdgCD4Q
>>318
その程度の認識なら話にならんなwww
2017/10/22(日) 15:10:57.95ID:sDdgCD4Q
お前の言った言葉が何の反論にもなってないのがわかったか?

違うなら何が違うのか言えと何度言わせる気だ?
2017/10/22(日) 15:18:53.39ID:WUuR/hH5
幼稚
2017/10/22(日) 15:20:22.95ID:sDdgCD4Q
なんで答えてくれないのかな?
できないの?
2017/10/22(日) 15:21:55.05ID:JYWPd5df
違いすぎて何を書けばいいのか
インベントリはデータベースに近い構造で、配列とは全然違う
あえてかんたんに言うなら配列の要素に複数の属性をもたせたものだから、表現力が全く違う
2017/10/22(日) 15:24:27.36ID:sDdgCD4Q
>>323
ファイル形式の話かよw 話しにならんな。
本当にやりたいことを書けよ
お前はそのファイル形式じゃなきゃ絶対ダメなのか?
2017/10/22(日) 15:26:10.75ID:sDdgCD4Q
当たり前だが、
ホスト名の一覧にオプションをつけることなんざ
シェルスクリプトでも簡単にできる。

hostname1 -a 1 -b 2 -c 3
hostname2 -a 11 -b 22 -c 33

というファイル形式でもそれ以外でもどうにでもなる。
2017/10/22(日) 16:02:34.59ID:JxzBgWl2
グループ分けもしたい
パラメータは外部ファイルで整理したい
スイッチは読みにくい
ホストが増えてきたら動的にホスト情報をスクリプトで取得したい
静的な情報からスクリプトへの移行も手間無しでスムーズに行いたい
セキュリティ情報を扱うので暗号化もサポートしたい
テンプレートエンジンも欲しい


あげてくとキリがないな
シェルだけでやってるならたいしたものだよ
実際には要求が簡素なだけなんだろうけど
2017/10/22(日) 16:25:26.00ID:sDdgCD4Q
> グループ分けもしたい
ファイル、ディレクトリごとに分ければいい

> パラメータは外部ファイルで整理したい
外部ファイルから読み込めばいいだけ

> スイッチは読みにくい
読みやすい形式に変更すれば良い

> ホストが増えてきたら動的にホスト情報をスクリプトで取得したい
標準入出力で別スクリプトの出力結果を使用すればいいだけ

> 静的な情報からスクリプトへの移行も手間無しでスムーズに行いたい
script.sh hostname1 hostname2 hostname3

script.sh $(dynamic.sh)

> セキュリティ情報を扱うので暗号化もサポートしたい
openssl コマンドと openssh のid_rsa で暗号化と復号化
http://takuya-1st.hatenablog.jp/entry/2015/08/12/002349

> テンプレートエンジンも欲しい
envsubstを使ってShellでテンプレートエンジン的なことをする、
http://blue1st-tech.hateblo.jp/entry/2016/07/25/001123

Bashでテンプレートエンジン{{Mustache}}を使ってみる
https://qiita.com/laqiiz/items/baa87183838351e4778c

他ERBでもなんでも好きなのを使え
2017/10/22(日) 16:27:19.06ID:JYWPd5df
そこまでいくと逆にシェルにこだわりすぎて、生産性落ちてるだろwww
2017/10/22(日) 16:27:50.70ID:sDdgCD4Q
別に? それぞれ1行〜数行で書ける程度
2017/10/22(日) 16:29:07.05ID:JYWPd5df
しかもテンプレートエンジン使うのに他ツール使っちゃだめでしょ?
できることの幅が狭まるし、そのツールの学習コストがあるんだからwww
ぜんぶ自分で書いたシェルでやりなさい!www
2017/10/22(日) 16:33:25.41ID:sDdgCD4Q
> しかもテンプレートエンジン使うのに他ツール使っちゃだめでしょ?
シェルスクリプトにこだわるなら普通に
ヒアドキュメントの文字列展開を使えばいいと思うけど?

普段使ってるテンプレートエンジンを使えば良いんやで?
普段やってることをAnsible語に置き換えるのが無駄だって話なんだから
2017/10/22(日) 16:35:45.41ID:JxzBgWl2
ってやるとめんどくさいじゃん

ファイル管理ディレクトリ管理を作らなきゃならない
外部ファイル読みこみも書かなきゃいけない
読みやすい形式を考えて書き換えなきゃいけない
標準出力をパースしなきゃいけない
$(...)にいちいち置き換えなきゃいけない
opensshに明に依存しなきゃいけない(シェルだけでやるんじゃなかったの?)
神社以外の新しいテンプレートエンジンに依存しなきゃならない(シェルだけでやるんじゃなかったの?)

シェルだけでできるって話だったのに
いきなり依存するものが出てきて困惑
シェルだけでできてないじゃん
そんなの覚えるのめんどくさいよね
Ansibleを覚えるのと何が違うんだ?
2017/10/22(日) 16:36:45.98ID:sDdgCD4Q
> しかもテンプレートエンジン使うのに他ツール使っちゃだめでしょ?
あとこれは考え方が間違ってる。

シェルスクリプトを使うということは、普段使ってるコマンドを使うということ
他のツールというか普段使ってるツールを使うってことだよ。
シェルスクリプトという言語は外部コマンド呼び出しとその連携に特化した言語なんだか
外部コマンドを使わないのは本末転倒

Ansibleという専用で応用範囲が狭いツールに置き換えるのをやめましょうという話
2017/10/22(日) 16:40:24.57ID:JYWPd5df
テンプレートエンジンはansibleが解決してくれるから、独自のツール導入したらもはやそれは普段打ってるコマンドでもなんでもないんですがそれは…
2017/10/22(日) 16:41:04.63ID:sDdgCD4Q
>>332
> ファイル管理ディレクトリ管理を作らなきゃならない
ディレクトリ作るコマンドはmkdir、ファイル作るコマンドは
適当なテキストエディタでも使えば終わりでしょw
普段やってないの?

> 外部ファイル読みこみも書かなきゃいけない
. ./file
一行w

> 読みやすい形式を考えて書き換えなきゃいけない
普通にオプションでいいし、環境変数設定のやり方(AAA=123)で十分だろ
ちょっとしたことにブルドーザーを用意しようとするかなw

> 標準出力をパースしなきゃいけない
え? Linux(Unix)っていうのはリダイレクトなどの機能で
ファイルも標準入出力も同じように扱えるんだよ

> $(...)にいちいち置き換えなきゃいけない
3文字のタイピングに何時間かかるのさw

> opensshに明に依存しなきゃいけない(シェルだけでやるんじゃなかったの?)
違いますね。普段シェルでやってることをそのまま使うってことですよ?
言いましたよね。Ansible語に置き換えるのが無駄だと。(何回目だろw)

> 神社以外の新しいテンプレートエンジンに依存しなきゃならない(シェルだけでやるんじゃなかったの?)
普段使ってるテンプレートエンジンをどれでも自由に簡単に使える。
Ansible語に置き換えるのが無駄
2017/10/22(日) 16:41:22.04ID:JxzBgWl2
結局ちょっと難しいことしようとするとシェルじゃ太刀打ちできないってことか
シェルで全部やるというかシェルでお気に入りのツールを組み合わせるってだけなのね
んでそれを学習コストなしとみなすいわば屁理屈
少し期待してたけどガッカリ
2017/10/22(日) 16:42:13.48ID:sDdgCD4Q
>>332
> シェルだけでできるって話だったのに

普段シェルで叩いてるコマンドをそのまま使えるって話だって
何度も言ってる。

な? シェルはCLIコマンドなんでも使えるんやで?
Ansibleはモジュールで提供されている機能だけや。

YAMLに置き換えて、普段やってることができなくなるんだよ。
無駄以外のなにものでもない
2017/10/22(日) 16:44:19.17ID:sDdgCD4Q
>>336
> んでそれを学習コストなしとみなすいわば屁理屈

そりゃそうだろw

シェルは普通誰でも使ってるだろ。
プロビジョン相当のことを、手動(シェルから)でやらないのか?

普段やってることを、単純にYAMLに置き換えるだけだから
無駄な学習コストだよ。それでいてシェルからやってることに比べ
できることが減るんだからな。減るだけじゃない
モジュールの対応してる機能やバグでトラブルが増えてるだけ

何度もその姿見てるわ。無駄なことやってんなーって思ってる。
2017/10/22(日) 16:45:00.82ID:JYWPd5df
>>337
ansibleはcommndもshellモジュールもあるから、シェルの完全な上位セットだよ
ansibleでできることがシェルでできないことはあるけど逆はない
2017/10/22(日) 16:45:40.96ID:sDdgCD4Q
>>339
> ansibleはcommndもshellモジュールもあるから、シェルの完全な上位セットだよ

で、その結論はどうせshellモジュール使うんだから
シェル使えばいい。
2017/10/22(日) 16:47:41.88ID:sDdgCD4Q
>>339
> ansibleでできることがシェルでできないことはあるけど逆はない

できるできないじゃなくて、YAMLに置き換えるのが
無駄だって話だからね。何度も言うよ?w

ansibleでできるならそれ相当の機能を作るか持ってくればいいので
シェルでできないことは何もないよ。

それにansibleで "できないこと" はshellモジュール使うんでしょ?w
2017/10/22(日) 16:48:03.31ID:JYWPd5df
>>338
お前はお前で、ansibleでできることをつらつらshellで書いてることを無駄だと思われてるよwww
mkdirひとつとっても、そのディレクトリの存在確認いちいちするのなんて手でコマンド打つときはlsで目で確認だけど、
スクリプト化したらifディレクティブ書かなきゃいけない
普段やってることをシェルスクリプトに翻訳する作業のコストは完全無視なのが笑える
そのままスクリプトにすりゃ動くだろって動かねーっつのwww
むしろシェルスクリプトの勉強からやり直しなさい
2017/10/22(日) 16:50:11.92ID:sDdgCD4Q
> mkdirひとつとっても、そのディレクトリの存在確認いちいちするのなんて手でコマンド打つときはlsで目で確認だけど、

え?

mkdir -p /foo/bar/baz って書けばいいだけじゃん。
なんでいちいち存在確認なんかしてんのwww
2017/10/22(日) 16:51:57.39ID:JYWPd5df
そのディレクトリがもう存在してたら?
エラー吐くけど無視するってこと?
どんだけー
2017/10/22(日) 16:54:00.10ID:sDdgCD4Q
$ mkdir -p /tmp/foo
$ mkdir -p /tmp/foo
$ mkdir -p /tmp/foo
$ mkdir -p /tmp/foo
$ mkdir -p /tmp/foo

何度やってもエラーなんて出ませんねぇw 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
2017/10/22(日) 16:55:08.53ID:JYWPd5df
ぴゃー!今まで確認してたー!必要なかったんか
2017/10/22(日) 16:57:38.59ID:JYWPd5df
さすがshell王子やで
これからもシェルで頑張ってくれ!
2017/10/22(日) 16:58:06.58ID:sDdgCD4Q
結局シェルスクリプトを過小評価して、簡単にできることをできないと思いこんで
より面倒なAnsibleに置き換えてただけか
2017/10/22(日) 17:00:00.38ID:JYWPd5df
その思い込みが今この瞬間に消え去ることはないので、これからもansibleで書きます
本当にありがとうございました
2017/10/22(日) 17:00:13.97ID:sDdgCD4Q
Ansibleに学習時間が取られるだけじゃなく
シェルの学習時間が減るのも問題だよな。

シェルは応用範囲が広いから(逆の言い方をすると)
デプロイだけじゃなく普段の作業でも使える。

つまりシェルに慣れておくと普段の作業も効率化できるわけだ
2017/10/22(日) 17:02:29.22ID:+55RNfTl
シェルでツールを組み合わせる
作る方からすると簡単だし柔軟性が高いのは事実だけどとにかくメンテナンスしにくい

シェルスクリプト自体がルーズすぎてメンテナンスしにくいってのもあるけど
それ以上に様々なツールを組み合わせること自体がメンテナンス性の悪化を爆発的に加速させる

普段から使ってるツールセットが関係者全員で同じになるってことはまずない
誰かが普段使ってるツールを使って書いたオレオレスクリプトは他の人からすると学習コストが非常に高い厄介な代物でしかない
それぞれが好き勝手に好きなツールを使うことを許してしまうと人数が増えた時に総学習コストは際限なく増えていく
Web系のルーズな人たちはこの辺に無頓着だよね

そうならないために普通の開発現場では使えるツールを限定する
限定するならアレコレ使うよりAnsibleのような目的に沿った全部入りが良い
その方が最終的に学習コストは低くなる
2017/10/22(日) 17:07:01.08ID:sDdgCD4Q
>>351
> 作る方からすると簡単だし柔軟性が高いのは事実だけどとにかくメンテナンスしにくい

ようやく話が戻ってきたかw

そのメンテナンス作業でやることがDockerを使うことで殆どなくなってきたんだよ。

デプロイで大変なのは実は構成管理ではなくて、アプリのデプロイ
アプリを動かすための環境づくり(言語やライブラリのインストールなど)が大変だった。

でもそれがDockerを使ってDockerイメージに全部入れ込むことで、
あとはDockerコンテナの機動スをする1行(ないし数行)で完結するようになった。

デプロイでやることが大幅に減ったから、もうシェルスクリプトで十分な時代になってるんだよ。
2017/10/22(日) 17:16:55.75ID:JYWPd5df
その1行ってのを試しに書いてみて
2017/10/22(日) 17:22:13.75ID:sDdgCD4Q
Dockerコンテナを起動する命令?
docker run --restart=always -d myapp
とかそんな感じ
2017/10/22(日) 17:28:37.91ID:mU/kanzH
>>352
残念だけど、そんな時代はまだ来てない
Dockerを禁止にしてり現場なんていくらでもある
Dockerを使うって発想すらない現場もまだまだ多い
自分のデスクトップが世界標準と考えてしまう視野の狭い若者は少なくないけど
君もそのひとりということだね
今の君のデスクトップが多くの現場で当たり前になる頃には、さらに進んだ技術が君のデスクトップに導入されているんだろう
そりゃ簡単だよな
2017/10/22(日) 17:30:01.29ID:sDdgCD4Q
シェルスクリプトで十分ということは否定しないが、

まだ時代が来ていないという話にすり替わったw
2017/10/22(日) 17:30:54.61ID:sDdgCD4Q
次は仮想環境の時代は来てないとか
クラウドの時代は来てないとか言うのかな?

単に遅れているだけだと思うけどww
2017/10/22(日) 17:30:55.70ID:mU/kanzH
>>356
すり替え???
時代が来たって言ったのは君だよ
それ否定しただけ
2017/10/22(日) 17:34:19.94ID:mU/kanzH
本当にあきれるほどに視野狭窄だね
よほど恵まれた環境で飼われているのか
あるいは、もしかして、IT業界の人間じゃない?
2017/10/22(日) 17:34:46.23ID:sDdgCD4Q
>>358
いまDockerの時代が来ているかどうかって
話はしてないのでね

Ansibleはいらない。シェルスクリプトで十分って話。

お前が言ったのは
Ansibleはいらない。シェルスクリプトで十分だけど
俺の会社にはDocker導入されとらんのじゃー!
ってこと

それは技術じゃなくてお前の会社の問題
2017/10/22(日) 17:38:08.26ID:sDdgCD4Q
docker使うだけで恵まれた環境のなのかw
まさか嫉妬されるとは思わなかった。
2017/10/22(日) 17:42:02.16ID:sDdgCD4Q
ついこの間読んだ記事

Rocro株式会社の導入事例:GAE + GKE をフル活用し、高品質な開発者向け SaaS サービスをソニーグループである Rocro株式会社が少数精鋭で開発・運用
https://cloudplatform-jp.googleblog.com/2017/10/GoogleCloudPlatform-Rocro-GAE-GKE-SaaS.html

GKEっていうのはdockerを使うのが前提となってるんだけど
こういうのどうするのさ?
2017/10/22(日) 17:56:15.83ID:mU/kanzH
>>360
君の言う「シェルで十分」はdockerに依存してるんだろ?
まだまだdockerは普及してないのだから君の言う「シェルで十分」の時代も来てないってこと
使われてる現場もあるってだけで時代が来たっていうなら何も言わんが、時代が来たってそういうニュアンスじゃないと思うぞ

>>361
そう
君の知らない世界が無限に広がってる

>>362
その事例も同じ
使われてる現場もあるってだけ
これからじわじわ増えて来て当たり前のように使われる時代くるんだろう
でもそれは未だ来ていない
2017/10/22(日) 20:15:57.81ID:sDdgCD4Q
>>363
> 君の言う「シェルで十分」はdockerに依存してるんだろ?
依存はしてない。dockerを使わないシステムは有る
例えばAmazon RDSやGoogle Cloud SQLというデータベースサーバーとか
こういうのはすでにシステムが用意されてるのでそれを使うだけ

なのですでにAnsibleでデータベースサーバーを作るなんてのはやっていない
シェルどころか何も使わない

> 君の知らない世界が無限に広がってる
COBOLみたいなお仕事でしょ。
知ってるw

> でもそれは未だ来ていない
うちの会社ではすでに自社サーバーがほぼゼロ状態で
サーバーはクラウド化されてるのですでに来ている。

君の知らない世界に俺はいるようだ(笑)
2017/10/22(日) 20:19:24.14ID:sDdgCD4Q
これからじわじわ増えて来て当たり前のように使われる時代くるんだろう
そのときに備えてシェルスクリプトは使えるようになるべきだし、
Ansibleは次第に廃止されていく。
それは未来に生きてる俺が証明している
2017/10/22(日) 20:38:19.65ID:1Ll1E+vW
てかansibleの到来でシェルスクリプトが駆逐され、クラウドのAPI充実によってansibleが駆逐されていく感じだろ
俺からすればどっちも糞の山だわ
2017/10/22(日) 20:43:45.97ID:sDdgCD4Q
それはないんだわ。なぜならansibleはPythonがリモートに
インストールされていないといけないから。

通常コンテナには必要最小限のものしか入れないので
Python用コンテナでない限りPythonは入っていない。
必然的にシェルスクリプトしか使えない。

またdockerイメージの特徴はローカルでも動かせるという所だから
クラウドのAPIなんてのは意味がない。
2017/10/22(日) 20:51:08.10ID:GMFIfZ60
>>367
うちはサーバーは全部ubuntuだからそこらへんはクリアしてんのかな?
てかpython入ってないサーバーなんて今時あんの?

てかDockerだのシェルだのansibleだのインフラ屋も大変だね
うちは、ビジネスサイドと開発選択して、ユニットテスト書いてコード書いて、pushすればステージ環境に勝手にデプロイされて、
POがステージ環境さわってマージされたら本番に勝手にデプロイされてって感じ
こっちからしたら、それができれば何使ってくれても構わんわ

インフラ屋って地味なイメージあるけど、やっぱ宗教論争があるんだな笑
2017/10/22(日) 20:54:43.66ID:sDdgCD4Q
あとAnsibleを死滅させる原因の1つにKubernetesがある。
Kubernetesが事実上の標準の座を手に入れるまでは
Ansibleを使ってオーケストレーションを行おうという動きがあった。

Kubernetesを使うことで簡単にDockerコンテナを実行できるわけだけど、
その方法としてコマンドラインのkubectlとREST APIがある。

Ansibleはまたコマンドランチャーとしての立場として
せっせとラッパーモジュールの開発を行っている
2017/10/22(日) 20:57:36.95ID:sDdgCD4Q
>>368
> てかpython入ってないサーバーなんて今時あんの?

busybox、alpine、CoreOS、Container-Optimized OS
2017/10/22(日) 21:00:16.24ID:sDdgCD4Q
>>368
> てかDockerだのシェルだのansibleだのインフラ屋も大変だね

勘違いしている人も多いが、Dockerはインフラ屋の道具じゃない。
アプリ開発側が、アプリのイメージ(=Dockerイメージ)を作って
インフラ屋に「これ起動して」って渡すもの

インフラ屋にいちいち動作するサーバー構成とか
必要な言語、バージョン、ミドルウェア等伝えるの面倒でしょ?
372デフォルトの名無しさん
垢版 |
2017/10/23(月) 00:50:40.93ID:JrZmYN5x
sDdgCD4Q
シェルスクリプトは普通に面倒だよ
まず「コマンドベース」なのが可読性が汚くなる。
クォーテーション、オプション、セミコロン、各種コマンド展開
パイプ、リダイレクト記号
さらに「オプション」っていうのはテストコマンド中のオプション
とか普通のコマンドのオプションとか1文字だけで意味を理解するには
「シェルの仕様を暗記」していることが前提になる。
もちろん「シェルを散々やっている人」からすればそんなの身について
当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
比べれば「意味の通りやすさ」が段違い。
自分では当たり前のように書いてるシェルのコードが別の人から見たら
「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
考えたことある?
DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
のためにあるわけじゃないんだよ。
難解なコードは技術者が自分の立場を守るための参入障壁でしかない。
古参技術者のATフィールドみたいなもんだよ、そんなものはOSSによって
容易に破られる時代ってこと。
373デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:04:48.03ID:JrZmYN5x
あとあれだ、Docker要らない、シェルで十分って言ってる
やつは「コンテナ化」について全く言及してないだろ。
シェルで制御できるのはせいぜい「プロセス」「ジョブ」単位。
Dockerで制御できる「コンテナ」は「沢山のプロセス」をカプセル化
した「マシン」と「プロセス」の粒度の中間にある「サーバ(=コンテナ)」
という粒度が必要になってきたからDockerができたんだよ。
あとGitリポジトリと同じで「過去の状態に復帰できる」
コンテナの設定を「1ファイルとして外部に外出しできる」のも
シェルの守備範囲外。
シェルはどうやっても依存関係が生じてなかなか「1ファイル」とはいかない
だろ?
2017/10/23(月) 01:07:56.87ID:IfXz4gcp
> まず「コマンドベース」なのが可読性が汚くなる。
理由は?

> クォーテーション、オプション、セミコロン、各種コマンド展開
> パイプ、リダイレクト記号
何が問題なのか分からん。やりたいことが実現できれば十分だろ

> さらに「オプション」っていうのはテストコマンド中のオプション
> とか普通のコマンドのオプションとか1文字だけで意味を理解するには
> 「シェルの仕様を暗記」していることが前提になる。
シェルの仕様じゃなくて、普段自分で打ってるコマンドのオプションな。
あまり使わないものは俺はlong optionで書くようにしてるよ?一文字にこだわる必要はない。

> もちろん「シェルを散々やっている人」からすればそんなの身について
> 当たり前、って思うかもしれないけど、Ruby, Python, YAMLなんかに
> 比べれば「意味の通りやすさ」が段違い。
YAMLは形式、そこで使うオプションは結局覚えなきゃいけない。その分手間がかかる。

ってか本気のプログラミングをしないんだから、SQLでプログラムするのは
大変って言ってるようなもんだよ。シェルスクリプトは汎用言語じゃなくて
DSLに近いものなんだから、限られた用途で最高のパフォーマンスを出せばそれで十分

> 自分では当たり前のように書いてるシェルのコードが別の人から見たら
> 「わけわかんない秘伝のタレ」にしか見えないかもしれない、って
> 考えたことある?
それはansibleも一緒。使い込んでいくと結局機能が足りなくて自分でモジュールとか作って
自分で作ったものは冪等性が実現できてなくて〜みたいになって苦しんでる姿を見てる。

> DockerとかAnsibleみたいなツールは何も「既存で熟練した技術者」
> のためにあるわけじゃないんだよ。
シェルスクリプトも「既存で熟練した技術者」のためにあるわけじゃないんだよ。
普段シェルで使ってるコマンドそのまま使えるから知識が応用できる
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ファイルとか誰も言ってないんだが?
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 によるアプリ ケーションの分離に近いです。
> 単一アプリケーションを分離するだけなので、 とても軽くシンプルなのが特徴 です。
377デフォルトの名無しさん
垢版 |
2017/10/23(月) 01:32:54.85ID:JrZmYN5x
>>375
成果物として生成したものから起動する
コンテナは「仮想マシン」みたいなものだから、
そのなかで稼働するプロセスをカプセル化しているって言う
表現は間違っていない。
視野がせまいのはドキュメントの表面的な字面だけを捉えている
お前の方。
使うのが稀だとしても「過去の状態に復帰できる」が担保されているのと
上手く行かないかもしれないというのでは差が大きい。
それに差分抽出、差分吸収もできる。
「1ファイル」であるということは移植性が高いということ。
シェルは内部に多数の外部スクリプト、コマンドなどを読み込むから
1ファイルではなかなか他のマシンに移植しにくい。
因みにシェルが役に立たないとは言っていない。
だけどDockerやプロビジョンツールを否定するのは無理がある。
2017/10/23(月) 02:24:34.18ID:IfXz4gcp
>>377
> コンテナは「仮想マシン」みたいなものだから、

だからそれが間違いだってーのw

仮想マシンって何かわかってるか?(物理)マシン、ハードウェアを
ソフトウェアで実装することで仮想的なハードウェアを作り出すものだよ。

コンテナはハードウェアをソフトウェアで実現している
わけじゃないので仮想マシンとは全く違うもの

(アプリケーション)コンテナがやってる仮想化っていうのは
カーネル部分だ。コンテナごとにカーネル部分を仮想的に作り出すことで
アプリケーションごとに独立したユーザーランドを提供することができる
アプリケーション専用に独立した実行環境を持てるんだよ。

同じ「仮想」という言葉が入っているから勘違いしてるのだろうが
コンテナは仮想マシンとは全く違う。「仮想」ではあるが「マシン」じゃない。
仮想メモリと仮想マシンに両方共「仮想」が入っているから
同じようなものだと勘違いしているのと同じレベルの間違いをしてる。

> 表現は間違っていない。
間違っている所は仮想マシンみたいなものと言う所と
複数のプロセスをまとめるというものだ。
やろうと思えばできなくはないが、アプリケーションコンテナであるDockerは
複数のプロセスをまとめたりしない。複数のプロセスを動かすのは
物理・仮想マシンの役目だ。

物理・仮想マシンで複数のプロセスを起動する
Dockerコンテナ1つはその複数のプロセスの1つにすぎない
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ベースのイメージが動かせる。移植作業が不要とはこういうこと
380デフォルトの名無しさん
垢版 |
2017/10/23(月) 02:34:50.00ID:JrZmYN5x
>>378
お前は国語が理解できないんだと思う。
「犬は狼みたいなもんだ」といったら
それの違いを生息地帯とか餌の内容とかごちゃごちゃ並べて
批判するタイプ。
つまり、抽象表現とかメタファーを一切受け入れられない。
その証拠に、使っている言葉がどっかのドキュメントに書いてある
文言そのまんまコピってきたような文章書いてるな。
学力テストでは高得点取れそうだが、物事を設計するのは苦手そう
違うかい?
2017/10/23(月) 02:38:08.54ID:IfXz4gcp
>>380
何が言いたいん?言葉遊び?

お前は「猫」と「海猫」は同じようなもんと
言ってるんだが?
2017/10/23(月) 02:44:12.55ID:IfXz4gcp
っていうか言い返したいのはわかるが、
レスの内容に言及しないのは何なんだろうなw
2017/10/23(月) 02:46:41.07ID:IfXz4gcp
> 違うかい?

あぁ、そうだ、これ、関係ないくだらない質問ををしてそれに答えなかったら、
否定しなかったから認めたんだ。おまえは認めたんだー。わーって
言うための布石だこれ。見たこと有るw

くだらない質問だけど違うって言っておくよ。おまえを黙らせるために。
でも関係ない話だからそれ以外何も言うつもりはないよ。

このスレに関係ある話をしような?
384デフォルトの名無しさん
垢版 |
2017/10/24(火) 00:32:13.24ID:jO+jDbIG
...お、おう。
久々に来たら面白い事になってんな。
2017/10/24(火) 03:30:56.57ID:DfsEXCLh
Docker、2016、オライリー

Chef実践入門 - コードによるインフラ構成の自動化、2014
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"]

似たようなのが沢山ある
2017/10/24(火) 23:03:45.53ID:hjkLVxi7
>>386
build-argつかえ
2017/10/24(火) 23:18:00.24ID:zYnBGUyD
>>387
👍
2017/10/28(土) 09:01:01.81ID:rZWSN5Vz
異なるimageを1つにマージしたい
なんていうか多重継承みたいな事をしたい
dotnetとpythonから派生して両方に依存したアプリを乗っけてビルドしたい的な要件
どちらかをfromにしてもう片方をdockerfileに書けば済む話なんだけどせっかく公式でdocker最適化メンテナンスしてくれてんだから両方ともそっち使いたいよね
2017/10/28(土) 14:35:33.70ID:bXFe772l
>>389
あんたも典型的な使い方を間違えてる。
Dockerはアプリケーションコンテナであって
システムコンテナじゃない

システムコンテナじゃないから「アプリを乗っける」なんて
考え方にはならないししてはいけない。

正しくは「アプリケーションをビルドする」だ。
Docker使ってアプリを作るんだよ。
2017/10/28(土) 16:01:54.61ID:rZWSN5Vz
>>390
言葉の定義の問題でしょう
ここではwebアプリのリソースファイル一式をアプリと呼んでるだけ
というか質問に答えれないならしゃしゃりでないで黙っててください
2017/10/28(土) 16:44:44.72ID:EDygjHo8
やめとけ
そいつ多分例のあいつ
393デフォルトの名無しさん
垢版 |
2017/10/29(日) 01:55:08.12ID:9lQAHngl
うんことうんこが激しくうんこを撒き散らしてるが、
自分一人で仕事するのであれば好きにしたらいい
チームでやるならメンバーのスキルセット考慮して選択するだろ
原理主義的にどっちがいいとか言ってる奴等はだいたい職場で浮くよな
2017/11/03(金) 10:45:37.59ID:x2hOB9Es
>>389
>>390
dockerの中でdockerを使うことが、最近のversionだと出来たりしませんか?
2017/11/06(月) 06:20:20.30ID:oNlJoXOO
すみません、教えて下さい
virtualbox+ubuntuで仮装ホストを立てる場合とdocker toolboxの違いってどんな感じなんでしょうか?
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ならそれができるように整備されているってわけ
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
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
2017/11/07(火) 15:43:49.52ID:DRlk+NZ/
>>397
これ興味あるわ
guardとかめたくさ遅いが改善されますか?
2017/11/08(水) 22:22:13.17ID:9nb3Ik6J
>>396
ありがとうございます
ホストのwindows環境を活かしたいならsocker toolboxがいいんですね
勉強になりました
401デフォルトの名無しさん
垢版 |
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 ビット版)
2017/11/12(日) 10:14:04.28ID:j0JK3XOe
windowsで開発したイメージをraspberry piで動かすことはできますか?
2017/11/18(土) 00:17:48.89ID:VuzSnHPO
手元でビルドテストしたイメージがどこでも動くのがdockerのメリット
2017/11/18(土) 20:40:24.58ID:DGbmO77I
暇な人おしえてください

物理マシンで作ったスクリプトファイルを仮想環境で実行したいんだけど
どうやってファイルを仮想ディレクトリにもっていけばいいの?
根本的にわかってないっす・・・
2017/11/18(土) 20:48:16.87ID:DGbmO77I
自己解決
なるほど共有フォルダを作成すればいいのね
2017/11/21(火) 22:02:56.50ID:Dg+h+BIQ
最近vagrantを始めたのですが
このソフトがやっていることってもしかして
virtualboxのCLIを叩いてるだけでは?
2017/11/21(火) 22:24:30.28ID:H+r6aFWv
そうだよ
てかインフラアズコードって全部そうだよ
2017/11/22(水) 01:35:34.65ID:8atlH8j3
ありがとうございます
やはりそうなんですね
そうなると、「vagrantでないと出来ないこと」は何なのかが気になります
プロビジョニング的なことでしょうか?
プロビジョニングは、
自動的にログインしてコマンドを叩くことで実現してるのでしょうか?
これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
2017/11/22(水) 02:08:02.88ID:jSD3lLhL
時間さえあって自分で作るならアセンブラでできないことは何もない

○○でないとできないこと="時間をかけずに"△△をすること
すべてそう。時間をかけないという問題を解決してる。

> これはあらためて考えるとvirtualboxのCLIで出来ることを超えてる感じがします
virtualboxのvboxmanageコマンドでできる
2017/11/22(水) 07:30:32.21ID:XGz0BDt0
>>408
vagrantはラッパだから、vagrantじゃないとできないことなどない
2017/11/22(水) 23:58:07.56ID:jSD3lLhL
自転車で行けるなら、歩いていけないことはない
というのと一緒

可能・不可能の話にしてしまうと大事な点が見えなくなる
同じことをするにもコスト・時間が少ないほうが良いだろう?
それはすごく重要な事だよ
2017/11/23(木) 07:48:28.42ID:JkIKu46w
oracledbの公式イメージないんか
oracleはほんま使えんなぁ
413sage
垢版 |
2017/11/23(木) 10:23:34.07ID:tzs9JkH9
privilegedモードとdocker.sock共有だとどっちか危険ですか?
2017/12/07(木) 12:39:47.34ID:NfkoL/Di
docker run したときのパラメータ変えたかったら
今のコンテナからイメージつくるか、もとのイメージから、コンテナ作り直すしかないの?
2017/12/07(木) 21:24:18.91ID:kyxQutt+
>>414
dockerイメージ = exeファイル
dockerコンテナ = exeファイルを実行して作ったプロセス
docker runのパラメータ = exeファイル起動時の引数

と考えればいいよ

起動時の引数を変えたいって変な話だよね
プロセスの状態を外部から変えたいならば、ファイルやネットワークやシグナル
なんかで、プロセスにメッセージを送ることになるでしょう?
2017/12/07(木) 21:39:08.94ID:fEi0yHLk
entrypointのことだろ
オプションで変えれるぞ
2017/12/07(木) 21:46:47.50ID:kyxQutt+
>>416
今のコンテナからイメージ作らないで
もしくは
もとのイメージからコンテナ作り直さないで

変えられるって言いたい?
2017/12/07(木) 21:47:04.44ID:NfkoL/Di
>>415
1回exe起動したらずっとそのままの状態で起動しないとだめってのもおかしな話だよね
なんのために引数取れるようになってるのか考えれば、パラメータ変えて再実行なんてあり得る話
プロセスが継続してる必要はないけど、たとえばポート変えたいとかいくらでもあるだろ

コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから
まあ、コンテナ内部に永続化させたのが失敗だって話なんだろうけど
2017/12/07(木) 23:08:10.01ID:kyxQutt+
>>418
だから俺は最初から、exeファイルの引数を変えて
再起動するのが普通だって言ってるだろ

再起動したくないって言ってるのは>>414
俺はそれに対して再起動しないで変えるための案を書いてる


後からやってきたお前のレスは、>>414が再起動したくないと言ってるのに対して
(再起動しないで)entrypointでオプション変えられるって言ってることになってるんだよ
だから俺は、それできんの?ってきてるんだが

ちゃんと文章読め
2017/12/07(木) 23:09:37.72ID:kyxQutt+
>>418
> コンテナが単純なexeと違うのは、内部に状態持って永続化してたりするから

単純なexeだってビルドする時にソースコードに書かれた
定数やデータやリソースファイルなど、内部に状態を持って永続化するが?
2017/12/08(金) 03:08:05.72ID:bFLhaAeC
>>420
実行ファイルに埋め込まれた定数やリソースを永続化という用法が一般的かどうかは知らんが
状態のまえに、実行時に変化するってつけといて
あるいは状態もって永続化じゃなくて、データファイルでもいいぞ
2017/12/08(金) 03:15:52.99ID:cpGshdOM
プロセスだって実行時にメモリ書き換えるだろ
実行時に状態変化してるんだよ
2017/12/08(金) 05:39:25.87ID:bFLhaAeC
メモリ書き換えるのは普通永続化されてるとは言わんわ
わざと曲解してるのかね
2017/12/08(金) 09:52:46.11ID:cpGshdOM
>>423
だからdockerコンテナも同じ
基本的にコンテナは終了した後に再利用することはしない
消すのだから永続化していると考えてはいけないんだよ
2017/12/08(金) 14:21:56.65ID:IanFvc8O
データベースとかリポジトリのコンテナは止めたり再開するだろ?
2017/12/08(金) 15:05:16.18ID:Y0XUjRGM
まず質問に対してYesかNoで答えろよ。
2017/12/08(金) 17:43:23.33ID:bFLhaAeC
>>424
だからコンテナ内部に永続化させたのが失敗だって話なんだろうって

ただ、コンテナは中断しても良いけど終了させたいわけでも消したいわけでもないぞ
たとえば 現在のコンテナの内容のまま、  -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話
2017/12/08(金) 21:44:10.36ID:cpGshdOM
>>425
しない。それは使い方が間違っている。
データベースに限らないがまずアプリとデータは分離させる
アプリはコンテナ、データはボリュームに保存する。
そしてコンテナは消してもデータは残るように作るのが通常のやり方
2017/12/08(金) 21:51:28.74ID:cpGshdOM
>>427
> たとえば 現在のコンテナの内容のまま、  -p 80:80 から -p 8080:80 にしたいってときにどうするんだって話

データはコンテナの中ではなくボリュームに保存する。
だからコンテナは消しても、データはそのまま。

アプリを一旦停止して再起動しても、データはファイルに保存してるだろ。
アプリを止める = コンテナを止める
データをファイルに保存 = データをボリュームに保存
こう変わっただけ

これこそが「仮想化」なんだよ。
もし仮にアプリが決め打ちの絶対パスで/var/hogeにデータを書き込むという仕様だとしても、
dockerコンテナに閉じ込めておけば、アプリが/var/hogeに書き込んだとしても
ボリュームを使うことでコンテナの外では好きな場所に変更することができる
仮想メモリのように、アプリから見た書き込む場所とは別の物理的な場所にリマップできる

アプリや一連のシステムを一つのコンテナにパッケージングし
そのコンテナ=アプリのようにみると、docker runのオプションで自由にポート番号
や書き込みディレクトリを変更できるカスタムアプリが出来上がる。
2017/12/08(金) 22:29:34.36ID:3V9S/A/h
ドッカスはネットワーキングがクソ
ホストのリゾルバぐらい参照せえや
なに勝手にグーグルにつないどんねん
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は使いたくないし
2017/12/12(火) 23:03:27.06ID:YAElnGhd
ものすごく基本的なことかもしれませんが教えて下さい。
1つの物理マシンに、ubuntuをインストールし、色々な実験家用をdockerコンテナでインストールし、
そのマシンに複数ユーザが接続してdockerコンテナを使用する予定です。
同じコンテナを複数ユーザが使用しても大丈夫でしょうか。
それとも、元々マルチユーザのOSなのでこのような使い方こそが向いているのでしょうか。
2017/12/12(火) 23:11:29.82ID:cVmeHUIV
Ubuntuはただだからなにやってもいいよw
2017/12/13(水) 08:51:35.45ID:bj6sPJM2
>>432
実験や学習に使うならdockerじゃなくてvagrantの方がいいかな
サーバー共有する必要はないと思うのでローカルにインストールさせれば?
435デフォルトの名無しさん
垢版 |
2017/12/13(水) 20:23:50.84ID:4MfUhrQZ
CentOS7にDocker入れて、
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
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の三台なのか
2017/12/13(水) 23:17:43.29ID:dQY+CYRc
あとDocke(コンテナ)をアプリみたいに考えて良いのはそのとおりだが
何かしらのサービスを提供するアプリは、サービスを提供するための
ポート番号を設定するだろ?(デフォルトで指定されてることも多いが)
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はワークグループに表示されているが、ゲストアクセス出来ない。

すみません。分かることを書いてみました。
本人はサーバー立ち上げ経験ありません。
2017/12/14(木) 01:14:17.99ID:bGPtLfUR
>>432-434
漏れの推測だけど、

そのOS に、Docker イメージが1つだけで済む。
各ユーザーは、そのイメージからの差分だけを持てば良いから、効率的
2017/12/14(木) 06:26:27.54ID:Cig7NI2g
>>435
Hass.ioとやらとsambaの連携は必要なの?
Hass.ioだけ起動して動作するか確かめよう
442435
垢版 |
2017/12/14(木) 09:19:19.05ID:asDNyaxD
>>441
あ、公式ホームページ読むと
Hass.ioでsambaとSSHが使えると書いてあるのかな。
確認してみます。
2017/12/14(木) 23:12:32.34ID:COokNIga
1つのアプリケーションで複数サービス起動したい場合のベストプラクティス教えて
2017/12/15(金) 00:56:05.83ID:L7gVN0RS
バッドプラクティスしたい場合の
ベストプラクティスを教えてと言われても・・・
2017/12/18(月) 19:09:18.62ID:v15Ah6lj
そういう時はdindだな
2017/12/19(火) 20:09:30.02ID:ayXhJHgO
ジェンキンスでイメージをレジストリにpushするところまで出来たのだけど
pushしたイメージを運用サーバーにpull & restartしてもらうにはどうすればいいの?ssh?
2017/12/23(土) 21:56:21.95ID:AW7swrGi
人いねえな
日本じゃ仮想環境はまだまだマイナーなのか
大企業でもでっかい社内サーバーにあれこれ同居させてなんてことが未だにあるし
そういう文化なのかなぁ
448デフォルトの名無しさん
垢版 |
2017/12/30(土) 21:53:24.25ID:DzO+KqCk
Dockerのコンテナで開発環境として
いろんなサーバつくる上での「共通素材」が
そろったコンテナ配布していないかな。
プログラミングが学習しにくい内容として
例えばDBを学びたときに「DB内に予め素材データがたくさん詰まっていたら」
それをもとに勉強や試しに動かしやすくなる。
JavaScriptを試したいときにい予めサンプル画像や文言、
試し切り用のHTML構造がたくさん詰まっていてくれたら検証しやすくなる。
テストコードがあらかじめたくさんあったらそれに合わすような
プログラムが作りやすくなる。
開発環境は素材付きで配布するっていいアイデアじゃないか?
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
2018/01/02(火) 23:52:33.32ID:VBdeXUJF
無問題
2018/01/03(水) 00:34:25.41ID:hbEuYwsD
>>448
素材データはあちこちでいろんな形で配布してるから実情にあったのを自分で選ぶべきだな

R程度の軽いデータ付属してても問題ないけど重量級のデータが詰まってるのなんて邪魔でしかない
2018/01/03(水) 11:07:28.11ID:76Iu3Ukp
ねーよ
2018/01/03(水) 11:33:44.26ID:FghAOgO2
DockerはMSに買収された方がいい方向に進むだろうね
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
2018/01/06(土) 08:40:25.60ID:J/6p70u2
dockerでデスクトップ環境とスマホエミュレーター作れる?
2018/01/06(土) 14:49:48.45ID:qWm4dftC
まーたdockerが何か分かってない奴の質問か

dockerはカスタマイズされたアプリを作るものであって
環境を作るものじゃないんだよ

ここにアプリが有るじゃろ?から始まって
このアプリを動かすにはこのライブラリが必要で
こういう設定ファイルが必要じゃろ?
それらのアプリとそのアプリを動かす環境を
合体させてアプリを作るんだよ

だからデスクトプアプリは作れても
デスクトップ環境はそのそもdockerで作るものじゃない
スマホエミュレータはアプリなんだから作れるだろう
2018/01/06(土) 15:08:44.43ID:J/6p70u2
クリーンなビルド環境としてのdockerなど、当たり前のように環境として使われてるが?
2018/01/06(土) 15:57:41.40ID:qWm4dftC
>>458
それはクリーンな環境を作ってるのではなく
作っているのはあくまでビルド生成物
その途中がクリーンな環境になっているってだけの話だな
2018/01/06(土) 17:02:13.94ID:J/6p70u2
>>459
大丈夫か? あんま無理すんなよ
「その途中がクリーンな環境になっている」の環境はまさにdockerで作ってるんだぞ?
2018/01/06(土) 17:09:31.21ID:RuMnMvof
ビルド環境だけじゃなくテストを走らせる環境もDockerで作る
Travis CIとか使ったことないんじゃ
2018/01/07(日) 13:48:14.13ID:FrONFwW6
固定概念でdockerの可能性を絞るのは宜しくないね
463デフォルトの名無しさん
垢版 |
2018/01/07(日) 14:07:30.44
それぞれ
・ビルド生成物を作成するアプリ
・テスト結果を作成するアプリ
だと言いたいんだろう

ていうか、彼の世界観でスマホエミュレータがOKなんだったら
Linuxデスクトップ環境エミュレータだってOKなんだけどなw
2018/01/07(日) 14:39:34.25ID:esrWpXaw
スマホのエミュレータは、ハードウェアをエミュレートしているアプリを
作るところまでがdockerでやる部分でスマホの環境を作ってるのは
スマホに入れたOSが作ってるものだからね
2018/01/07(日) 14:52:52.70ID:yGtHkQv/
開発環境を仮想化したいがVagrant+VirtualBoxは重いんだよな
466デフォルトの名無しさん
垢版 |
2018/01/07(日) 15:01:39.57
>>465
you, windows 10にしちゃいなyo!
467デフォルトの名無しさん
垢版 |
2018/01/14(日) 23:05:40.01ID:ir5vm7iB
>>465
/vagrant/ 共有フォルダ下に
プロジェクトのソース、DBディレクトリなど開発環境置いて
ホストマシンから編集すれば万事解決
2018/01/18(木) 23:50:29.04ID:XSFRYjak
コンテナ内でandroidエミュをヘッドレス起動 OK
エミュブート待機 OK
コンテナ内でadb tcpip 5555 OK
ポートフォワーディング5555:5555 OK
コンテナ内でadb connect localhost:5555 OK
コンテナ外からadb connect localhost:5555 繋がらない

なんでやねん😭
2018/01/19(金) 00:08:57.82ID:acEC53C4
外から接続できない設定になってるだけだろ
2018/01/20(土) 17:54:53.60ID:02tJQvIi
dockerの参考書でできるだけ新しく内容が濃いものはどれ?
ネット検索で断片的な情報を集めるのに疲れた
2018/01/20(土) 18:29:02.75ID:cgUM+b3j
>>470
https://docs.docker.com/engine/reference/builder/
472デフォルトの名無しさん
垢版 |
2018/01/23(火) 13:18:24.35ID:CDVCaOOu
環境構築には、vagrant, chef は、Ruby でレシピ(手順書)を書ける。
Docker もある

仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1487235664/l50
473472
垢版 |
2018/01/23(火) 13:19:10.42ID:CDVCaOOu
472 は、誤爆
2018/03/07(水) 11:05:45.94ID:r+VXWfNv
ansible絶対殺すおじさんは最近あばれてないの?
2018/03/15(木) 23:36:12.82ID:rmXeLovx
>>474
暴れてますよ。
2018/03/24(土) 08:58:04.53ID:9NxgdLlD
ubuntuコンテナにRDP接続したいのですがどうすればいいですか?
Xウィンドウ?とかいうのを使うらしいのですがよくわかりません
477デフォルトの名無しさん
垢版 |
2018/04/20(金) 13:09:59.38ID:6bRMLqam
プロフェッショナルの方、どなたか教えてください(/ω\)

今、下記内容のdockerimageを作成したいと思っています。
 
 @ ベースのイメージ:jupyter/datascience-notebook
 A Tensorflowを使いたい ※@にTensorflowがインストールされていないため

その為にdockerfileを下記の通り作成したのですが、
出来上がったdockerimageから作成したコンテナ上で上手くtensorflowが動きません。
※コンテナ内でpythonを起動し、そこで「import tensorflow as ts」を実行すると以下のエラーが出ます。
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa
ImportError: numpy.core.multiarray failed to import
ImportError: numpy.core.umath failed to import
ImportError: numpy.core.umath failed to import
2018-04-20 03:56:29.133557: F tensorflow/python/lib/core/bfloat16.cc:664] Check failed: PyBfloat16_Type.tp_base != nullptr
Aborted

dockerfileの内容は以下になりますが、何か間違っていますでしょうか?
もし間違っている場合は、修正内容をお教えください。m(__)m

■dockerfileの内容
From jupyter/datascience-notebook
RUN pip install --upgrade pip
RUN pip install tensorflow==1.5
2018/04/25(水) 15:11:44.49ID:yjbc7H4K
質問が続いて申し訳ありません。
もう本当の初心者の初心者で、これからローカル開発環境を構築しようというところで、
Vagrantの初期化に失敗し途方に暮れております。
海外サイト含めいろいろググりましたし、パスやユーザー名の問題もないと思います。
Invalid argument @ dir_s_mkdir - C:/Users/(user)/MyVagrant/MyCentOS/?vagrant_home (Errno::EINVAL)
と出て、初期化(Vagrantfileの作成)に失敗します。

どなたか助けてください・・
2018/04/25(水) 15:29:10.25ID:YkxuvCe9
>>478
mac買ったらいーよ
私はubuntuユーザーです。
winは色々大変
2018/05/02(水) 06:04:27.72ID:hUDFoTxj
DockerでLet's encrpt使えますか?
481デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:43:15.85ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

AUPZD
2018/05/24(木) 10:54:24.16ID:cPlRxlDn
AUPZD
2018/06/12(火) 19:37:05.64ID:X3Ns4c46
windows 10 メモリ4GでDocker動かすテクニック知らん?
こいつリソース食い過ぎなんだけど
2018/06/12(火) 23:47:07.15ID:nNHaoP16
メインマシンが4GBだったら軽蔑する
2018/06/13(水) 14:37:25.86ID:oqJxCeYC
メモリ4Gなんて15年前の標準PCじゃん
486デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:07:24.99
32GBでようやく標準装備といえる
2018/06/13(水) 19:14:19.13ID:Jt1XfQ9I
>>483
DockerはWindowsとLinuxではLinux仮想マシンを使う
だから設定から仮想マシンに割り当てるメモリを変更すれば良い

WSLのLinux互換機能が高くなれば、仮想マシン使わずに
ネイティブに動くのにな。まだかなー
2018/06/13(水) 19:22:53.70ID:MfFyOg3y
>>486
おいおいスパコンかよ
2018/06/13(水) 19:38:30.68ID:Jt1XfQ9I
>>488
スパコンの定義は1.5TFLOPS以上から50TFLOPS以上に変わったらしいで

https://ja.wikipedia.org/wiki/FLOPS
1.5TFLOPSとか発売当時で今なら中古で1万?ぐらいの
GeForce GTX 580で超えるからな
2018/06/13(水) 19:47:51.58ID:uyjgxa7r
DockerとVagrant両方使ったが、覚えることはVagrantのほうが少ないな
軽さではDockerかな
2018/06/13(水) 20:05:47.54ID:MfFyOg3y
コンテナ起動した後に初期化スクリプト走るタイプのコンテナが使いにくいんだがどうにかならんのあれ

oracledbコンテナ起動
クエリ通るまでポーリング
スキーマ構築
固定のマスタデータ投入
テスト用のトランザクションデータ投入
UI テスト開始

CIサーバーでテスト開始するまでが長すぎてもったいないと思った
初期データまで込みでイメージにしたい
2018/06/13(水) 20:22:25.46ID:Jt1XfQ9I
>>491
それは初期化スクリプトが問題なのではなく
データベースサーバーが起動するまで待っているから
データ込みにしてようが結局データベースサーバーが起動するまで待つ
2018/06/24(日) 10:53:45.00ID:B69th+8G
仮想サーバーがイメージつかめないんだよな
そもそも、vagrantって言葉の意味もわからんしな
2018/06/24(日) 10:54:03.25ID:B69th+8G
ジェム、ユムとか意味わからん
2018/06/24(日) 13:03:06.51ID:/Ut2/nFL
Vagrant重すぎ
2018/06/24(日) 14:01:24.14ID:bQQqGsfl
>>495
スペック
2018/06/25(月) 00:35:12.17ID:coa4kaO9
>>496
20代独身172cm65kg
石原さとみがタイプだが嫁にはしたくないタイプだな
料理下手そう
2018/06/28(木) 22:59:23.81ID:bysnBXSn
>>496
Core i5、メモリ4GB
メモリ不足かな?
2018/06/28(木) 23:56:34.54ID:N70xoCCv
メモリ4GBって10年前から時が止まってんのか
2018/06/29(金) 07:00:02.38ID:fLw6tHLK
業務系はどこもこんなもんだよ
経営者がITよくわかってないから設備投資には消極的
エクセルとエディタが動けば開発できるだろ贅沢言うな経費削減だって本気で考える
2018/06/29(金) 17:50:31.79ID:rf9SvDm4
金無いんだから仕方ないだろ
そんなこと言うなら俺にパソコン買ってくれ
2018/06/29(金) 18:26:52.80ID:fLw6tHLK
アマゾンからインスタンス借りれば?
端末買うよりは安いでしょ
2018/06/29(金) 19:06:08.95ID:KCXh18yp
Dockerを使っていてもAnsibleのような仕組みはやっぱり必要なんだな
コンテナを起動した後に起動をポーリング待ちして初期設定処理を動かさなきゃならんコンテナが多すぎる
リポジトリからコードcloneしてupすればローカル開発環境のセットアップ完了なんてのは儚い夢だった
2018/06/29(金) 20:38:57.27ID:ISSgYOxU
Ansibleのようなでかい仕組みはいらないけどね。
シェルスクリプトもしくはシェルスクリプトベースのなにかで良い

あと「ローカル開発環境」の定義がきれいに定まってない気がする。
おそらく、IDEやテキストエディタを含めたものを言ってるのだろうけど
分けて考えないといけないと思う

1. ソースコードを作成する環境
2. 開発したアプリを動かす環境
3. 実行するサーバー相当の環境
2018/06/29(金) 22:10:23.96ID:KCXh18yp
まあansでもshでもいいけど何れにせよサービス起動前とサービス起動後の設定を一元化して管理したい場合にはDockerは致命的に使いにくいってこと
2018/06/30(土) 02:41:09.28ID:UBF/c/En
>>505
それは典型的なDockerの使い方の間違いだよ
間違ってるので、何を想定してるのかよくわからない
設定を一元管理?なんの話だそれは

正しいDockerの使い方はアプリとその実行環境を固めたアプリ・サービスを作ること
及び設定内容を埋め込むことで起動するだけで動くアプリ・サービスを作る

1. 新しく物理・仮想サーバーを用意して、
2. 環境ごとのサーバーの設定を行って、
3. アプリ・サービスを動かすのに必要な環境を用意して(必要ライブラリのインストールなど)
4. アプリ・サービスをインストールして
5. アプリ・サービスの設定を行って
6. 環境構築を完成させる

よりも

1. 新しく物理・仮想サーバーを用意して、
2. 環境ごとのサーバー設定を行って、
3. アプリ・サービスをDocker経由でインストール・起動して
4. 環境構築を完成させる

この方が楽でしょ?

特に一つのマシンで複数のアプリ・サービスを動かそうとしたとき、
そのアプリ・サービス毎に必要な環境が異なっていたら大変になる
それぞれが必要なライブラリのバージョンが異なっていて動かないとかね
2018/06/30(土) 03:33:31.86ID:izzLzYRX
DockerもVagrantもcronが絡むと途端に使えなくなるな
仮想コンテナ系の限界だな
2018/06/30(土) 04:26:22.48ID:M0wFt4mj
>>503
あの、出来てますよ、それ
初期化待ちって、Dbの構築とかですか?
2018/06/30(土) 04:29:06.89ID:M0wFt4mj
cronも良く分からないが、使う?
動作確認だけなら、cronで叩く処理を動かせば良いような
2018/06/30(土) 06:32:44.17ID:UBF/c/En
>>507
普通にcronからDockerコンテナ化した
プログラム実行するだけじゃん
何が使えないの?
使い方が間違ってるだけじゃないの?
2018/06/30(土) 09:08:24.15ID:EEI2bAzw
>>506
例えばAnsibleだったら

1. 新しく物理・仮想サーバーを用意して、
2. 環境ごとのサーバーの設定を行って、
3. アプリ・サービスを動かすのに必要な環境を用意して(必要ライブラリのインストールなど)
4. アプリ・サービスをインストールして
5. アプリ・サービスの設定を行って
6. 環境構築を完成させる

ってのは1はともかく2〜5はAnsibleだけで一元管理できる

でもDockerだと

1. 新しく物理・仮想サーバーを用意して、
2. 環境ごとのサーバーの設定を行って、
3. アプリ・サービスを動かすのに必要な環境を用意して(必要ライブラリのインストールなど)
4. アプリ・サービスをインストールして
5. アプリ・サービスの設定を行って
6. 環境構築を完成させる

2はシェルスクリプトやAnsibleなど
3はDockerfile
4はComposeやKubernetesなど
5はシェルスクリプトやAnsibleなど

このように色々と使い分けなければならない

どっちにしたって自動化するなら1つのテクノロジで管理できるAnsibleのほうが楽でしょってこと
2018/06/30(土) 09:32:43.17ID:EEI2bAzw
>>508
うん、主にDB
DBに設定データを保存するパターンのアプリも必然的に同じ状況になる

もちろん自分が作ってるアプリの設定ならDBの初期化スクリプトに追記すればいいと思う
postgresなどは親切にもオフィシャルでスキーマ初期化の機構が用意されてる(oracle公式はなかったけど)

でも他人が作ったアプリではそうもいかない
DBの初期化スクリプトで初期設定データを挿入することはできるだろうけど、なにを入れればいいのかがわからない
手動で設定した後にDBを分析して、入れるべきデータを調べることはできるけど、手間がかかりすぎる
それにアプリが実行してる初期化に割り込んでデータを挿入するというのは行儀が悪い
なのでアプリが起動した後、アプリが用意したインターフェースで設定を行うことになる
管理用のREST APIが整備されてるならそれ、ブラウザでしか動かせないならSelenium、といった具合
docker execでコンテナに入ってコマンドで設定というパターンもあるけど(railsアプリに多い気がする)、設定のためだけに普段使わないフレームワークを覚える気はしない
2018/06/30(土) 11:28:30.25ID:sCpaaE3u
ドッカーはウェブアプリ専用
基本中の基本やろがい
2018/06/30(土) 15:23:37.26ID:UBF/c/En
>>511
> ってのは1はともかく2〜5はAnsibleだけで一元管理できる
一人でプログラム作ってんのか?

アプリを動かすのに必要な、OSの環境、入れて置かなければいけないパッケージ
その他必要なライブラリはなんなのか?
それをアプリを作ってない人が把握するのは大変だよね?

それらのバージョンはアプリの開発やセキュリティパッチなどで日々変わっていく
そのたびにAnsibleをメンテナンスするのは大変
物理・仮想サーバーのAnsible構成と一体化してるから、
ローカルで動かしてみるのも大変

サーバーの環境設定と、アプリの実行環境構築は別々の作業で別々の人がやる
アプリを開発してる人は自分の責任でアプリを実行できる環境を用意しないといけない。

サーバーの設定を行ってる人(Ansibleの設定書いてる人)に、
あ、これこれのライブラリ入れてください。バージョンはこれで。
アプリのバージョン更新するんで、Ansibleであれとこれ更新してください。
え?動かない。手元ではちゃんと動いてるんですが?
ライブラリのバージョン違ってるじゃないですかー、ちゃんと入れてくださいよー
あんたのミスですよ。
なんてことあってはならない
2018/06/30(土) 15:31:35.57ID:UBF/c/En
担当者を明確に分けるとこういうことなんだわ

1. [インフラ] 新しく物理・仮想サーバーを用意して、
2. [インフラ] 環境ごとのサーバーの設定を行って、
3. [アプリ開発] アプリ・サービスを動かすのに必要な環境を用意して(必要ライブラリのインストールなど)
4. [インフラ][アプリ開発] アプリ・サービスをインストールして
5. [アプリ開発] アプリ・サービスの設定を行って
6. [インフラ][アプリ開発] 環境構築を完成させる


担当者ごとに分けると以下のようになる

・Ansibleで設定する部分
1. [インフラ] 新しく物理・仮想サーバーを用意して、
2. [インフラ] 環境ごとのサーバーの設定を行って、
4. [インフラ] アプリ・サービスをインストールして
 (kubernetesのような運用向けオーケストレーション、または単体でDockerコンテナ起動)
6. [インフラ] 運用環境構築を完成させる

・Dockerでコンテナ化する部分
3. [アプリ開発] アプリ・サービスを動かすのに必要な環境を用意して(必要ライブラリのインストールなど)
4. [アプリ開発] アプリ・サービスをインストールして
 (Composeのような開発向けオーケストレーション、または単体でDockerコンテナ起動)
5. [アプリ開発] アプリ・サービスの設定を行って
6. [アプリ開発] 開発環境構築を完成させる

作業は明確に分かれてるんだよ
担当者が違う作業を一緒にしてしまってはいけない
2018/06/30(土) 15:38:28.48ID:UBF/c/En
>>513
> ドッカーはウェブアプリ専用

違うよ。例えばffmpegのような多くの外部ライブラリに依存し
バージョンの違いの影響も大きくコンパイルオプションも豊富で、
権利関連の問題でどのディストリでも標準パッケージでは満足できず
かと言ってライブラリを自分でビルドすると依存関係が壊れがちになって、
すべての機能をONにしたければ自分でビルドするはめになるようなソフトは
Dockerを使うと、簡単にビルド・実行できるようになる。
自分の好きなディストリを使いつつ、ffmpegは他のディストリベースにすることができる
2018/06/30(土) 17:59:07.34ID:dpeJpZ7C
サーバの環境をdocker上に作っておく
リプレースが必要になったら新しいサーバにimageを移す

古いけどファミコンのカセットを新しいサーバに刺しなおすだけ
2018/06/30(土) 18:03:48.84ID:EEI2bAzw
つまり

* Dockerの利点はアプリの依存関係のパッケージングである
 JavaランタイムなしでJavaアプリが動かせますといったことがOSレベルの依存関係でも可能

* Dockerによってパッケージングされたアプリだけではシステムとして成立しない
 Ansibleやオレオレスクリプトで別途環境構成や設定を管理する必要がある

こういうことですか?
DockerはあくまでAnsibleやオレオレスクリプトで管理される取り扱いが容易な部品に徹すると
2018/06/30(土) 18:55:13.03ID:HMZbAOjg
そもそもAnsibleとDockerって明確にセグメント違うでしょ
優劣がどうこう言うたぐいのものじゃない
2018/06/30(土) 19:51:53.39ID:EEI2bAzw
AnsibleはAnsibleだけでいいけど
DockerはAnsibleやシェルなど別途構成要素が必要
結局はここに落ち着く
>>503から進展してない
2018/06/30(土) 20:01:12.07ID:UBF/c/En
> AnsibleはAnsibleだけでいいけど
> DockerはAnsibleやシェルなど別途構成要素が必要

え? Ansibleでアプリ開発してんの?
普通別の言語を使うよね?
というかAnsibleでどうやってアプリ開発するのか知らんがw

なぜそんなに、アプリ開発の一環である
Dockerコンテナの作成を、Ansibleでやることにこだわるのか?
どうせアプリ開発は別言語でやるのに

インフラ担当は、アプリ開発をしなくていいんだよ?
2018/06/30(土) 20:15:36.27ID:EEI2bAzw
>>521
Ansibleでアプリ開発?
スマンが言ってること意味不明なので解説して欲しい
2018/06/30(土) 21:01:45.05ID:EEI2bAzw
Docker使わない場合(4step, 2lang)
【Java】 Javaアプリ開発
【Ansible】 Javaランタイムインストール
【Ansible】 Javaアプリデプロイ
【Ansible】 アプリ設定

Docker使う場合(5step, 3lang)
【Java】 Javaアプリ開発
【Docker】 Javaランタイムインストール
【Docker】 Javaアプリデプロイ
【Ansible】 コンテナデプロイ
【Ansible】 アプリ設定

覚えること、仕事増えてるよね?
2018/06/30(土) 23:50:20.38ID:HMZbAOjg
>>523
ボケはもういいから
2018/07/01(日) 00:21:42.91ID:uZDpH5tc
>>522
だってすべてAnsibleだけでできるわけないじゃん。
インフラさんはAnsible使ってるだろうけど、
アプリ開発者は別の言語使ってるよね?

インフラさんにとっては、アプリがなんの言語で作られてようが
Dockerコンテナで実行環境毎まとまってようがどうでもいいことじゃん

重要なのはアプリを開発してないインフラさん
(=どんな実行環境・ライブラリなどで動くかなど知らない)が
アプリに依存したことを意識せず「Dockerコンテナを動かす」という
ただそれだけのことで、サービス運用環境を作れること

専門家に任せましょう。どんな実行環境・ライブラリなどで動くかは
アプリ開発者は知ってます。それで作ってテストしてるんだから
アプリ開発者はAnsibleなんか使いません
2018/07/01(日) 00:46:26.68ID:uZDpH5tc
あとAnsibleを使えばDockerのようなことができると
思ってるようだけど、できないからな

・Dockerを使うと実行環境をアプリに組み込むことができます
・Dockerはアプリが使用するポート番号を自由に変更することができます
・Dockerは複雑なアプリ設定を単純化し、引数や環境変数で指定可能なアプリに作り変えます

所詮Ansibleは作られたアプリに対して設定を行うだけで、
Dockerのようにアプリ自体を改善・強化することはできない
アプリをDockerコンテナ化するだけでいろんなOSで動かすできるのも
アプリ自体の改善・強化の一つだな
2018/07/01(日) 01:09:50.12ID:JvyRKliu
>>510
コンテナ内でcron動かせなきゃ意味ない
cronを含めたパッケージングがしたかったんだよぉ
2018/07/01(日) 03:17:51.52ID:uZDpH5tc
>>527
だから使い方を完全に間違ってる
Dockerはアプリに実行環境を埋め込んで、完全体のアプリを作ること
exeファイルの中にdllなどを埋め込むのと近い

あんたが言ってるのは、C言語でソースコードをビルドしてバイナリを生成して、
バイナリを実行したらcronが動くんじゃなくて、ファイルが存在するだけで
cronを動かすようにしたいって言ってるようなもの

ビルドしただけで動き出すようなプログラムなんてない
意味不明なことを言ってるってわかるだろ?

もちろんDockerコンテナを実行したら内部でcronが実行されてるっていうのなら
簡単にできるが、cronを使うまでもなく実行時間までsleepするだけで十分だな
2018/07/01(日) 08:10:05.39ID:Qn9lbnal
>>525
>>522
>だってすべてAnsibleだけでできるわけないじゃん。
>インフラさんはAnsible使ってるだろうけど、
>アプリ開発者は別の言語使ってるよね?
アプリ開発言語は別に決まってんじゃんって常識的に考えてわからんか?

>インフラさんにとっては、アプリがなんの言語で作られてようが
>Dockerコンテナで実行環境毎まとまってようがどうでもいいことじゃん
そのとおり
ドウデモイイんだ
ドウデモイイので使うテクノロジーは減らしたほうがいい

>重要なのはアプリを開発してないインフラさん
>(=どんな実行環境・ライブラリなどで動くかなど知らない)が
>アプリに依存したことを意識せず「Dockerコンテナを動かす」という
>ただそれだけのことで、サービス運用環境を作れること
ロールでいいじゃん
ロールの詳細までは別に知らなくていい(知りたければ見ればいい)

>専門家に任せましょう。どんな実行環境・ライブラリなどで動くかは
>アプリ開発者は知ってます。それで作ってテストしてるんだから
>アプリ開発者はAnsibleなんか使いません
クラウドが一般化してきてプログラマでもインフラに関わらなきゃならない機会は増えてる
当然Ansibleも必須科目
2018/07/01(日) 08:13:01.18ID:Qn9lbnal
>>526
便利っちゃ便利だけど別に必須でもなんでもないよねそれ
それに逆に設定がめんどくさくなることもある(DBとか色々)
2018/07/01(日) 08:27:59.52ID:Qn9lbnal
>>528
Dockerで作った完全体のアプリ()を誰かがコントロールしてやらなければならないんだどうせなq
exeを作っただけじゃ役に立たないようにイメージを作っただけじゃ役に立たない
サービスとして起動して起動後の設定を行う必要がある
そのための基盤がAnsibleみたいな構成管理ツール
どうせAnsible使うなら最初から全部Ansibleでやりゃいいじゃんってこと
依存関係をDockerfileで解決するかPlaybookで解決するかの違いでしかない
複雑な依存関係がある場合はDockerでカプセル化するメリットがあるかもしれんがそんなのは頻繁に起こることじゃない
2018/07/01(日) 09:18:18.65ID:k5uLwq/7
bashで全部できるならbashでやるのか?
馬鹿じゃねーの?

Dockerが必要な状況ならDocker入れればいいだけで何のためにDocker使うかわかりもしないのに入れて
手順が増えるとか言う馬鹿
2018/07/01(日) 09:21:29.18ID:k5uLwq/7
問題解決や利便性のためにDockerが必要な局面もあるだろ
そういうときにDockerが使えればいいだけ

Ansibleしか使えないのに俺スゲーしたいんだろ
俺日本語だけで十分だからなんで英語やフランス語使ってるのかわからんみたいな
低レベルな自慢みたいな浅はかな感じがする
2018/07/01(日) 09:26:11.80ID:uZDpH5tc
> ドウデモイイので使うテクノロジーは減らしたほうがいい

それならAnsibleをなくしたいねw

だってシェルスクリプトは普段からCLIで使ってるけど
Ansibleは使わないじゃん。

シェルスクリプトはなくせないが、Ansible
はシェルスクリプトで置き換えれば無くせる

Dockerはシェルスクリプトベースだしね
2018/07/01(日) 13:19:42.19ID:Qn9lbnal
そう必要なときに使えばいいんだよ

bashだけで構成管理する大道芸はキツイ
からなんかツールないとやっていけないぞそう世界中のみんなが考えて発明されたのがAnsibleのようなツール
必要性から生まれたツールなんで必要なものなんだね

Dockerは使うと面白いのはわかるけど必要かって言われると正直別に…ってところだな
依存関係?どんだけごった煮のサーバー作る気だ?
ポート変えれます?おめでとさん
引数や環境変数で設定可能?パラメータはファイルに残そうね
2018/07/01(日) 17:00:28.45ID:uZDpH5tc
>>535
アプリに実行環境を組み込んで可搬性のあるアプリを
作るってところはまだ意味がわかってないのかな?
そこについての言及がないってことはそうなんだろうね

Ansibleで開発したアプリの設定を行うほうが大道芸
だって自社で開発したアプリにAnsibleモジュールは存在しない
自分でモジュール作るか?それともコマンド呼び出しで頑張るか?

自社で開発したアプリを動かすにはあれとこれのインストールが必要です。
バージョンが上がったので今度はそれも追加してください
設定項目が追加されてるので、それを設定するように書き換えてください
冪等性あるように作ってください
アプリのデプロイの前に、Ansibleで環境を更新してください
そうしないとアプリ動きませんから!
絶対にミスしないでくださいよ!!

はい、大道芸w

Dockerを使うとそういう複雑なところが隠蔽されるんだよ
Ansibleで書くのはDockerコンテナを起動する。そのためのモジュールを使うだけ
手元でテストしたDockerコンテナを実環境でも使う。だから実行環境に違いはない。
Ansibleの定義ファイルは単にバージョン番号を変更するだけ
2018/07/01(日) 17:13:48.82ID:Qn9lbnal
まだわからんかねぇ
Dockerで完結しないってとこからは目をそらし続けるんだ
コンテナ起動するたびシェルで必死に起動後の設定とかアホくさ

そもそもそんな手順はいらない
ロール用意したんでそれ使ってくださいで終わり
2018/07/01(日) 17:26:44.38ID:uZDpH5tc
> Dockerで完結しないってとこからは目をそらし続けるんだ

どうせアプリはJava使ってありRuby使ったりするんだ、
Ansibleだけで完結することもないよ

それにお前の定義によればDocker使っても「Ansibleだけで完結」してることになるだろ
なぜって? AnsibleのDockerモジュールを使うからだよ

お前、Ansibleでcronの設定したら「Ansibleだけでは完結しない。cronが必要」って言うか?
言わないよなぁ? Ansibleでcron設定しようがDockerコンテナ化したアプリの設定しようが
Ansibleだけで完結してることになってるだろ


んで話を戻して、JavaやRubyなどでアプリを開発してるが
Dockerを使おうがAnsibleを使おうが、新たに別のテクノロジーを使ってるのは一緒。
ならDockerのほうが可搬性の点でもシェルスクリプトベースという点でも
メリットがあるので、Dockerを使ったほうがいい
2018/07/01(日) 17:28:34.87ID:uZDpH5tc
訂正&補足

んで話を戻して、普段JavaやRubyなどでアプリを開発してる人が
Dockerを使おうがAnsibleを使おうが、新たにアプリ開発言語とは別のテクノロジーを使ってるのは一緒。
2018/07/01(日) 17:43:06.36ID:Qn9lbnal
必要な環境はロールでカプセル化されっからドッカーでカプセル化して二度手間にする必要はないってことな


つか
「Ansibleで完結」を拡大解釈してねえか?
アプリ開発にジャヴァやらなんやら使うからほれみろAnsibleで完結してませーんってボケにしてもあんまし面白くないぞ


Docker使っても使わなくてもAnsibleで完結してるってのはそうだな
所詮は1モジュールでしかない
逆にDocker視点で見れば全然完結してなくてDockerより大きな他の仕組みが必要になる
2018/07/01(日) 17:58:47.05ID:8lx+/MyK
kubeと組み合わせるケースはansibleだけではカバー出来んじゃろ
2018/07/01(日) 18:22:53.11ID:8PAx412Y
Ansibleはwindowsも含めて使ったらPowerShellも覚えないといけない
2018/07/01(日) 21:27:52.08ID:JvyRKliu
>>528
その通りだとするとcronを使ったwebシステムのパッケージングにはDockerは不向きってことになるが
だとすると俺のイメージと違うな
実行環境を含めたパッケージングの利点はまぁわかるが、ツールレベルのバイナリを使うのにわざわざビルドするのはめんどくさくない?
実行環境をパッケージングできるのはすごいアイデアだと思うよ。でも俺は例えばcatを使うのにわざわざDockerでビルドしたりしないな。そのレベルのバイナリならyumとかapt使うわ
2018/07/01(日) 22:57:33.50ID:uZDpH5tc
>>543
馬鹿か。だから自分で作ったアプリに実行環境をくっつけるんだよ
ほんとなぁ、開発者のためのツールだってわかっちゃいねぇ
545デフォルトの名無しさん
垢版 |
2018/07/02(月) 16:56:48.08ID:JP9Qw5xK
LXC 生で使ってる人いる?
2018/07/03(火) 14:33:51.33ID:lAm6wwJh
つかいたくなければ、つかわなければいい
これだけで全部解決できるわけないし
2018/07/03(火) 16:29:17.64ID:1jr4H9Em
>>544
批判的な俺だが仕事ではDocker使ってるんだよね
小規模webサイト程度ならほんと使い勝手いいわDocker
引っ越しもすげー楽
2018/07/03(火) 18:13:47.17ID:Z18rPYuK
ウェブサービスや一回走らせて終わりのコマンドと相性が良すぎるんだよなドッカー
それ以外は残念だけど面倒が増えるだけ
2018/07/04(水) 00:22:44.56ID:rYQuTGUK
> それ以外は残念だけど面倒が増えるだけ

サービスとコマンド以外に世の中に何があるんや?
550デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:54:18.61ID:gFgZc5FG
Q8Y
2018/07/05(木) 09:11:51.87ID:s/7ffhjx
ウェブアプリテスト環境をmac上のDocker環境で行っているのですが
雨が続くみたいのでリモート作業できるよう自宅のwindowsで同じ環境を構築しようと考えています

Docker上の挙動ってホストOSに依存しますか?
VMならHWレベルでエミュレートしてるので大丈夫そうですけど
Dockerの仮想化ってどのレベルでやってるんでしょうか

動かすのはスクリプト言語なのでバイナリレベルの互換性とかはそれほど影響うけなさそうですけど
通信したときのエンディアンとかはホストに依存したりするんでしょうか

やりとりはjsonのみなのでそのへんもちゃんと吸収されてるとは思うのですが
変なところではまりたくないので事前に確認したいです
2018/07/05(木) 10:10:29.76ID:PwFNAHcP
>>551
もともとDockerはLinuxカーネル上で動くものとして作られた
今はWindowsやIBM Zなどに対応しているようだが、使用例は少なく
意識して使おうと思わない限り、Linux(x64)のイメージを使ってるはずだ

Linux(x64)のイメージを使っているのだから、
そのDockerコンテナはMacやWindows上でネイティブに動かない。
だからMacやWindowsでは仮想マシンが使われておりVM上でLinuxが動いている
(このLinuxはDockerを動かすためだけの軽量なLinuxで直接使うことはないのでディストリは意識しなくていい)

Docker for Mac では xhyve (Mac純正仮想マシン)が使われている
Docker for Windows では Hyper-V(Windows純正仮想マシン)が使われている
Docker for Mac/Windowsのほうが新しく推奨だが、Hyper-VはWindows Pro以上でないと
使えないので、Docker Toolbox(Virtual Box)を使うしかない

仮想マシンを使用しているということを意識しないように、うまく設定されてはいるが、
それでも仮想マシンであるがゆえに、CPUやメモリの使用する量を仮想マシンに割り当てるしかなく
その範囲でしか使うことができない。これらはDockerの常駐アイコンから設定できる

> Dockerの仮想化ってどのレベルでやってるんでしょうか
勘違いしている人が多いが、仮想化 = ハードウェアエミュレーションという意味ではない
仮想化というのは単に物理的なものを切り離して抽象化するという意味なだけだ

仮想マシンは、マシンを仮想化したものだが、Dockerが提供しているものは、
(実行環境の)仮想化であって仮想マシンではない。ハードウェアを抽象化して
見せているのではなく実行環境(カーネル以外のOSやライブラリなど)を抽象化して見せているだけ
2018/07/05(木) 10:12:02.23ID:PwFNAHcP
訂正

Docker for Mac/Windowsのほうが新しく推奨だが、Hyper-VはWindows Pro以上でないと
使えないので、 "Docker for Windowsが使えない場合は" Docker Toolbox(Virtual Box)を使うしかない
2018/07/05(木) 10:18:19.71ID:s/7ffhjx
環境構築は人にたよってて
その上でjavaやPHPのコーディングするのがメインなのでちゃんと理解できてない…

今の案件がRailsなんですけど
結論からいうとwindows上のDockerでRailsを動かす同じ環境を構築するのは難しい感じでしょうか
2018/07/05(木) 10:29:08.88ID:PwFNAHcP
>>554
別に?

同じように使える。というか同じように使えるように
Docker社が頑張ってくれてる。

もともとLinuxカーネルでしか動かないのに
よくもまあこんなに頑張って対応したもんだと思うよ
WindowsやMacでも動くことの重要性を強く認識していたんだな

本番環境ではLinuxカーネル上で動かすわけで、Linux上にだけ対応するという道もあったはず。
でもWindowsやMacに対応したのは、多くの開発者の開発マシンはWindowsやMacで
開発者にとってのツールであるDockerはWindowsやMacでも使えることが重要だと考えていたのだろう


上の方にいる、誰かが作ったアプリをパッケージングして配布することだけしか考えてないやつには
わからんだろうね。だから配布するならansibleで十分じゃんという発想になってしまう。
Dockerはアプリ開発者のためのツールですから
2018/07/05(木) 11:11:14.97ID:s/7ffhjx
丁寧な回答ありがとうございます
構築してみます
2018/07/05(木) 11:37:29.66ID:s/7ffhjx
何度もすいません

インストールはできてコマンドラインからも動作させることはできたんですけど
ファイルシステムやメモリの設定はどこから行えばいいんでしょうか

mac版はランチャーがあって
Preference > Daemon > Advanced にファイルシステムの設定ファイルがかけたり
Preference > Advanced からメモリの設定ができたりしたんですけど
2018/07/05(木) 12:38:07.08ID:ODR9lPch
>>554
素直に仮想マシンを立てて、Ansibleなど構成管理ツールを使って、本番と開発環境を可能な限り揃えたほうがいいよ
Dockerはほぼどこでも動くけど、どこでも同じように動作するわけじゃないし、トラブルが発生した時の対処手順がDockerと実機サーバーや仮想マシンとでは大きく異なる
本番も開発環境もDockerで統一するなら許容範囲内だけど、それでも環境差異のリスクはあるね
2018/07/05(木) 12:51:42.85ID:PwFNAHcP
> 素直に仮想マシンを立てて、Ansibleなど構成管理ツールを使って、本番と開発環境を可能な限り揃えたほうがいいよ

それをやると問題になるのが、(Windows or Macで)ファイルを編集して
すぐにそれを反映させるのが大変になる。いちいちアップロードなんてしてられない
開発時はソースコード書いてテスト実行という流れが1分間に数回のレベルで発生する

また開発時はデバッグ用のモジュールが必要になる。
ログの表示とかデバッガの実行とか。
本番環境と揃えるのは、開発面ですごく効率が悪い
アプリ開発してない、単に配布しかしてないやつにはそれがわからない
2018/07/05(木) 13:01:45.08ID:PwFNAHcP
>>557
Windowsもタスクトレイのアイコンから設定できるだろ?
Docker Toolboxはどうなってるのかしらんが。
2018/07/05(木) 13:11:16.62ID:PwFNAHcP
>>558は(Ansibleで構成した)仮想マシンと実機環境が同じだという前提のようだが、
その理屈だと Windows or Mac 上のDockerは仮想マシンで動いてるので
Dockerが動く仮想マシンと、Dockerが動く実機マシンは同じと言える

実際の所、Dockerイメージの中に実行環境が組み込まれているので、
Dockerイメージは、LinuxカーネルとDockerにしか依存しない
Dockerイメージは同じものを使うという前提であれば、
あとはLinuxカーネルとDockerを揃えてしまえばほとんど同じ

たとえ違っていたとしても、Linuxカーネルに関しては高い互換性が
あることが今での実績から明らかで、DockerはDockerコンテナを動かすために
使っているだけで、開発したアプリがDockerに依存しているわけじゃない
なのでLinuxカーネルもDockerもバージョンが変わったところで問題はほとんど発生しない。

環境差異のリスクがあるのはDockerを使わないからなんだ
2018/07/05(木) 14:32:54.33ID:1V9Bip0s
>>559
大変にならないよ?
もしかしてアプリ開発したことないのかな
2018/07/05(木) 14:37:12.16ID:1V9Bip0s
>>561
Dockerといえど環境バグは結構あるよ
まあ仮にDocker間で100%互換性があると譲歩したところでテスト、本番が非Dockerなら開発にDockerを使うのはリスクしかない
2018/07/05(木) 15:02:48.88ID:PwFNAHcP
>>562
じゃあWindows or Macのテキストエディタで
どうやって編集するというのかな?
2018/07/05(木) 15:03:35.76ID:PwFNAHcP
>>563
本番もDocker使うに決まってるでしょw
っていうか、Kubernetesとか使ったことある?
Docker前提だからね。もう大規模はDocker前提の時代になってる
2018/07/08(日) 20:56:23.28ID:5iWIGVP9
WSLでvagrantを使ってる人いる?
使い心地どうですか?
2018/07/09(月) 12:21:29.06ID:7imExrTX
WSL上でDocker Engineが動くようになっていたっぽいという話
https://qiita.com/yanoshi/items/dcecbf117d9cbd14af87
2018/07/10(火) 10:00:57.15ID:86tCne/Q
GKEもECS+Fargateも使える、この世の中でdocker使わない意味もないし、さすがにmanagedに対してansible使う機会は減ってきたと言わざるを得ない
2018/07/12(木) 00:18:40.48ID:/Jl9omsJ
>>564
ま、それも一理あるね
addじゃなくて、volumeで割り当てれば、host側から編集できる
2018/07/31(火) 15:12:20.08ID:Jag0raWy
コンテナは上がってるのに

docker exec -it xxxxx /bin/bash
Error: No such container: xxxxx

になったんですけど原因わかりませんか?

ymlファイルはいじってなくて

xxxxx:
image: yyyyyyyyyyyyyy
container_name: xxxxx

docker ps の結果は普通に起動してる
zzzzzzzzzzzz yyyyyyyyyy "/bin/bash" 4 days ago Up 23 minutes 0.0.0.0:nnnn->nnnn/tcp

昨日までは普通に動いてたのに
設定ファイルは色々いじったんですがコンテナに関係する部分は触ってないはずなのに…

dockerは便利だけどブラックボックスすぎて一度問題起きると自分で全く解決できないのが辛い
2018/08/05(日) 16:25:49.27ID:7Eiwzs5v
よく分からんなら問題解決なんてしないでコンテナ作りなおしちゃおーぜってのがdockerの基本中の基本
根本原因を調べないと再発するのでは?って思うかもしれんけどそのたびに作りなおせば問題ないよね
2018/08/07(火) 08:55:16.65ID:erAnRa1P
ずっと再発してたら進まないじゃん
2018/08/07(火) 23:32:53.48ID:WUtnzCvr
>>572
だから再発するまでは問題ないんだよ
「昨日までは普通に動いてたのに」ってことはコンテナを立ててからしばらくは正常に動いてるってこと
その間だけサービスを提供してダメになったら(なりそうだったら)予備のコンテナに切り替えるってわけ
コンテナ切り替えたら元のコンテナは破棄して次の予備コンテナをスタンバらせる
2018/08/08(水) 07:43:28.52ID:RHurRA8z
原因は調べないんでしょう?
ダメじゃん…w
2018/08/08(水) 15:09:32.22ID:kiEv2P1b
dockerの構築スクリプトも定期的にメンテしないと動かなくなることあるよ
2018/08/08(水) 15:11:24.15ID:kiEv2P1b
>>570
image-idじゃなくて、container-idをシテイシナイト駄目だよ
2018/08/08(水) 15:11:49.43ID:FOgunlIR
エラーの原因はコンテナと共にバイナリの海の藻屑となる。。。
積み重なったコンテナはやがて墓場を形成し、次第に人々はこう呼ぶようになった。。。
「どっかー(行っちゃった)の墓場」と。。。
2018/08/09(木) 20:34:37.85ID:c3U2AhaY
docker for winは登録しないとダウンロードできなくなったみたいだ
2018/08/09(木) 21:19:10.45ID:s67NkejU
そういやWindowsコンテナってあんま話題にならないけどどうなんだろ
XP、.NET 2.0、正体不明の自社・他社COMライブラリ、Excel.Applicationなどが仕事してる古いシステム
まるごとコンテナ化して隔離できんかな
2018/08/20(月) 20:42:31.73ID:zEHHSr5C
mysqlのdatabaseごとにマウントポイントを変更したい
どうやんの?
2018/09/24(月) 10:53:33.16ID:OxVBaH7R
Docker Hubから誰でもダウンロードできるコンテナイメージに暗号通貨採掘ボットが潜んでいた
https://jp.techcrunch.com/2018/06/16/2018-06-15-tainted-crypto-mining-containers-pulled-from-docker-hub/

オフィシャルと自作しか信用できんな
2018/09/24(月) 19:46:38.93ID:R7V+zLhQ
内容読む限りKubernetesクラスタとかDockerサーバのセキュリティ甘いやつ狙ってそいつらにデプロイさせてるんだと思う
まぁ自作と公式以外信頼しないのは重要だと思うけど
2018/09/25(火) 22:24:47.75ID:Rh4u2+TF
Dockerってデバッグ実行の設定が面倒っすね
584デフォルトの名無しさん
垢版 |
2018/10/10(水) 14:24:27.56ID:+MpVqK9H
virtualboxの上で直接に動いてるLinuxと
virtualboxの上にのってるVagrant上で動いてるLinux

この2つのLinuxって挙動とか変わってきたりしますか?
C言語とかシェルスクリプトのテスト環境として全く等価なんでしょうか?
2018/10/10(水) 17:09:35.61ID:az2ldVPt
変わるわけねーだろ。仕組みを考えろや
2018/10/10(水) 17:11:43.59ID:qywSzTWT
>Vagrant上で動いてるLinux
Vagrantは、仮想OS ではないので、Linux は、Vagrant上で動かない

「Vagrant」で検索!
587584
垢版 |
2018/10/10(水) 17:25:45.68ID:+MpVqK9H
>>585
>>586
理解できました
ありがとうございます!
2018/10/10(水) 19:12:20.57ID:YG2jN7++
>>584
インストールから設定をキッチリ揃えたわけでもなければ当然ながら等価じゃないよ
無視できる差異かどうかってとこが重要
これはDockerでも同じこと
厳密に同じ環境はどうやったって作れない
2018/10/10(水) 19:32:05.19ID:az2ldVPt
>>588
厳密に同じ環境であるかなんて聞いてないだろ
2018/10/11(木) 01:15:56.61ID:BkaQ7NLU
>>588
野良boxでなければ等価だと言ってもよいのでは?
2018/10/11(木) 07:15:08.44ID:ATTrPfNN
何をもって「挙動が同じ」「等価」とするかだよね
スクリプトでハードウェア情報取得しようとすれば環境によって変わってくるだろうし
外部のWebサイトに対して自分で書いたクローラーを実行するとかなら多分「挙動が同じ」になるだろう
2018/10/12(金) 12:25:02.77ID:M+u1oV0j
コンテナ上で仮想OSは動かないということだけど、例えば「docker pull ubuntu」で取得したubuntu動かすのと仮想マシンでubuntu動かすのとの違いが良くわからない
2018/10/12(金) 12:45:36.05ID:vWnsmRfa
>>592
dockerにとってubuntuは材料に過ぎない
ubuntuという材料をベースにDockerfileを書いてアプリを作る
そういうことが簡単にできるように作られたのがdocker
2018/10/12(金) 13:36:53.15ID:FbxLjgd5
つまりubuntuっぽい(というか見た目は変わらない)動作をするアプリが動いてるだけってことか
ありがとう
2018/10/12(金) 21:21:03.81ID:mCoAwEvP
マイナーなツールでフォアグラウンド起動のしかたがわからない場合どうする?
2018/10/12(金) 21:45:24.47ID:sq0JMdbV
フォアグラウンド起動の方法がないじゃなくて
わからないだけなら、調べろとしか
597デフォルトの名無しさん
垢版 |
2018/10/13(土) 00:18:26.66ID:M1XBvJBU
所詮はDockerって省エネを目指した仮想環境に過ぎないからね
そんなこと気にしなければVagrantがベスト
2018/10/13(土) 04:06:41.09ID:4DTv/biP
dockerとvagrantという全く違うものを
比較している人に言われましてもw
2018/10/13(土) 10:23:57.31ID:YNebL+WU
用途がかぶる部分があるので比較する意味は有る

自転車、自動車、鉄道、飛行機は全く違うものだけど、移動するためのものという用途は同じ
旅行や通勤の際にこれらを比較する価値は大いに有る
vagrantとdockerも同様
2018/10/13(土) 11:20:42.44ID:yupcnuUE
自動車と運転手を比較してもな。
2018/10/13(土) 11:20:59.09ID:MAZOR1zR
基本的にはファイルシステムだけカプセル化してるんだっけか?
でもportなんかもカプセル化してるし、どこまでを閉じ込めてるか結構微妙。
2018/10/13(土) 12:11:11.17ID:4DTv/biP
>>601
アプリケーションを動かすのに必要なもののうちOS以外の部分を
アプリケーションに内包させていると考えればいい
2018/10/13(土) 12:14:09.83ID:4DTv/biP
>>599
なにかアプリを使おうと思った時、わざわざ別マシンを用意して別の環境で動かすのが仮想マシン

今自分が使ってる環境の上でアプリを起動するのがDocker

ぜんぜん違う
2018/10/13(土) 13:02:00.31ID:MAZOR1zR
>>601
そんな抽象的で意味のない答えは求めてない。
2018/10/13(土) 21:33:30.23ID:YNebL+WU
>>603
抽象化ができないエンジニアには難しいかも知れないが
ホストと隔離された環境でなんらかのアプリを使うという抽象的な目的は同じなんだよ
基本になってるテクノロジが違うけどそこは同じ
なので比較検討することには意味が有るわけだ

例えばローカル開発環境を構築するという抽象に対してDockerあるいはVagrantという具象が有る
もちろんそういう意味ではホストに必要なパッケージをインストールするだけの素朴な構成も比較検討に値する
完全仮想化とコンテナ仮想化は違う技術だから比較に値しないなんてのは表層しか捉えられないなにもわかってない人の発想なんだね
2018/10/13(土) 21:48:14.00ID:An0DfPZD
技術が違うんじゃなくて、目的が違う
ここまで理解能力がないと、本当に話にならない。
2018/10/13(土) 22:12:07.13ID:An0DfPZD
Dockerの典型的な利用例の一つは仮想マシン上でDockerコンテナを動かすこと
仮想マシンとDockerをごっちゃにしているやつはなんでそうするかを理解できない
目的が同じものなのになぜ2つのツールを同時に使うんだ?と思ってる

答えははっきりしてる。それこそ目的が違うものである証拠
Dockerを使うとアプリにそれを動かすのに必要なものがOS以外すべてバンドルされる。
それによってDockerさえ動いていれば、どこの環境にも同じDockerイメージを
持っていって使うことができる。この可搬性こそがDockerの目的

単純にVagrantを使うと特定のOS、ディストリ専用にVagrantfileを書かないといけなくなる
各OSでパッケージ名やデフォルト設定やパスなどが違ってるからだ。

そこで可搬性が高いDockerを併用すると、DockerのインストールまではOS、ディストリ依存に
なってしまうが、それ以降は全く同じ手順でDockerコンテナを起動することができる
Vagrantfileでいろいろ書く必要はないし、VagrantをAnsibleやChefと併用する必要もなくなる

もちろんVagrantを使わない環境、例えばAWSやGCPなどのクラウドでもあっても
今は直接Dockerイメージをサポートしてるのもあって、Dockerイメージを指定するだけでいい

Dockerは可搬性を高くするためのもの
仮想マシンはただのマシンでしか無いし、Vagrantは環境構築ツールでしかない
目的が全然違っている。
2018/10/13(土) 23:33:44.26ID:YNebL+WU
>>606
目的なんて無数にあるだろ
自分が考える目的以外の目的が存在するということすら想像できないようじゃ話にならない
本当に話しにならない
2018/10/13(土) 23:37:37.63ID:An0DfPZD
そうやって一般論でごまかすのやめーや

Dockerが考えてる目的を書いただけの話
別の目的に使おうというのなら、使いにくいのは当然だってことだ
少なくとも仮想マシンやVagrantとDockerの目的は違っている
お前の目的の話はしてない。Dockerの目的の話をしてる。
2018/10/13(土) 23:44:07.35ID:YNebL+WU
>>607
あらら、まだわからないのか

キミの言うところのDockerの高い可搬性を利用して、例えば開発環境を構築するという目的を達成するんだよ
そして開発環境を構築するという目的を解決する手段はDockerに限らずVagrantでもローカルでも構わない
だから比較検討して目的を達成するのにはどのテクノロジを採用するのがよいかを考えるわけだ

おそらくキミの中ではDockerはこの目的に使うもの、Vagrantはこの目的に使うもの
といったようにただ一つの絶対的な目的があるんだろうな
目的を解決する手段がいくつも有ること、ツールを使う目的はいくつも有ることに気付いていない
最低限そこに気付いてくれないと話しにならないよ
2018/10/13(土) 23:51:41.18ID:YNebL+WU
>>609
君のレスを引用すると「Dockerは可搬性を高くするもの」
これがDockerが考えている目的なわけだ(というか君の脳内のDocker社の考える目的というべきか)

じゃあ可搬性を高くしてどうするんだ?
その先の目的がまだあるだろ?
その目的は利用者が抱える課題によって様々なんだよ
2018/10/13(土) 23:52:12.52ID:An0DfPZD
> キミの言うところのDockerの高い可搬性を利用して、例えば開発環境を構築するという目的を達成するんだよ

自分で言ってる通りじゃないかw
Dockerの目的は高い可搬性を作る所まで。

Dockerを利用するってことは、別に作業があるんだろ?
その作業の目的が開発環境を構築することであって
Dockerを使う目的ではない


キミ、物事の本質を捉えられるようにならないとダメだよ
2018/10/13(土) 23:53:24.28ID:An0DfPZD
>>611
> じゃあ可搬性を高くしてどうするんだ?
> その先の目的がまだあるだろ?

その先の目的? 金を稼ぐってことかいな?
その理屈で言えば、どんな道具も目的は同じになるなw
2018/10/13(土) 23:58:24.68ID:YNebL+WU
今置かれてる状況がある
また解決したい何らかの問題がある
そして解決する手段が複数ある

ここまできて比較検討しないって言っちゃなんだけど技術者失格だろう?

非常に幸運で何らかのテクノロジ一択で業務全部をカバーできる
なんて状況でもなければ必ず比較検討が必要になる
2018/10/14(日) 00:00:31.63ID:mBxOrkWE
>>614
お前が物事の本質をわかってないだけ。

Dockerの目的は可搬性を上げるためだし、
テキストエディタの目的はテキストファイルを編集するもの

開発環境を作るために、テキストエディタを使うだろと
いくら吠えたって、テキストエディタの目的が開発環境を作ることにはならないのと
同じようにDockerの目的は開発環境の作成ではない
2018/10/14(日) 00:04:44.32ID:RzJcTIeH
>>612
>Dockerを利用するってことは、別に作業があるんだろ?
>その作業の目的が開発環境を構築することであって
>Dockerを使う目的ではない

開発環境構築は間違いなくDockerを使う目的の1つ

A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」

自然だね

A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「そんなのはDockerの目的じゃない!」

アホかこいつ
2018/10/14(日) 00:06:49.52ID:RzJcTIeH
>>613
極論すればそうだな

どんな道具にも複数の利用目的が存在する
どんな目的にも解決手段は複数有る

だから比較検討するんだよ
2018/10/14(日) 00:10:20.62ID:RzJcTIeH
>>615
道具の目的は作成者や利用者の認識によって様々
テキストエディタの主目的は確かにテキストの編集だろう
だが目的はそれだけではなく人によってことなる
"誰か"の目的を押し付けるべきではない
"おまえ"の目的が全てではない
まずはこの基本的な事実から理解してくれ
話しにならないから
2018/10/14(日) 00:10:43.24ID:mBxOrkWE
> A「なんのためにDockerを採用したの?」
> B「開発環境構築のために採用しました」

採用と目的 は意味が違う
はい論破w

ジョークかよw
なんでこんな簡単な指摘をせにゃならんのだ
2018/10/14(日) 00:11:59.29ID:mBxOrkWE
ほんとさっきからDockerの目的を
違う話にすり替えようとしてるな。
バレバレやで
2018/10/14(日) 00:13:40.14ID:RzJcTIeH
>>619
「なんのために」って読めなかった?外国人?
2018/10/14(日) 00:14:12.92ID:mBxOrkWE
A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「開発環境構築してるのは見ればわかる。それを行うに当たって
なんのためにDockerを採用したのか聞いてるんだが?」

普通は後期着替え得される
623デフォルトの名無しさん
垢版 |
2018/10/14(日) 00:15:15.24ID:RzJcTIeH
>>620
すり替えてるのはAn0DfPZDだな
Dockerの利用目的などいくらでもあるのに、開発目的の1つでしかない高い可搬性を唯一絶対の目的のように、こいつはすり替えようとしている
2018/10/14(日) 00:15:16.71ID:mBxOrkWE
例えて言うなら

A「なんのために○○工法を採用したの?」
B「建造物構築のために採用しました」

こう言ってるようなもん
2018/10/14(日) 00:21:29.05ID:RzJcTIeH
>>622
A「なんのためにDockerを採用したの?」
B「開発環境構築のために採用しました」
A「開発環境構築してるのは見ればわかる。それを行うに当たって
なんのためにDockerを採用したのか聞いてるんだが?」

B「開発環境構築手段としてはVagrantやローカル環境へのバッチ処理適用などが候補に上がりました。
弊社の置かれる状況を踏まえて、それらを比較検討した上で、これこれこういうメリットがあると判断して、採用しました」

普通はこうなる
比較検討なんかしない、などというバカだったら採用理由にも説得力がなかっただろうね

開発環境に限った話ではないが、何かを決めるにあたって、検討した選択肢と採用した理由は関係者に対して必ず説明するものだ
業務で開発したことが有るならアタリマエのことだと思うが
もしかしてキミ仕事で開発したこと無い?あるいは一人で開発してるとか?
2018/10/14(日) 00:28:27.93ID:mBxOrkWE
>>625
> 普通はこうなる

前言撤回かよwwww

俺が間違いを指摘した後に慌てて後付して書くなって
ほんと恥ずかしいやつやなw
だいたい、その「これこれこういう」の中身が目的やろうが?

ちゃんと書けよ。Dockerを使うことで可搬性が高くなるというメリットがあるので
その目的のためにDockerを採用しましたって
2018/10/14(日) 00:36:36.30ID:RzJcTIeH
>>626
>「これこれこういう」の中身が目的やろうが?
「これこれこういう」は利用者の状況や課題によって様々
だから比較検討して答えをだすって何度もレスしとるだろうが
いい加減少しは理解してくれ
話しにならないとはまさにこのこと
2018/10/14(日) 20:01:17.80ID:TovYdN7f
なんか話が難しくなってきましたね
ひとまず、docker軽いですよ、vagrantに比べて
buildはややかかるけど、終わってしまえば、起動もさくっといきますよ
2018/10/14(日) 22:23:03.56ID:mBxOrkWE
何に使えるかと、何のための道具かってのをごっちゃにしてるやつのたわごとだからな。
Dockerはアプリケーションを仮想化するために作られた道具

その道具を使って金儲けができるからって、
いろんなものをごっちゃにしたらダメだって話
2018/10/14(日) 22:25:54.86ID:mBxOrkWE
>>628
> ひとまず、docker軽いですよ、vagrantに比べて
vagrantは開発環境を作る道具にすぎない。
Dockerと比べるものじゃない。

比較するならば、ホストマシンでアプリを動かす vs 仮想マシンでアプリを動かすだろ
ホストマシンでアプリを直接実行するほうが、仮想マシン上でアプリを動かすよりも軽い
といわれても当たり前でしか無い
2018/10/15(月) 00:07:39.55ID:37aK5NOi
うん、だからdockerの方が軽いんだよね?
当たり前でも何でも実際軽くて便利なんだからいいじゃないか
2018/10/15(月) 00:41:31.13ID:9UZy+Ppr
そりゃ仮想マシン使うよりも仮想マシン使わないほうが軽いだろう。
仮想マシン使わないで、普通にパッケージをインストールすれば良い

普通にパッケージをインストールすればいいのに
なぜDockerを使うのか?それこそがDockerを使う目的
2018/10/15(月) 18:32:47.56ID:YtsyH3sD
課題を解決する手段が複数ある
それぞれ一長一短で状況により正解は異なる
なので比較検討してどれを採用するか決める
これITに限らず一般常識ね
2018/10/15(月) 18:36:41.86ID:9UZy+Ppr
んで、今話してるのは手段ではなくて
Dockerは何をする道具かということ
本質をちゃんと見れないと道具は正しく使えない
2018/10/15(月) 18:41:05.65ID:YtsyH3sD
周回遅れだね

Dockerの特性は正しく理解した上で比較検討しようという段階の話をしてるので付いてきて
2018/10/15(月) 18:47:15.49ID:9UZy+Ppr
話を逸らすな。
Dockerはアプリケーションを仮想化する道具だって話をしてる
2018/10/15(月) 18:55:53.84ID:YtsyH3sD
お気の毒ですがそのような話をしているのはあなただけです
あなたはあなたが話ていることをみんなも話ているように錯覚しているようですが実は違うのです
まずは深呼吸して冷静になってください
会話が成立することを期待して待っています
2018/10/15(月) 19:00:16.10ID:9UZy+Ppr
>>637
お前、自分が一人だってわかってないのか?
誰か他に同調してくれるやついるか?
2018/10/15(月) 19:06:03.75ID:YtsyH3sD
>>638
dockerとvagrant(あるいは他の方法論)を比較するという文脈のレスは私のレス以外にも幾つもありますね
比較するのはおかしいという主張はどうやらあなただけのようですが
2018/10/15(月) 19:13:31.78ID:CIPQcDr6
docker vagrant 比較
ぐぐったらたくさん出てきた
ちなみに
docker vagrant 比較するのはおかしい
ぐぐったら”おかしい”が除外されて検索された
こりゃ勝負有ったね
2018/10/15(月) 19:18:29.88ID:9UZy+Ppr
>>639
それはお前の意見に同調してるわけじゃないだろw
頭悪いんちゃうか?
2018/10/15(月) 19:19:27.50ID:9UZy+Ppr
だいたい、さんざん仮想マシンと比較って言ってくせに
vagrantに言い換えてるし
仮想マシンとvagrantの違いもわかってないようだ
2018/10/15(月) 20:07:06.98ID:5g95lVcV
間を取ってLXCで
2018/10/15(月) 20:30:22.20ID:9UZy+Ppr
間っていうか、LXCはシステムコンテナだから、Dockerで仮想マシンのような間違った使い方を
使い方をしようとしている人は、LXCを使うべきだよ
2018/10/16(火) 00:27:22.18ID:8ZLfHmC4
PythonでJupyter Notebook使ったデータ解析環境をPC変更時に新PC上で手動で再現するのが面倒だからDocker上で動かすようにしてる
2018/10/16(火) 00:30:53.46ID:JHQMnpCL
Jupyter Notebookというアプリにそのアプリを動かすのに
必要なものを全部まとめてるわけだよね。
それが正しい使い方
2018/10/16(火) 02:50:30.16ID:+sj1AQoJ
そもそも再現性気にするくらいならjupyter使うのが間違ってるけどな。
2018/10/16(火) 03:32:28.53ID:JHQMnpCL
また再現性とか誰も必要だと言ってない話をし始めたw
2018/10/16(火) 21:22:37.51ID:+sj1AQoJ
再現性が必要ない?
それはなかなか斬新ですねw
そコマで頭の悪い意見が出るとは思ってなかった。
2018/10/16(火) 22:04:16.59ID:BK7j5HGI
Jupyter Notebookって試行錯誤を効率化するのが目的なんだから、再現性なんてDockerイメージで担保すればいいというのも、それはそれでありうる判断だろう。

環境独立な再現性があればあった方がいいって点には誰も異論はないと思うが、
それよりも試行錯誤の効率性の方が優先される用途もあるってだけの話だな。
2018/10/16(火) 22:13:56.47ID:zWgAqWtj
依存性の封じ込めも再現性もvagrantや別の方法でもできるので比較検討が必要
2018/10/17(水) 01:10:09.91ID:MUBjx6EB
>>649
依存性の封じ込めも再現性もvagrantや別の方法でもできるので
Dockerを使う理由にはならないってことだよ
2018/10/17(水) 18:08:49.39ID:QBZICbug
複数の方法があるけど一長一短なのでツールの特性と置かれてる状況とを見て比較検討する必要があるんだね
2018/10/17(水) 19:42:49.89ID:t+3zMNmx
ずーっとってる話だが、
比較検討の話と、ツールが作られた目的を
ごっちゃにするなってことですね
2018/10/17(水) 20:01:49.11ID:QBZICbug
発端は>>597-599あたりかな
比較検討の意義についての議論だったのだけど、それが理解できない子も居たようだね
2018/10/17(水) 20:06:17.49ID:t+3zMNmx
比較検討するにあたって、
どの道具の目的をちゃんと理解してないと
正しい検討ができないって話やろが
657デフォルトの名無しさん
垢版 |
2018/10/18(木) 12:14:37.57ID:tcdN1NJq
ここで聞くのが正しいかどうかわからないんですが質問です
やりたいことが2つありまして

1. Vagrantでバーチャルマシン使って開発
2. VPNでリモート環境に接続、そこにあるコンピュータにSSH

この2つは特に関係ない作業です
で、それぞれ単独では出来てるんですが

Vagrantでバーチャルマシンを立ち上げ
192.168.10.10のIPを与えて開発する(LaravelのHomesteadです)

開発終えてvagrant halt(1の作業はここまで)

リモート環境にVPN接続(2の作業開始)

そこにあるコンピュータ192.168.10.14にSSH

としようとすると接続できない、pingも通らない、となっており解決方法を探しております
OSを再起動すると接続出来ます
macOS10.11(El Capitan)です

なにかわかる方いらっしゃいましたら、よろおねです
658デフォルトの名無しさん
垢版 |
2018/11/28(水) 16:14:53.75ID:ndifwdFb
Dockerって言うのを試したいのだが、
少し調べてみた限りでは、コマンドベースで各種の設定などやるようだが、
Linuxの操作に慣れていない人は使うのは難しい?
2018/11/29(木) 22:44:08.65ID:mZclEcbu
>>658
やめといた方が方がいい。
本格的にLinuxを勉強するつもりなら話が別だが。
2018/11/29(木) 22:44:49.67ID:XxChCmoV
>>658
Linux関係なくね?
2018/11/29(木) 23:34:53.34ID:gjHip4g7
GUIしかやってないなら大抵の仮想化ツールは取っ付きにくいだろうな
CUIの勉強しろよ
2018/11/30(金) 14:16:12.81ID:R6/w2EbV
>>658
簡単だけどLinuxの操作などを知っているなら簡単という意味。
2018/11/30(金) 20:19:16.57ID:S7TbfYM4
ターゲットとなる本番環境じゃなくてポータブル開発環境として使ってる人います?
ローリングリリースのLinux選んでずーっとその仮想育てる感じで
PowershellもMsysもWSLもどうやっても馴染めないよう
2018/11/30(金) 23:53:07.83ID:VjmtC3o0
シェルスクリプト・PowerShell の代わりに、VSCode で、Ruby を使えば?

Windows でも、普通にファイル操作できる。
ただし、irb だけは日本語でバグるから、WSL のirb を使う

日本語では、WSL のirb は、MSYS2 よりも正常に動く
2018/12/01(土) 07:43:14.49ID:R+goIYNS
うーん正確な用語がわからない・・

そのVSCodeとRubyの方を仮想かしてどこでも同じ使い勝手を味わいたいんだ
そっちの実作業環境を開発環境と呼ぶのは変なのかな
2018/12/01(土) 14:14:31.04ID:UYaQWlEF
docker へrdpで解決しない?
667デフォルトの名無しさん
垢版 |
2018/12/11(火) 16:27:30.38ID:3Bi3MN4D
サイトの管理を任されたけど、今 vagrant とdockerとかで
環境構築するのが当たり前なの?
もう、MAMP XAMPでローカルに構築する時代じゃないの???
2018/12/11(火) 16:35:45.97ID:Hrs/4e8e
vagrantは開発専用。これでサイト構築はまず無いだろ

> もう、MAMP XAMPでローカルに構築する時代じゃないの???
vagrantかWSLのほうがいいだろ?
実際の動作環境がLinuxなのにWindowsで環境作るほうが面倒
2018/12/11(火) 22:04:25.79ID:ihMfYHRY
Software Design 12月号の特集は、Python のAnsible

Vagrant, Chef に挑む巨人、Red Hat の猛攻が始まった!

以前は、すべての開発者は、Vagrant の作者で、今世紀最大の創業者、
Mitchell Hashimoto (HashiCorp)を避けて通ることはできないと言われていた

その常識に、赤い巨人が挑む!w
2018/12/12(水) 00:11:08.47ID:ygJIxGmd
>>667
俺の知ってる現場でもみんなvagrantだな
そういう時代なんだと思う
671デフォルトの名無しさん
垢版 |
2018/12/12(水) 19:59:55.07ID:02lWEJYc
VirtualBoxとVagrant を使って開発って
WEBアプリケーション以外にも使われることはあるんですか?

例えば、スマホアプリとか。
2018/12/14(金) 13:43:43.35ID:/HfC9/Wt
>>671
あるよ
2018/12/14(金) 13:48:00.36ID:f5Y1ye2A
ありまぁす
2018/12/19(水) 14:49:06.19ID:QzBRL+7W
WindowsでDocker (Hyper-V)とVirtualBoxが共存可能になったってよ 
2018/12/20(木) 07:07:45.57ID:S5A+WF/L
vagrant/terraform
container linux
ansible
docker
kubernetes
Istio
gcp/aws/azure
この辺のキーワード聞くことが多くなってきたが覚えること大杉てしぬ
2019/01/22(火) 19:13:09.57ID:C76SXNc4
クラウドでコンテナを運用するとしたら規模の小さめなサービスでもk8sが鉄板なんすか?
2019/02/01(金) 22:44:34.29ID:h+AyUO7a
Ansible使ったらshellだらけになった
2019/02/25(月) 14:14:19.25ID:N3uaxGmA
vagrantのguestosをオフライン環境でバージョンアップさせる方法教えてください
2019/03/01(金) 01:33:46.52ID:vZN7gNkq
本番運用の環境でDockerCE (Docker for Windows) の Linuxコンテナを使ってるんだけど、
たまにポートフォワードがうんとも寸とも言わなくなることがあるんだけど、そういうもん?

具体的にはNGINXのコンテナを作って外からの443をNGINXに向けるようにしてるんだけど、
突然ポートフォワード出来なくなる。TCPパケットダンプしても明らかにコンテナに流れてない。
んでDocker自身を再起動したら復帰する

運用環境としては怖すぎなんだけど・・・
2019/03/01(金) 08:42:16.02ID:GsQvlv9z
Docker は本家 Linux でも本番環境だとわりとトラブるって話を1年くらい前に聞いたな。
利用は開発環境やステージング環境までにして
本番はネイティブにした方が無難なような。
2019/03/01(金) 12:21:06.68ID:gSOngWNj
設定ミスの可能性もあるだろう
マネージドのDocker Hostをレンタルして同じ構成で動かしてみたらどうだ
682679
垢版 |
2019/03/01(金) 22:02:26.08ID:vZN7gNkq
設定ミスの可能性は無いです
2019/03/01(金) 22:40:15.67ID:jYXMQwAm
確認した?
エビデンスとったか?
2019/03/01(金) 22:55:07.01ID:GsQvlv9z
tcpdumpの結果でわりと十分なエビデンスだろう。
突然パケットが流れなくなるような設定間違いってなかなかできない。
2019/03/01(金) 23:02:50.07ID:jYXMQwAm
>>684
全く「設定ミスがない」ことのエビデンスになってない
それじゃただ単に現象を確認しただけだ
2019/03/02(土) 10:11:20.28ID:Ujga9lQn
>>685
「『全く』設定ミスがない」ことのエビデンスなんて現実的なコストでは提供不能だよ。
特に設定不足系は無理。
ふつうはそんな効率の悪いやり方をしない。
まあ金融・証券系みたいにコスト無視、かつ顧客が無理難題をふっかけるとこだと、顧客が納得するレベルの嘘をついて誤魔化すことはあるけどさ。
2019/03/02(土) 10:37:21.55ID:Ujga9lQn
「Docker network stopped working 」でググるといっぱい見つかるね。
未解決のも多い。

ttps://github.com/moby/moby/issues/32195
なんかはSolved になってるけど
・(正常なネットワークなら問題ない筈の)先進的なネットワークオプションをとにかくdisableせよ
・Docker のバージョンを上げろ
ってなってて、Docker か、あるいは利用しているネットワーク環境のどちらかに不具合があるっぽい。
2019/03/02(土) 11:08:33.63ID:heck9gfN
>>686
俺がなんで括弧つけたかわかってないな

「全く設定ミスがない」こと証明してないと言いたいのではない
「設定ミスがない」ことを全く証明してないと言ったのだ
2019/03/02(土) 11:27:53.49ID:Ujga9lQn
>>688
ふつうは正しく動作することをもって証明とするんだよ。
数学的な意味での証明には全くならんが、現実的なコストでできる証明ってのはそれくらいしかないんだ。

くだんの人の場合、一応正しくは動作してるのに、しばらくすると止まる、しかもtcpダンプしても止まってるんだから、
症状からしてなにか不具合がある可能性が高い。

そうじゃない、証明する方法があるんだっていうのなら、その方法を具体的に書いてやってくれ。
2019/03/02(土) 11:35:40.93ID:heck9gfN
>>689
もうとっくに書いてんじゃん
マネージドなdockerホスト借りてやってみたらどうだってさ

何も設定項目1つ1つ変更しながらエビデンスとれって言ってるわけじゃないんだよ
適度なサイズのスコープで切り替えながら調査していくの
これって問題調査の基本中の基本だよね?

君が言ってる現実的じゃない方法って
アルゴリズムに例えて言うと線形探索なんだよ
でも俺らは二分探索とか範囲で絞り込むアルゴリズムを知ってるわけだろ?
なんで身につけた知識を応用しないんだ?
2019/03/02(土) 11:50:11.02ID:Ujga9lQn
>>690
マネージドなDockerホストって書いてた人だったのか。
確かにそれはアリだな。

俺の言葉の使い方だとそれを設定ミスがないことのエビデンスになるとは言わないので
マネージド環境でのテストのことを指してるとは思わなかったよ。
すまんかった。

よくよく考えてみるとアホな顧客にエビデンス要求された時に
有料サービスに丸投げした結果を提供してOKもらうことはたびたびあるので
自分でも似た使い方してたなw
自分でそれがエビデンスという強い言葉に値すると思ってないから思いつかないんだなあ。
2019/03/03(日) 14:34:26.16ID:PCCGC897
issueだらけだもんなぁ
本番には到底耐えきれないよ
本番で使わないならってんで開発でもDockerを使わなくなる
だから実務で役に立つのはVagrantとAnsibleになる
2019/03/03(日) 14:43:33.70ID:LWbZmqMl
>>692
issueの数で判断できるなら、世の中のメジャーなライブラリやフレームワークはみな使えないことになる
2019/03/03(日) 15:04:33.53ID:PCCGC897
ライブラリやフレームワークに不具合があってもアプリケーションとしてのテストを通過すれば問題はない
でもDockerみたいなのになるとテストしきれないから安易に使えない
2019/03/03(日) 15:07:54.94ID:UpvIfT49
>>694
はいキチガイ
2019/03/03(日) 15:11:25.80ID:PCCGC897
>>695
いや常識だぞこれ
お前はテストしとらんのか?
2019/03/03(日) 15:45:08.26ID:tapoy5qO
>>696
ソースは?
2019/03/27(水) 18:59:14.57ID:Aic0Wt50
>>697
Rubyかな
2019/03/27(水) 22:21:53.24ID:jwVZ1lxp
ansible-containerってどうなの?
2019/04/07(日) 22:47:05.10ID:KmDkztEg
初心者なんじゃがコンテナ内のphpmyadminから別コンテナのMySQL叩くの難易度どれくらい?
2019/04/08(月) 12:14:30.85ID:flU0/mvo
難度Fぐらいかな
2019/04/08(月) 19:16:29.83ID:+ZYObKbH
USB Type Aが一発で刺さるぐらいの難易度
2019/04/08(月) 21:09:35.64ID:SeD3ldgI
本当かぁ、?何回かネットや本のコピペしてるけどMySQLとphpmyadmin連携取れないぞ、?
2019/04/08(月) 21:24:00.34ID:SqshxjrC
composeのサンプルコピペでいけるやろ
2019/04/08(月) 22:14:51.00ID:SeD3ldgI
>>704
この後またチャレンジするんだけど皆さん普通に連携取れて出来てるのよね?
本の丸コピが何回やっても動かないし何かMySQLの認証系が怪しいんだが
2019/04/08(月) 23:23:24.47ID:zFFjnYPT
compose見せてみ
707デフォルトの名無しさん
垢版 |
2019/04/09(火) 20:27:46.01ID:3Wk1Dqbm
すまん、、そこまでまだ本を読み進めてないでんねん。。下記が本のソース丸コピなんだが
////phpmyadmin編
//_mysqlとphpmyadminのDockerfile用の2つのフォルダ作成
sudo docker network create mysql-nw
sudo docker volume create --name=db-volume
sudo docker run -v db-volume:/var/lib/mysql/ --name=db-container busybox

//////mysql/Dockerfile
#イメージ取得
FROM mysql
#mysqlのrootパスワード設定
ENV MYSQL_ROOT_PASSWORD=dbpass01
#文字コードにutf8mb4をセット
CMD ["mysqld","--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci"]
//////
sudo docker build -t mysql-image .
sudo docker run --volumes-from=db-container --name=mysql-container --net=mysql-nw -d mysql-image

//////phpmyadmin/Dockerfile
#イメージ取得
FROM phpmyadmin/phpmyadmin
#
ENV PMA_HOST=mysql-container PMA_USER=root PMA_PASSWORD=dbpass01
//////

sudo docker build -t pma-image .
sudo docker run --net=mysql-nw --name=pma-container -p 83:80 -d pma-image
708デフォルトの名無しさん
垢版 |
2019/04/09(火) 20:29:44.42ID:3Wk1Dqbm
ちなみにこれも三行丸コピで動くらしいけど失敗したやつでなぁ
https://blog.thenets.org/how-to-install-mysql-and-phpmyadmin-with-docker/
2019/04/09(火) 21:25:20.32ID:U1rDoLSZ
docker logsは?
2019/04/09(火) 21:34:32.10ID:U1rDoLSZ
CMD["mysqld"
とりま要らんやろこの引数
711デフォルトの名無しさん
垢版 |
2019/04/09(火) 22:23:24.21ID:3Wk1Dqbm
すんまへん、、何故かイケました。メモ帳に書いてコピペしてるからそう書き間違えないはずなんだがなぜかこれで
//phpmyadmin再度
sudo docker pull mysql:5.7.24

sudo docker pull phpmyadmin/phpmyadmin

sudo docker network create mysql-network

sudo docker run --name=aa-mysql --net=mysql-network -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -v $(pwd)/database:/var/lib/mysql -d mysql:5.7.24

sudo docker run --name=a-mysql-admin --net=mysql-network -e MYSQL_ROOT_PASSWORD=password -e PMA_HOST="aa-mysql" -e PMA_PORT=3306 -p 8081:80 -d phpmyadmin/phpmyadmin
712デフォルトの名無しさん
垢版 |
2019/04/09(火) 22:24:25.42ID:3Wk1Dqbm
ちなみにこれはなぜか動かなかった
//1
sudo docker network create -d bridge my-bridge-network
//2
sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql/mysql-server

sudo docker network connect my-bridge-network mysql

sudo docker inspect mysql//次のhostに付けるip確認
//3
sudo docker run --name phpmyadmin -d -e PMA_HOST=(さっきのIP) -p 808:80 phpmyadmin/phpmyadmin
713デフォルトの名無しさん
垢版 |
2019/04/20(土) 09:43:35.04ID:4fcRoJkz
クラスタ運用だとボリュームの扱いが難しい

ネットワーク経由でストレージをマウントすると遅いし所有権やシンボリックリンクの取り扱いでトラブルが起きやすい
逆にローカルストレージをマウントするとコンテナを特定のホストにピン留めせざるをえなくなって運用性が悪い

どうにかならんかねこのジレンマ
2019/04/20(土) 10:01:01.50ID:OSkkX2tB
>>713
だからクラウド使うんだよ

ストレージはクラウドサービスが提供しているものを使う
ストレージ用のコンテナは作らない
2019/04/20(土) 10:02:10.88ID:OSkkX2tB
(ただし開発時にローカルで使うものは別)
2019/04/20(土) 11:37:12.99ID:4fcRoJkz
クラウドストレージでも結局は同じなのでは?
例としてS3をVolumeとしてマウントしたとして
このVolumeはローカルストレージのVolumeよりも遅いしパーミッションとかで変なトラブルが起きやすい
この性質はイントラのストレージサービスとクラウドのストレージサービスでそう違いがあるとは思えない
2019/04/20(土) 12:03:01.10ID:k9t7GC4v
S3じゃなくてEBSじゃないのか?
2019/04/20(土) 12:04:41.14ID:OSkkX2tB
>>716
だからボリュームとしてマウントしたりしない。

アプリはデータをS3に保存するし、S3から取ってくる。
パーミッションとか関係ない。クラウドのセキュリティ機能を使う
クラウドストレージの速度はローカルストレージと遜色ない(コストによるが)
2019/04/20(土) 12:07:44.19ID:OSkkX2tB
> アプリはデータをS3に保存するし、S3から取ってくる。

補足しておくとアプリはS3のデータを読み書きするとして、

例えばユーザーはファイルをサーバーにアップロードする時、
S3に直接アップロードするしS3から直接ダウンロードする。
アプリを経由してS3のファイルを読み書きしたりしない(してもいいが遅い)

誰でもアップロード・ダウンロードできてしまうことを
防ぐためのセキュリティ機能もS3にある
2019/04/20(土) 12:13:00.81ID:OSkkX2tB
>>717
EBSを使ってもいいが、アプリの仮想マシンからブロックデバイスとしてマウントはしないんだよ。
EBSをマウントするのは(広い意味での)データベース・サーバーの一台

アプリからは、そのデータベースサーバーに対してネットワークでデータを読み書きする

複数あるアプリの仮想マシンでファイルシステムをマウント(Dockerのボリューム含む)しようという発想が古い
ストレージをマウントするのは仮想マシン1台だし、そこにネットワーク経由でアクセスする。
↑このストレージをバックアップなど含めて適切に管理するのが面倒だから、クラウドストレージを使う

いずれにしろ、アプリからはネットワーク経由でデータの読み書きをする
721デフォルトの名無しさん
垢版 |
2019/04/20(土) 12:16:17.88ID:4fcRoJkz
>>717
例として挙げただけなのでどのストレージサービスでも状況は同じ

>718
ストレージサービスをネイティヴサポートしてない他社製アプリはVolumeマウントするしかないと思うけど違うのかな?
オープンソースならフォークしてファイルアクセスを全てストレージサービスに置き換えることはできなくはないけど労力に到底見合わない
だからどうしてもVolumeマウントに頼らざるをえないケースは多々ある
そういうケースにステートフルコンテナをクラスタに組み込むにはどうするべきか悩ましい
2019/04/20(土) 12:23:55.77ID:OSkkX2tB
>>721
だからな? 新しい仕組みを活かそうと思うなら、
設計から見直さなきゃいけないんだよ。

効率化する新しい仕組みを導入したいのですが
今までの効率の悪いやり方まま変えたくないんです。

↑アホみたいだろ?

やり方を変えないなら、今までのやり方をするしか無いんだよ。
諦めな
2019/04/20(土) 12:44:59.88ID:4fcRoJkz
>>722
設計を見直すと言われても他社製だからな…
従来のようにバックアップとリストアをしっかり整備して多少のリスクを受け入れるぐらいしか思い浮かばん
ダウンタイムはともかく直近のデータロストは怒られそうできつい
2019/04/27(土) 15:43:09.76ID:baIKmTTh
docker hubがハックされてgitアカウントが19万ぐらい失効されたらしい?
2019/04/27(土) 16:16:17.11ID:yNGf8etV
それマ?
2019/04/27(土) 17:32:00.76ID:kFhbr7Mc
取り急ぎググった結果出てきたものを貼ってみる

https://www.bleepingcomputer.com/news/security/docker-hub-database-hack-exposes-sensitive-data-of-190k-users/

By Lawrence Abrams
April 26, 2019 11:30 PM
2019/04/28(日) 22:00:11.04ID:tlREWRu1
dockerのGUIでの監視や起動停止とかでまだまともなのないかね?
2019/04/28(日) 22:10:41.17ID:JJw12cyB
portainer?
2019/05/02(木) 11:48:40.72ID:ERhnQ0op
DockerってEEにするとなんか嬉しいの?
2019/05/28(火) 09:41:24.81ID:6fYBY9pC
>>729
サポート
2019/06/06(木) 12:33:59.71ID:JqHKbft5
5人のチームのローカル開発環境を同じにしたい場合VagrantとDockerどちらが楽だろ?
VagrantfileとDockerfileのどちらが簡単かという話になるのかな?
2019/06/06(木) 20:02:59.18ID:CyvVQuy9
そりゃあVagrantだろ
変なトラブルが少ない
開発デスクトップも仮想化できる
環境の再現性がたかい
Linux+Windows混在も楽々

ただしターゲットがDockerの場合に限りローカル鯖もDockerにした方がいい
それは当然のことだな
その場合でも開発デスクトップはDockerを使わないほうがいい
2019/06/06(木) 21:31:04.71ID:jO1/nBmB
開発に使えないものを本番環境に投入とか論外なわけで
Dockerの使いどころが...
(それを言っちゃあおしまい)
2019/06/06(木) 21:50:38.63ID:CyvVQuy9
使えるか使えないかの問題じゃなく楽かどうか
本番でDockerを使わないなら本番環境はDockerへの配慮なんてしてない構成になってるはず
その構成をローカルに再現するときにDockerを使うかVagrant/Ansible使うのどっちが工数少ないかってことだ
少なくとも本番環境の構築手順書があるのだから完全仮想化環境で同等の環境を再現するのはさほど難しくない
しかしDockerだとどうしても構成の整理と手順書の読み替えと動作確認が求められてくるので面倒だ
735デフォルトの名無しさん
垢版 |
2019/06/06(木) 22:06:41.88ID:ud71ci3d
なるほど
2019/06/06(木) 22:37:50.73ID:XICmRaWP
>>731
> 5人のチームのローカル開発環境を同じにしたい場合VagrantとDockerどちらが楽だろ?

何度も言ってるが、仮想マシン(Vagrant)とアプリ仮想化(Docker)は
組み合わせて使うものです!

どちらか一方を使うんじゃない。役目が違うんだから両方使う
2019/06/06(木) 22:53:48.83ID:XICmRaWP
大前提としてな。開発環境と本番環境は同一に出来ないんだよ。
可能不可能の話じゃなくて、そんな事やるやつは馬鹿という意味で同一に出来ない

開発環境はVagrantで作るが本番環境はAnsibleなどで作る
開発環境には便利なテキストエディタやIDE、ヘッダファイル、静的解析ツール
その他便利なコマンドなど、いろんなものを入れる必要がある。


それに対して本番環境はそれらは入れない。セキュリティリスクにつながるし
メンテナンス性も考えなるべく小さなイメージにしておく


開発環境と本番環境は同一でないという前提で、
開発環境でどうやってテストするか?という話が出てくる
本番環境に近い環境でないとテストに自信が持てないのは当然

そこでDockerがでてくるんだよ。開発環境で動かすDockerコンテナと
本番環境で動かすDockerコンテナを同一に(もしくは限りなく近く)することで
開発環境と本番環境が違っていても、信頼性のあるテストが実行できる

そうするとDockerコンテナさえ同じであれば、開発環境を統一する意味もなくなる
開発環境がLinuxであってもWindowsであってもMacであっても、
同一のDockerコンテナを使うのだから、信頼性のあるテストが実行できる

だから今はVagrantを使って開発環境を統一するメリットが減ってる。
統一したいならしてもいいが(それは開発者の自由を奪うというデメリットでもある)
統一しなくても良いのが今の開発
2019/06/06(木) 22:59:53.57ID:CyvVQuy9
>>737
本番環境が全てDockerという幻想の上でしか成立しないな
本番環境がDockerでないなら開発環境でDockerを使うと逆に再現性が低下する
2019/06/06(木) 23:00:18.06ID:XICmRaWP
最初の質問に戻るとだな

> 5人のチームのローカル開発環境を同じにしたい場合VagrantとDockerどちらが楽だろ?

「ローカル開発環境を同じにしたいならVagrantを使う」
それと同時にDockerも使う

Dockerを使うなら、ローカル開発環境を同じにする意味はさほどない
同じにしないなら Vagrantを使わなくて良い。Dockerだけ使う

これは「ローカル開発環境を同じにしたい場合にDockerが楽」と言ってるのではなくて
「ローカル開発環境を同じにしないならVagrantはいらない」という意味
だから「ローカル開発環境を同じにしたいならVagrantを使う」ということは否定していない

使う目的が違うのだから、どちらを使うか?っていう話にはならない
2019/06/06(木) 23:01:01.11ID:Qxsak61t
漏れは、Chef
2019/06/06(木) 23:02:43.90ID:XICmRaWP
>>738
もう今は本番環境でDockerを使うのは常識

仮に本番環境でDockerを使わないとしても、
本番環境と同じ環境をDocker以外で作るのは困難

開発環境用VM(Vagrant)と本番環境用VM(Vagrant)の
2つを作るのは重いだけ
2019/06/06(木) 23:04:50.40ID:XICmRaWP
訂正

開発環境用VM(Vagrant)と本番環境"再現用"VM(Vagrant)の
2つを作るのは重いだけ

本番環境用VMといってしまうと、これを本番環境で使うように思えてしまうので訂正
実際の本番環境はVagrantでは作らないので、本番環境そのものにはならない
高い再現性を求めるなら、開発環境でも本番環境でもDockerを使うのがベスト
2019/06/06(木) 23:07:20.25ID:XICmRaWP
開発環境と本番環境が違っていても
Dockerコンテナは同じですよーっていうのが
Dockerを使うメリットなわけだ
2019/06/06(木) 23:28:00.71ID:CyvVQuy9
>>741
そんな常識ないよ
あほくさ
2019/06/06(木) 23:37:25.82ID:XICmRaWP
根拠なく、ないよとか言われてもなw
2019/06/06(木) 23:39:58.31ID:CyvVQuy9
>>745
お前が言うのかそれ
2019/06/06(木) 23:41:53.19ID:XICmRaWP
kubernetesとかほぼDocker前提だし
2019/06/06(木) 23:43:28.93ID:XICmRaWP
vagrantは "開発環境を作るためだけ" のものだが
Dockerはソフトウェ開発全般で使う
749デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:45:35.65ID:P4iafl1G
k8sのdocker依存は解消されたって聞いてたんだけど…?
2019/06/06(木) 23:46:54.32ID:XICmRaWP
Vagrantはこれから使われなくなっていくよ。俺はもう使ってない。
ローカル開発環境を同じにしたい場合にはたしかに便利だが、
ローカル開発環境を同じにする必要がなくなってきてる。
そういう意味ではVagrantを使わないほうが良いと言える。
2019/06/06(木) 23:47:29.19ID:XICmRaWP
>>749
依存してなくても事実上Dockerを使うのが現時点ではベストという話
2019/06/06(木) 23:51:42.77ID:CyvVQuy9
>>748
Vagrantは本番環境でも使えるしDockerを使わない開発も未だに無数にある
Dockerのメリットは確かに大きいがそれなりのデメリットも同時に抱え込んでしまう
Dockerでやるべき明確な理由がないなら使う必要はない
2019/06/06(木) 23:55:24.99ID:XICmRaWP
> Vagrantは本番環境でも使えるし
使えるが使わん。
2019/06/06(木) 23:56:47.52ID:XICmRaWP
https://www.vagrantup.com/
Development Environments Made Easy
^^^^^^^^^^^^^^^^^^^^^^^^^^^

「開発環境を簡単に」と書いてあるんだから
本番環境で使おうとするな。想定外の使い方だ
2019/06/07(金) 00:01:11.20ID:AQMF0uU1
Dockerの使い方でも変なやつがいるけど
本来想定してない用途なのに、使えそうだから使おうというのは
その技術を正しく理解してない証拠なんだよな
2019/06/07(金) 00:04:50.40ID:ON5ugDpH
VagrantにできてDockerではダメな典型例だとAnsibleなど構成管理ツールの開発・テスト環境を作るときなどがあるね
当たり前だけどOSの様々な機能が制限されるコンテナは仮想マシンの代替にはなりえない
2019/06/07(金) 00:10:21.60ID:AQMF0uU1
だからVagrant(というよりVM)とDockerはどちらかを使うものじゃなくて
両方組み合わせて使うものだという話になる。

AnsibleのテストするならVMを使うのが一番。各クラウドやKVM等ね。

というかAnsibleのテストでVagrantなんて使うか?
Vagrantで作ったらVagrantユーザーがいるわけで、
それは本来のAnsible実行対象マシンとは違うものになる。
2019/06/07(金) 00:14:22.59ID:AQMF0uU1
× コンテナは仮想マシンの代替にはなりえない
○ (アプリケーション)コンテナはそもそも仮想マシンの代替として作られたものじゃない
2019/06/07(金) 00:20:56.20ID:ON5ugDpH
>>757
組み合わせて使っても良いが
常に組み合わせて使う前提のものではない

>>758
だから君のDocker万能論はちゃんちゃらおかしいということだよ
開発環境は開発対象をよく理解して適切に選ぶこと
全部DockerでOKなんてことはありえない
2019/06/07(金) 00:32:52.21ID:AQMF0uU1
あぁ、なるほど。素晴らしい気付きがあった。

Ansible(Chefなども同様だろう)を使うといった時、
playbookを作る のと playbookを実行する という2つの段階がある

playbookを作る場合は、当然テストが必要なわけだがVagrantが便利。
なぜならVMを特定の状態にして何度もplaybookをやり直すから。
具体的にはsnapshotの機能を使う(最初からvagrant boxを作り直すのもあり)

でもこれって、Ansibleに内蔵されているべき機能ではないだろうか?
Vagrantで作るVMと本番環境のVMは違っている。
本当は本番環境(を複製して)を何度も同じ状態にしてテストを実行したいはずだ
通常、本番環境のVMの構築にVagrantは使わない。Ansibleを使って構築するだろう。
ならば、Ansibleだけで本番環境のVMのスナップショットを取れたほうが良いだろう。

今はそれが出来ないからVagrantを使っている。
なるほど、これは良い発見だ!

(独り言)
2019/06/07(金) 00:33:40.26ID:AQMF0uU1
>>759
> だから君のDocker万能論はちゃんちゃらおかしいということだよ

何度もDockerとVMは組み合わせて使うって言ってるのに、
なんで俺のことをDocker万能論者に仕立て上げようとすんのさ?
2019/06/07(金) 00:34:23.77ID:AQMF0uU1
> 全部DockerでOKなんてことはありえない

そんなこと言ってない。

何度も何度もVMと組み合わせて使うって言ってるのに
2019/06/07(金) 00:45:32.53ID:ON5ugDpH
そうだな万能論は言いすぎた
しかしそれでも君の主張はDockerありきが前提にっているのは確かだろ
しかし実際にはAnsibleの例のようにDockerを使いにくい環境も存在している
だから君の主張がおかしいということには変わりはない
2019/06/07(金) 00:53:40.24ID:AQMF0uU1
>>763
やっぱり素でDockerを理解してないんだな・・・

> しかし実際にはAnsibleの例のようにDockerを使いにくい環境も存在している
Dockerはアプリケーションとユーザーランドを一体化させて
一つのアプリケーションのように仮想化するためのものであって
Ansible(構成管理ツール)とDocker(アプリ仮想化)を組み合わせて使うことがそもそも間違い。

俺はAnsibleとDockerを組み合わせて使うなんて一言も言ってない。
俺の主張?俺が何を主張したっていうんだ?
2019/06/07(金) 00:57:44.41ID:AQMF0uU1
>>764の組み合わせて使うっていうのは、

DockerをVM(Vagrant)のようの代わりに使って
DockerでAnsibleなど構成管理ツールの開発・テスト環境を作るという使い方

Ansibleを使ってVMの構成管理を行い、その一つとして
Dockerコンテナを起動するっていう使い方は問題ない。


俺は、DockerでAnsibleなど構成管理ツールの開発・テスト環境を作るという使い方をしろなんて
一言も主張していない
2019/06/07(金) 01:00:45.47ID:AQMF0uU1
結局俺じゃなくてお前が

DockerをVM(Vagrant)の代わりに使おうとして
DockerはVM(Vagrant)の代わりとしては使えない!って
独り相撲してるだけじゃんか

俺は最初から組み合わせて使う。両方使う。役割が違うと言ってる。
2019/06/07(金) 01:01:19.38ID:ON5ugDpH
>>764
君の主張は自分のレスを読み返したら?
開発環境はとにかくDocker
Dockerなしなんてありえない
それが世界の常識
君は昨日散々そう主張していたよね
そんな主張をしたら例えばAnsibleの開発環境みたいなDockerに向かない環境もDockerで組むのかなこいつはと解釈されても仕方がないよ
2019/06/07(金) 01:02:31.60ID:AQMF0uU1
>>767
お前が見返して、どこで言ってるのか指摘してくれ
俺はお前が言ってることを何一つ主張してない
2019/06/07(金) 01:03:25.33ID:ON5ugDpH
>>768
ID: XICm〜のレスを読み返して
2019/06/07(金) 01:04:03.86ID:AQMF0uU1
例として一つ出すなら

>>737
> 開発環境はVagrantで作るが本番環境はAnsibleなどで作る

開発環境はVagrantで作るとはっきり言っている
2019/06/07(金) 01:05:19.99ID:AQMF0uU1
>>769
だからそれをお前がやれって言ってる。
お前嘘つきじゃん。さっきからどれもコレも俺が主張してないことを
俺が言ったことにしようとしてさ
2019/06/07(金) 01:07:46.29ID:ON5ugDpH
>>770
で、そのレスの後半でDockerを使う話に持っていってるよね
とにかくDocker
Dockerありき
それが世界の常識
それが君の主張
2019/06/07(金) 01:09:11.49ID:AQMF0uU1
> で、そのレスの後半でDockerを使う話に持っていってるよね

ぽかーんw

スレの前半でDockerを使わない話してるよね?
お前、スレの後半しか読んでないの?
スレの後半だけで判断しちゃった?w
2019/06/07(金) 01:10:05.02ID:ON5ugDpH
>>771
やれもクソも君の目の前のブラウザか専ブラかをちょっとスクロールして見るだけだよ
俺がやることなど何もなく君が自分のレスを見るだけだ
それを俺が代行してやることは物理的にできない
2019/06/07(金) 01:11:18.46ID:AQMF0uU1
>>774
それで?
2019/06/07(金) 01:12:44.93ID:ON5ugDpH
>>773
後半を主張するための前振りだろ?
だって君の主張はDockerありきが世界の常識だもんな
2019/06/07(金) 01:14:11.19ID:AQMF0uU1
>>776
何度も何度も何度もVMとDockerは組み合わせて使うと言ってる

お前が、VMとDockerはどちらか一つを排他的に使うものだって
心の底で思ってるから、俺がDockerを使うという話をすると
VMを使わないと言ってるんだって勘違いしてるんだよ。
2019/06/07(金) 01:17:08.93ID:ON5ugDpH
>もう今は本番環境でDockerを使うのは常識

>仮に本番環境でDockerを使わないとしても、
>本番環境と同じ環境をDocker以外で作るのは困難

>開発環境用VM(Vagrant)と本番環境用VM(Vagrant)の
>2つを作るのは重いだけ

ほーん
Ansibleの本番環境と同じ環境もDockerで作るんだ
なんたってDocker以外で作るのは困難だからなー
それが世界の常識ってやつですかそうですか
2019/06/07(金) 01:17:57.25ID:AQMF0uU1
> Ansibleの本番環境と同じ環境もDockerで作るんだ

また俺が言ってないことを言い出した。
2019/06/07(金) 01:19:09.37ID:ON5ugDpH
>>777
VMを使わないことではなくDockerを使うことが前提になっている点がおかしいと言ってる
2019/06/07(金) 01:21:29.74ID:ON5ugDpH
>>779
言っているも同然なんだよね
2019/06/07(金) 01:25:19.32ID:ON5ugDpH
>>778
やっぱりこの辺りは反論不能なんだな
2019/06/07(金) 01:36:24.78ID:AQMF0uU1
>>780
本番環境を同じ環境をローカルに作る場合
Dockerを使った構成にしないと作るのは困難だって言ってる

本番環境(の多くは)ベアメタルもしくは仮想マシンにLinuxを入れる
ローカルの開発環境はベアメタルにLinuxを入れることは少ない

ローカルの開発環境は
1. Linuxを使う
2. macOSを使う
3. Windowsを使う
4. それ以外

この三種類。2と3は確実に本番環境と違う。1はLinuxで同じだが
ローカルの開発環境には開発ツールが必要なので、これも本番環境と同じになることはない

4.のそれ以外として、1〜3の開発環境を使い、それとは別に本番環境"再現用"VMを作る方法
>>742で書いているように、2つを作るのは重いだけ
そして本番環境はVagrantを使って作らないが、本番環境"再現用"VMはVagrantを使って作るという違いがある
本番環境"再現用"VMをVagrantを使って作ると、Vagrantユーザーがいたりして、本番環境とはやっぱり違う
作成した時期によってパッケージのバージョン等が異なる。
本番環境はVagrantじゃないから同じVagrant Boxを使って環境を合わせることも出来ない。

本番環境のベアメタルもしくは仮想マシンにLinuxを入れて作るものに近づけるには
ローカルの開発環境に用意する 本番環境"再現用"VMも(Vagrantを使わずに)
VirtualboxやKVmやHyperVなどの上に直接作る必要がある。
だけどそれをやったとしてもやっぱりパッケージのバージョンを合わせるのは難しい。

その問題をDockerを使った構成にすることで違いをカーネル部分(ここは高い互換性がある)だけに分離することができる。
カーネル以外のアプリケーション+ユーザーランド、つまりパッケージのバージョンは全く一緒になる
このレベルを実現するにはDockerを使わないと困難だと言ってる
2019/06/07(金) 01:37:41.38ID:AQMF0uU1
>>782
何に反論すれば良いのさ?w
お前の書いた嘘?
785デフォルトの名無しさん
垢版 |
2019/06/07(金) 12:34:44.50ID:Ka/jlwAK
ぬるぽ
2019/06/07(金) 22:36:12.94ID:hLrjlnDV
がっ
2019/06/07(金) 22:55:03.79ID:wtNNzOUb
そのゲームのプロセスID か何かを取得して、

OS・ディスプレイマネージャーに対して、
そのゲームを最前面に表示するように、命令できないの?
788787
垢版 |
2019/06/07(金) 22:56:06.04ID:wtNNzOUb
>>787
誤爆です!
789デフォルトの名無しさん
垢版 |
2019/06/22(土) 17:52:08.66ID:V6ijG4k6
dockerってメモリ4GB だと重いですか?docker使って仮想環境作る勉強したいんですが
2019/06/22(土) 18:00:43.74ID:rnpNzk5p
>>789
Linuxで使えば仮想マシンも不要でネイティブに動く
メモリも数MB程度のオーバーヘッドだけですむだろう
791デフォルトの名無しさん
垢版 |
2019/06/22(土) 18:43:07.03ID:V6ijG4k6
Windows環境なんでwslでubuntuはインストールしたんですけどそのままdocker落として仮想マシン構築する事出来ます?
2019/06/23(日) 08:00:41.13ID:P8H0jYp7
Windows 10デスクトップだと4Gは厳しい
仕事で仕方なく使ってるけどメモリ不足で起動失敗が多発する
Windowsコンテナのプロセス分離だけに限定すればいけるかもしれんが…
Winコンテナは興味なくて検証したこともない

WSLでDockerは動かない
次の大型アップデートでWSL 2が実装されるけどそっちではDockerも簡単に動かせる
Docker for WSL 2のサポートも決定事項
こっちの必要スペックはわからん
2019/06/23(日) 17:24:00.79ID:p0iHiqR8
今のvirtualbox使ったwindows dockerはクソだと思うが
Docker for WSL 2 は期待していいんでないかな。
2019/06/23(日) 18:27:13.63ID:oVYNIjpt
今のDocker for WindowsはVirtualBoxなんざ使ってねぇぞ
2019/06/23(日) 19:06:11.98ID:MSRPr+EY
Docker for Windowsも、Docker for Macも
どちらも仮想マシンを使っています
2019/06/24(月) 09:14:27.09ID:dhWW1aIx
virtualbox使ってるのはdocker toolboxの方
2019/06/26(水) 06:40:02.02ID:LU29nklf
てか現状、hyper-vない環境のが多い訳でwinでdockerいうたらそれだよね。
2019/06/26(水) 10:19:06.41ID:tKP4UJlx
10proに入ってんじゃん
2019/06/28(金) 05:11:22.48ID:tO2lJYIL
なるほど、10pro買えと。
800デフォルトの名無しさん
垢版 |
2019/06/28(金) 07:41:19.81ID:CM5w69Yd
wsl2のアーキテクチャ、hyper-v必須に見えるんだけどhome切り捨てか?
2019/06/28(金) 08:25:14.99ID:gNXTX/eF
はぁ、homeも対応するって発表しただろ
hyper-vのサブセットを提供するって。少しは調べろよ
802デフォルトの名無しさん
垢版 |
2019/06/28(金) 11:26:39.93ID:fSH27hWb
>>801
マジかサンキュー!
俺の調査完了だぜw
2019/06/29(土) 14:03:16.24ID:LzChV7lM
Windows10 Home
HP ENVY Ryzen7 3700U を使用しています。

https://dotup.org/uploda/dotup.org1884129.png
BIOSの方で仮想化設定をONにして、タスクマネージャーで確認しても「仮想化 有効」に
なっているのにかかわらず、Docker Quickstart Terminal を起動すると
「仮想化がenableになっていません。」とエラーが出て終了してしまいます。
どうすれば通常通り起動できるようになるでしょうか。
どなたか心当たりある方いらしたらお教えいただけないでしょうか・・・。
2019/06/29(土) 17:19:36.77ID:/BkVpaGH
>>803
Docker Toolboxは古い
Docker Desktop for Windowsを使え
2019/06/29(土) 18:13:54.06ID:/KvGohzC
HomeじゃHyper-V使えないし
2019/06/29(土) 19:25:19.90ID:8bAr7lLW
wsl2まで待つかwin10pro買うかどっちかを勧める。
807デフォルトの名無しさん
垢版 |
2019/07/06(土) 00:04:09.57ID:qTbAmWeM
dockerのimageファイルをブラウザからダウンロードできるサイトないですか?

特殊なインターネット接続なし環境で構築しており,インターネット接続環境はブラウザしか起動できない状況です。
2019/07/06(土) 04:45:25.56ID:O76mcSig
docker pullのプロトコルはhttpやろ
2019/07/06(土) 04:48:09.21ID:O76mcSig
っていうか、業務に必要なことなら、必要って言えばいいだろ
仕事で苦労してる責任が管理者にあるなら管理者に責任を押し付けろや。
コストがあがったのはあんたが認めないからです。責任はあんたにありますって
2019/07/06(土) 07:50:05.40ID:lAN9BSHL
小さい組織の末端の開発者ならそれでいいかもしれん
大きな組織だと特定の開発者のコストを下げても必ずしも全体のコストが安くなるわけではない
2019/07/06(土) 08:21:03.64ID:O76mcSig
大きな組織だと、その判断を末端の開発者がしてはいけない。

つまり、言いたいことは、"上に投げつける前に個人の判断で諦めるな" ということ

上に投げつけて、上の責任にするんだよ。
2019/07/06(土) 08:44:23.73ID:auWtVfNl
>811
理屈はわかるがそんなこと実際にするのはかなり丁寧に組織的根回ししないと無理だろ。
そんなことができるくらいならこんなとこに相談こねーわ。
2019/07/06(土) 09:12:48.48ID:O76mcSig
イミフ。上に言うだけやろ。こういうことで困ってますって。
2019/07/06(土) 09:17:32.46ID:lAN9BSHL
小さい組織でやってるとこういう苦労はわからないものさ
責任が小さいから自由もある
2019/07/06(土) 09:23:00.60ID:O76mcSig
だーかーら、上に相談することも出来ないのか?って言ってるんだが
2019/07/06(土) 10:25:15.17ID:auWtVfNl
>>813
お前がそれで解決しないという現実を知らんだけ。
2019/07/06(土) 11:40:56.15ID:O76mcSig
解決するかしないかは関係ないんだよ。
上の責任にしろって話。

責任を押し付けないから、上は適当に仕事するんだよ。
おめぇの責任だって言えば上は逃げられなくなるからな。
2019/07/06(土) 11:49:06.19ID:lAN9BSHL
与えられた裁量の中で成果を出すことが求められている
もっと権限をよこせよこさないならうまくいかないぞそうなったらおまえのせいだかんななどと喚くのは無能だ
組織で働いたことがねえんだろうなあ
2019/07/06(土) 13:09:27.76ID:O76mcSig
> 与えられた裁量の中で成果を出すことが求められている

どんな校則でも絶対に守る生徒 VS 校則の内容に疑問を持つ生徒

ほんとなぁ、日本の学校教育の失敗やで。
意味のないルールでも絶対に守れ。疑問を持つことは許さない
という教育をしてるからこうなる。
2019/07/06(土) 13:18:23.10ID:lAN9BSHL
末端の開発者が抱くような疑問はとっくに上が検討済み
それ以外の事も諸々含めて選んだ結果が末端の開発者に降りてくる
だから上からしたら責任はあんたにあります(キリッ)とか言われても何を言ってんだこの雑魚はとしか思えんよ
もともと責任ある立場なんだからさ末端の開発者と違って
2019/07/06(土) 13:27:42.39ID:O76mcSig
「末端の開発者が抱くような疑問はとっくに上が検討済み」
という思い込み

そして前提(時代)が変わってるもルールだけを残す。

ルールの存在理由を考えない。
ルールを守ることが目的となってる。
2019/07/06(土) 13:32:36.26ID:lAN9BSHL
>>821
>という思い込み
という末端の思い込み

>ルールの存在理由を考えない。
小さい組織の末端で働くと組織視点でルールの存在理由を考えない
なので自分の都合・不都合だけ考えてルールを否定したがる
2019/07/06(土) 13:43:30.71ID:O76mcSig
> なので自分の都合・不都合だけ考えてルールを否定したがる

当たり前だろw
言わなくても、他人が自分の都合をわかってくれるとでも思ってんのか?
2019/07/06(土) 13:58:40.05ID:lAN9BSHL
上は末端の開発者が考えることぐらいはだいたいわかってるよ
わかった上で様々な要素を検討して
開発者には悪いけど多少苦労してもらい集団としての利を取ろうと決定したの
末端の意見なんてのは上から見るととっくに処理済なんだよ
蒸し返されても困る
2019/07/06(土) 14:51:35.13ID:O76mcSig
> 蒸し返されても困る

理由が書いてないルールは蒸し返されてしかるべきだし
理由が現状とあってないルールは改善すべき

ほんとな。この理由が書いてないのが、ルールだけが残る悪い典型例だよw

靴下は白でなければなりません!
(理由は?)

理由が書いてない校則が多い
2019/07/06(土) 14:57:30.90ID:lAN9BSHL
>>825
理由は上が管理してるから安心しなよ
2019/07/06(土) 15:20:41.61ID:FpOYjoW/
スレチ
2019/07/06(土) 21:48:53.04ID:auWtVfNl
上がそこまで理解力あったら7payみたいなことは起きんわ。
現実見ないと幸せそうでいいよね。
2019/07/06(土) 22:15:52.49ID:TeKNePWD
うちの会社もフィルタリングはされてるけど、
正当な理由つきで解除申請すればホワイトリストに登録してくれて
アクセスできるようになるよ。

合理的判断のできる会社ならこれが当たり前だし
それができない会社にいるなら
奴隷の鎖自慢なんかしてないでさっさと転職した方がいい。
不合理がまかりとおるのが当たり前になった会社なんて
長期的に見れば没落するに決まってるから。
2019/07/06(土) 22:50:33.13ID:O76mcSig
せや、せーや(笑)
2019/07/17(水) 07:53:46.72ID:CjuPNITa
Dicjerfileでイメージを作成したいのですが
(コマンドはMacですが、私はWindows10でやっております。)

# alpine(軽量なLinux)をベースイメージとして
FROM alpine

# 作業ディレクトリの名前をreact-appとして
ENV wkdir react-app

# /usr/root/react-app を作業ディレクトリとして
WORKDIR /usr/app/$wkdir

# ディレクトリ"reactAppOnDocker"をボリュームとして
VOLUME reactAppOnDocker

# apk(alpineでのパッケージマネージャー)でnodejsとかインストールして
RUN apk add nodejs
RUN apk add npm
RUN npm i -g create-react-app

# shを実行する
ENTRYPOINT sh

作業ディレクトリを Windows10 D:/prog/docker/ に指定したい場合は
上記のWORKDIRを D:/prog/docker/$wkdir にするで合っていますか?
一応Imageは作成できたのですが、WORKDIRが上手く作られていない気がしまして・・・
2019/07/17(水) 08:54:52.34ID:ycSiezB+
WindowsでVOLUMEは鬼門・・・

はいいとしてWORKDIRはDockerコンテナ内のパス。
単にalpineの中でmkdirしてcdしてるようなもんだよ。
だからWindowsなんて関係ない。DockerfileはどのLinuxでもMacでも同じものが
使えるんだから、そんなWindowsの固有の情報なんて出てこない
2019/07/19(金) 03:11:40.54ID:X9aaaJRs
>>832
根本的な部分を忘れていました・・・全てDocker内のLinuxで完結しているのですね
ちゃんと作れるようになりました
ありがとうございますm(__)m
2019/07/31(水) 22:03:01.15ID:2Qswnptj
Dockerってcron使えるようになりました?
前使ってた時は相性悪かったんですが
2019/08/03(土) 10:08:06.93ID:CPHAUpDJ
組み込み機能でコンテナ内部で走らせるプロセスをyamlで管理できたら便利だと思う(composeのような雰囲気で)
supervisorは設定ファイルiniでキモいしちょっとしたエントリー拡張のためにsupervisorやentrykitを入れるDockerfile書くのめんどくさいよ
2019/08/03(土) 12:03:27.90ID:eOXqQaf9
なんでもかんでもYAMLってやめてほしいわ

手続き的に処理するものをYAMLで書いて、YAMLで書いた順番通りに実行します。
ifもループも書けますとかYAMLという設定ファイル形式の使い方を間違ってるとしか思えんわ

> ちょっとしたエントリー拡張のためにsupervisorやentrykitを入れるDockerfile書くのめんどくさいよ

お前が必要なのはYAMLじゃない。

YAMLでsupervisorやentrykitを入れるコードを書きたいわけじゃないだろ?
お前が本当に必要としてるのは、1コマンドでsupervisorやentrykitを入れるコードだよ。

コンテナ内部で走らせるプロセスを
YAMLでrun: 'process' と書こうが、Dockerfileで run process と書こうが
どちらも何も変わらんだろ
2019/08/03(土) 12:10:05.93ID:eOXqQaf9
あと supervisor が直接YAMLという設定ファイルに
対応するって話だったらなんの文句もないが、

supervisor開発者と関係ない第三者が、YAMLからiniへの
変換フィルタ作って、ほら、iniをYAMLで書けます。
supervisorのiniのあの項目は、私が作った変換フィルタではコレに対応します。
どれがどれに対応するか覚えて下さい!そうすればYAMLで書けます!

ってアホらしいと思う。supervisorのiniが変われば、
そのどこの馬の骨が作ったかもしれない変換フィルタまで
バージョンアップしないといけないし、変換フィルタの作者が飽きればそこまで
単に設定ファイルの形式を変換するだけの行為に意味ないよ

なんでそうみんなYAMLで書いて第三者が作った変換フィルタのバグや非対応の項目で
悪戦苦闘したがるかね? ネイティブの設定ファイルを使えばいいじゃん。
2019/08/03(土) 14:13:39.93ID:CPHAUpDJ
yamlで書ければ複数プロセスの設定が書きやすくなるだろうな
イメージ的にはこういうの

run:
..foo:
....command: foo a b
....restart: always
....after: bar
..bar:
....commad: init c d
....once: true
..baz:
....command: backup e f g
....when: 00 00 * * *

これをサポートなしでやろうとしたら結構めんどくさいよ
サポートあれば簡単だし起動関連の設定が同じ所に集まるから可読性も上がる

docker中心にみたらsupervisorがどこの馬の骨かわからん
公式にサポートされるのとサードパーティツールで補完できるのはやっぱ違うよ
公式ならシームレスでコンパクトにまとまるから使いやすくなるしあれもこれもと手を出さずに済む

変換フィルタの利点は抽象化と構文の統一化かな
外部リソースを扱うプログラムを書く時と同じだよ
設定がいろんな形式であちこちに分散するより纏めて同じ形式で書けるほうがいい
2019/08/03(土) 14:32:11.81ID:eOXqQaf9
> これをサポートなしでやろうとしたら結構めんどくさいよ

だから必要なのは「サポート」であってYAML形式じゃないだろ

> 設定がいろんな形式であちこちに分散するより纏めて
設定をまとめたいなら、設定ファイルをディレクトリにまとめればいいだけ
そして適切な場所にコピーするだけだろ。


> 同じ形式で書けるほうがいい
理由は?
2019/08/03(土) 14:42:55.01ID:CPHAUpDJ
>>839
まあ形式はyamlでなくてもいいけどyamlが妥当だろ
composeやswarm、k8sでも採用してるしdockerユーザーには馴染み深い

まとめる作業もコピーするのも面倒なので却下
それにまとめてもファイルは分割されてるだろ
suprvisor本体、各プロセス、起動ヘルパースクリプト、その他もろもろ
はぁ…ダルっ

同じ形式で書ければ構文を覚えなくていいから楽だしプログラム的にも扱いやすくなる
広く普及してるフォーマットなら形式が違くてもまだマシだが
たまにオリジナル形式で作っちゃうバカがいるから呆れる
2019/08/03(土) 15:03:33.81ID:eOXqQaf9
>>840
> まあ形式はyamlでなくてもいいけどyamlが妥当だろ

YAMLが妥当かどうかの話じゃなくて、ネイティブの設定ファイル形式を
第三者が作ったツールを使ってYAMLで書くのがアホだっていってるんだよ。

なぜかと言うと信頼性がないから。YAMLで書いたものが
本当に設定ファイルに正しく反映されているのか?
新しい機能に対応できてるのか?トラブルが合ったときその原因はどこにあるのか?
新たな問題が起きる層を増やしているだけ

設定ファイルの形式はなんだって良いだろ。設定項目の意味を覚えるのは
どっちだって同じことで、YAMLかそれ以外かの「形式」を覚えるのはなんの苦労もない

> それにまとめてもファイルは分割されてるだろ
じゃあ一つのファイルに、特定の区切り文字で区切って、結合すれば?

必要なのは、その結合設定ファイルの分割を「サポート」するツールであって
YAML以外の設定ファイル形式を理解できない
(からネイティブの設定ファイルが読み書きできず、トラブルがあってもYAML経由じゃなきゃ対応できない)
ような初心者のためのツールじゃないだろ

> たまにオリジナル形式で作っちゃうバカがいるから呆れる
suprvisorの作者にでも言ったら?僕はYAML形式でしか設定ファイルを読み書きできないので
YAML形式に対応してくださいってw
2019/08/03(土) 17:32:10.41ID:6VgdIlHS
そういうのまだ生き残ってたのか。
新規のDSLは否定しまくるくせにMakefileは不問だったりするんだよな。
2019/08/03(土) 18:19:12.64ID:eOXqQaf9
1. DSLの話はしていない
2. Makefileは用途が違う
3. お前はMakefileも否定してるのか?
2019/08/03(土) 19:02:06.52ID:+6ISjjVu
>>841
信頼性に対する考察が足りんな
抽象化と記法の統一化で設定が簡単になる
ということはミスが減るんだよ
広く使われるラッパーが間違えるより人が間違える確率の方が高い
トータルで見ると信頼性が上がる
プログラム書いてる人間なら自然とこういう考え方が身につく筈なのだがね?
君はアセンブラで何でも書いてしまうタイプなのかな?

形式を覚えるのは面倒だ
君が何と言おうとね

区切り文字で結合w
勢いで書いちゃったけど流石に自分でもこれはないわーあーやっちゃった、とか今、思ってるでしょ?

オリジナルってのは広く普及してないフォーマットの事な
別にyamlには限らないよ
jsonでもxmlでもね
2019/08/03(土) 19:06:12.83ID:+6ISjjVu
ところで君はネイティヴにこだわってるけど
ということはDockerネイティヴのコンテナ内プロセス管理の仕組みを用意した方が良いということになるな
馬の骨が作ったサードパーティツールよりネイティヴサポートの方が良いのは確かにそうだね
2019/08/03(土) 19:25:54.27ID:eOXqQaf9
> 抽象化と記法の統一化で設定が簡単になる
> ということはミスが減るんだよ

イミフ。アプリが要した設定方法を使うほうが
一番広く使われてる方法で、一番設定が簡単だろ

お前アプリのドキュメント読んでるか?
そのアプリのドキュメントにどういうやり方で
設定しろって書いてあるよ?

> 勢いで書いちゃったけど流石に自分でもこれはないわーあーやっちゃった、とか今、思ってるでしょ?

俺が言ったことを復唱するだけで、何一つ反論しないのなw

> ところで君はネイティヴにこだわってるけど

アプリのドキュメント通り。公式にやり方のことだが?
Dockerで言えばDockerfileを使ったやり方。

一番広く使われてるだろうが。
2019/08/03(土) 20:16:39.33ID:+6ISjjVu
>>846
イミフというならプログラム書いたことないのだな
アセンブラおじさんと呼ぼう
2019/08/03(土) 20:17:37.72ID:eOXqQaf9
>>847
なんかレスしろよw
2019/08/03(土) 20:20:07.16ID:+6ISjjVu
>>846
でそのDockerfile使った方法がクソッタレだから馬の骨がサードパーティツールとか使い出してしまった
これは明らかに公式の失態だな
さっさとマルチプロセス管理の仕組みを提供すべきだった
2019/08/03(土) 20:20:28.44ID:+6ISjjVu
>>848
なんかレスしろよw
2019/08/03(土) 20:22:53.38ID:eOXqQaf9
> でそのDockerfile使った方法がクソッタレだから馬の骨がサードパーティツールとか使い出してしまった

あぁ、出すやつは出すだろうな。
んで、使われてるのか?w
誰も使わんだろ
2019/08/03(土) 20:23:18.20ID:eOXqQaf9
>>850
> なんかレスしろよw
お前がなにか意味があることを言ってないのに
何にレスしろと?
2019/08/03(土) 20:26:50.56ID:eOXqQaf9
結局、YAMLから公式設定ファイルへのコンバーターを使った所で
何もメリット無いわけ

みんな公式の設定ファイルを読み書きできるだろ?
(できなかったらどうやってそのアプリの動作検証をやったというのか?)

公式のドキュメントを見て、使い方を覚えて、

さあ、あとはYAMLから変換するツールの使い方の勉強だ!
対応表見るぞー!あれがこれに対応してぇ、こう書けば、こういう設定ファイルが出力されてぇ
こういう設定するにはYAMLでどう書くんだ!くそーうまく出力されない!

何がしたいのかさっぱりわからない
2019/08/03(土) 20:31:39.00ID:+6ISjjVu
>>852
セルフカウンター乙

>>853
そこから間違ってるよ
公式見なくてもできるのが優れたラッパーだ
1対1で変換しただけのような二流ラッパーの話はしていないので謹め
2019/08/03(土) 21:02:22.94ID:eOXqQaf9
> 公式見なくてもできるのが優れたラッパーだ

お前の言う優れたラッパーってどれよ?w
それは一対一で変換しないんだろ?
そのラッパーにはラッパー特有のトラブルや制限が一切ないんだろう?
さて、優れたラッパーなんて存在するかなーw
2019/08/03(土) 21:06:50.88ID:eOXqQaf9
例えばAnsibleの酷さは、これを見れば一目瞭然

https://github.com/ansible/ansible/issues
3959 Open 19874 closed

バグのみに限ってもこんなにある
https://github.com/ansible/ansible/issues?q=is%3Aissue+is%3Aopen+label%3Abug
2451 Open 12250 Closed

こういうのと戦っていなくてはいけないわけだ
2019/08/03(土) 21:06:56.28ID:k1ZymNgl
>>853
某エディタのAnsible拡張を導入したらオートコンプリートが効いてこりゃ便利!と感じたがメリットじゃなかったのかコレ?
2019/08/03(土) 21:11:51.11ID:eOXqQaf9
Dockerfileヤダヤダ。でAnsibleを使うのだろうが、

https://docs.ansible.com/ansible/latest/modules/docker_image_module.html#docker-image-module

ところでマルチステージビルドはどうすればいいのかね?

Dockerfileでマルチステービルドをする方法はいくらでも見つかる。
Ansibleでそれをどうやるのか?を悩むんだろう?w
2019/08/03(土) 21:14:05.18ID:eOXqQaf9
>>857
オートコンプリートなら別にAnsibleとは無関係に使える。
例えばDockerfileのオートコンプリートだって存在する。

まああれも第三者が作ってるから、公式のバージョンアップに
ついていけないところがあったりで不完全なところがあるんだが、
オートコンプリートなら補完されないってだけで別に大きな問題にはならんな
2019/08/03(土) 21:17:17.90ID:+6ISjjVu
>>855
極論マンw
一切ないとか言ったら何も使えんわ
お前本当にエンジニア?
世界中で実践運用耐えうるぐらいには問題なく使えるよ

>>856
お前は全てのバグを踏み抜く奇跡の体現者かよw
実際に遭遇して問題が表面化して解決もできないなんてバグは滅多にない
ラッパーなら迂回路はいくらでもあるからな
お前が大好きな本家の設定がバグってたらほとんど打つ手ないけどな
2019/08/03(土) 21:22:16.09ID:eOXqQaf9
> 一切ないとか言ったら何も使えんわ

だからそういう間に入って変換するだけのものは
使わないほうが良いって言ってんだろ

公式が提供している、標準のやり方を使えばいいだけ


> お前が大好きな本家の設定がバグってたらほとんど打つ手ないけどな
本家がバグってるのをラッパーで回避できるわけ無いだろw
もし回避する方法があるなら、その方法をラッパーを使わずにやればいいだけだし

俺が言ってるのは公式が提供している標準のやり方をしろというだけ
間に変な変換ツールを入れて、その制限にぶち当たって悩まなくて良くなる
2019/08/03(土) 21:26:30.12ID:eOXqQaf9
そのうちプログラミングもYAMLで書きたいとか言い出しそうなんだよなw
2019/08/03(土) 21:31:23.14ID:+6ISjjVu
>>858
buildargsを使う
修正してモジュールにコミットする
シェル系モジュールを使う

回避する方法がいくらでもあるから安心だなぁ
2019/08/03(土) 21:32:02.04ID:+6ISjjVu
>>859
他のツールは?
カバー範囲狭すぎだろw
2019/08/03(土) 21:37:49.05ID:+6ISjjVu
>>861
飛行機落ちるかも怖いから乗らないって駄々こねる子供と同じだなこりゃ
大人はメリットもリスクも比べて飛行機に乗る

なんかあったら打つ手なしの飛行機じゃねえんだからリスクはさらに安く見積もって良い
ちょっとでもリスクあったら全否定ってw
本当にアセンブラマンなのかこいつ
今はまだある程度正気のようだがそのうちコンパイラも信じないとか言い出しそうだ
2019/08/03(土) 22:09:24.60ID:eOXqQaf9
>>863
お前の仕事は、回避することかw

>>865
間に挟めてトラブルを引き起こすツールに
メリットなんか無いじゃんw
2019/08/03(土) 22:10:17.26ID:eOXqQaf9
なんども言うが、公式のやり方をすれば
間に挟めるツールのトラブルがまるまるなくなる

非公式のやり方じゃなくて、公式のやり方をしろと言ってるだけ
2019/08/03(土) 22:10:46.33ID:eOXqQaf9
あとアセンブラとコンパイラは全然意味が違うので話にならない
2019/08/03(土) 22:26:01.09ID:+6ISjjVu
>>866
仕事は別だ
ごく稀に回避が必要な時にわずかな労力で回避するというだけのことだ
たったそれだけの事を過剰に恐れて便利なツールが中でやってることを全部自前でやるなんてよっぽど暇なのかな
まあ車輪の再発明も仕事といえば仕事か
2019/08/03(土) 22:27:55.21ID:+6ISjjVu
>>867
省力化やメンテナンス性の向上もまるまるなくなるな

>>868
たとえとしては十分だ
2019/08/03(土) 22:56:40.59ID:eOXqQaf9
> たとえとしては十分だ

的外れだからな。
所詮「第三者が作った設定ファイル形式のコンバーター」は
トラブルが起きたら変換後のオリジナルの設定ファイルを見なければ話にならん
2019/08/03(土) 22:57:33.53ID:eOXqQaf9
> たったそれだけの事を過剰に恐れて便利なツールが中でやってることを

ん?それってシェル系モジュール=シェルスクリプトでできる程度のことでしょ?w
2019/08/03(土) 23:06:48.06ID:+6ISjjVu
>>871
外れてないぞ
お前の意見は「データを抽象化、容易化するのは無駄(実際には無駄じゃなくメリットはある)で変換器の変換バグがあるかもだからアトミックなまま使え」だからな
機械語コードとコンパイラにもピタリと当てはまるな
2019/08/03(土) 23:10:57.32ID:+6ISjjVu
>>872
それってアセンブラでもできることでしょう?

ただ出来ると簡単に出来る、うまく出来るは違うことなんだな
だから高級言語が発達した

設定も同じことだ
2019/08/04(日) 01:24:31.62ID:2JKmG3Fw
>>873
俺の意見を間違えてるw

「不要な第三者が作った質の悪く機能不足な変換ツールを使わずに
アプリの開発者の想定通りの使い方をしろ」が俺の意見だ
2019/08/04(日) 01:25:43.22ID:2JKmG3Fw
>>874
設定ファイルは同じじゃない。

YAMLで設定を書いたら、できることが減ってバグが増えてる。
それに対してメリットがない。
2019/08/07(水) 02:02:44.08ID:wfV3IAlm
長いので2つに分割します。(1/2)

toolboxからコンテナを作れたまでは良いのですが、共通ファイルを作った上で、
コンテナ内のディレクトリにcreate-react-appでunk20というReactディレクトリを生成しようとしても、エラーが表示されで作れなくなりました。
途中まではWindowsの方の共通フォルダdocker-common内にunk20というフォルダが生成されているのですが、
以下のコードのnpm ERR!が出るとunk20フォルダごと削除され消えてしまいます。
ちなみに、共通フォルダを設定していない状態ですと、create-react-appでReactディレクトリはちゃんと作られ、localhostで接続すると問題なくブラウザにも表示されます。
node.jsとnpmは最新版にしております。
2019/08/07(水) 02:03:07.70ID:wfV3IAlm
PS D:\programming\docker> docker run -it --name my-first-docker-app-20 -p 3000:3000 -v //d/programming/docker-common:/docker-common react-env-2/docker-common
(コンテナ作成 & コンテナ内に入る)

create-react-app unk20(create-react-app コマンドでunk20というReactディレクトリを作る)

Creating a new React app in /docker-common/unk20.
(ここで、Windows側のdocker-commonファイル内にもunk20というファイルが生成される)

(Reactを生成中)
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

(ここら辺りまで順調に進んでいたのですが、以下でエラーメッセージが表示される)
npm ERR! path /docker-common/unk20/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/docker-common/unk20/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-08-06T16_31_06_826Z-debug.log

Aborting installation.
npm install --save --save-exact --loglevel error react react-dom react-scripts has failed.

Deleting generated file... node_modules
Deleting generated file... package.json
Deleting unk20/ from /docker-common
Done.
(unk20ディレクトリが削除される)
2019/08/07(水) 02:03:56.17ID:wfV3IAlm
最後までお読みいただきありがとうございました。
どなたかわかるかたいらしたら宜しくお願い致します・・・。
2019/08/22(木) 22:54:02.06ID:op2s2rjn
すごいなWindowsでdocker使う人が居るんか
2019/08/22(木) 23:05:23.65ID:9hkvIicI
むしろwindowsだからこそありがたい
2019/08/22(木) 23:06:47.55ID:jOmYEIea
>>880
普通に使ってるけど?
2019/08/23(金) 06:33:41.15ID:CiIDRu0Q
MacのDockerって仮想マシンで動いてるんだなー
2019/08/23(金) 12:03:35.29ID:sui4vfrR
Docker for windowsは便利だけどwindowsコンテナは全く使ってない
2019/08/24(土) 11:10:34.44ID:lCI+FPsg
helmのテンプレートってすごく汚くて読みにくい
うまくYAMLにするためにインデント数を`Indent 12`みたいにしてテンプレートで指定とか正気かよ
なんか良い代わりのやつ無いの?
2019/08/25(日) 00:00:48.85ID:kEZWEDQL
helmはなんかなじめなくてkustomize使ってる
2019/08/25(日) 00:10:10.89ID:hoACBN+G
クソトメライズ?
2019/08/25(日) 00:58:14.70ID:VV5KPKj8
臨時雇い要員にもdockerを使わせたいのだけどよけいな権限は与えたくない時はどうすればいい?
ホストもコンテナ内も一般ユーザーのみ許可できればいいのだけどそんなことできんのかね
2019/08/25(日) 03:53:54.44ID:hoACBN+G
>>888
その臨時雇い要員に専用のパソコンを与えれて
そのパソコンは自由に使っていいけど、本番環境へのアクセスは禁止すればいい
2019/08/25(日) 07:11:30.55ID:VV5KPKj8
>>889
仮想端末を含めて専用のPCを用意することが出来ません
複数名でログインする端末です
機密情報を扱う別のユーザーと共有してます
2019/08/25(日) 07:27:40.02ID:G4x5ZGgB
> 仮想端末を含めて専用のPCを用意することが出来ません

言い換えると、あなたの会社でまともな開発はできません。ということ
自分で、まともな開発はできないと結論を出してるんだから、そこで終わりだろう。
2019/08/25(日) 07:29:21.71ID:G4x5ZGgB
だいたい、専用のPCを用意できないって
単に金が無いって言ってるだけじゃないか

金がないです。どうしたらいいですかと言われても
借金でもすれば?で終わる話
2019/08/25(日) 07:38:33.38ID:G4x5ZGgB
給料を出だないほど金がないなら話は別だが
パソコンなんて数万円程度で買えるのにのに「できない」
なんてことはありえない。ようするにやる気がないだけ。

言葉は正しく使え。専用のPCを用意することができないんじゃなくて
専用のPCを用意したくない。が正しい言葉だ。

機密情報も、適当でいいって思ってるだろ。
機密情報に関してきっちりしているなら専用のパソコンに物理的に分ける。
パソコンがとても高価だった時代ならまだしも、今の時代に複数で共有なんて危険なことはしない。
個人専用のパソコンを与えてない時点で、セキュリティはザルでしかない。

自己を認識してないようだからはっきり言ってやる。
お前のところは機密情報を扱う資格がないし、守ることすら出来ない。
大切なものを守る意識も欠けてるし、やるべき正しいこともわかっていない。
今何も問題が起きてないのは運がいいだけだ。
2019/08/25(日) 07:42:07.89ID:VV5KPKj8
あなたの知る限り技術的には不可能ということでしょうか?
2019/08/25(日) 07:45:18.41ID:G4x5ZGgB
>>894
例えば10階建てビルを作る技術はある。
みんなそれを作るための技術と道具を持ってる。

お前は、クレーンがないんです。
技術的に不可能ということでしょうか?と聞いてる。

技術的に不可能じゃなくて、クレーンを買うことができないことが
出来ない理由だっていってんの。ちゃんと認識しろって
2019/08/25(日) 07:46:47.45ID:G4x5ZGgB
目的を達成する方法はいくつもあるが
「金が無い」なら、無理じゃねと言うしか無い
2019/08/25(日) 08:00:05.20ID:VV5KPKj8
つまりわからないということですね?
2019/08/25(日) 12:49:41.65ID:ssItiA2j
何だこいつ
2019/08/25(日) 12:59:09.23ID:VV5KPKj8
イキってるくせに質問には答えられないクズってたまに居るよねぇ
2019/08/25(日) 13:30:52.18ID:ssItiA2j
お前のこと云ってんだよ
2019/08/25(日) 13:35:48.58ID:VV5KPKj8
言われてるぞお前くん
2019/08/26(月) 00:04:01.79ID:JShuaBEZ
個人でDockerを入れてそこで自己完結させればいいだけだろ。サーバーからコンテナのコピーで済む話。

buildをユーザ権限でやるならk8sの使えば行けるが、会社と担当者のITリテラシーレベル低そうだし諦めればw
2019/08/26(月) 00:50:09.55ID:rnlkvQrj
>>902
セキュリティやってる気になってる会社には無理だろ
機密情報を扱う別のユーザーと共用してるパソコンなんて
正気の沙汰じゃない。どうせアップデートもしてないだろうし。
セキュリティ意識ゼロ
2019/08/26(月) 01:31:32.75ID:JShuaBEZ
コンテナ内というのが意味不明だな。
ビルドでユーザー作れば当然管理者権限なしでも入れるが、dockerでやる事なのだろうか。

中に入る→出来る
ビルド→出来る
docker コマンド→別グループ作れば可能だが実質su

dockerはアプリ動かすツールであって、管理者以外が共有PCで立ち上げ必須な用途には向かない。巻き添えで常駐コンテナに影響するからだ。

PCに入ったあと、Dockerコマンドで機密情報を操作するコンテナを動かすルールなのだろうか。

企業によくいる、自分は詳しいと思いたい素人が管理してる感溢れていて良い。
2019/08/26(月) 02:35:23.25ID:rnlkvQrj
>>904
かんたんなこと。
なんちゃってセキュリティだから決まってるのは
「root権限は禁止」

これだけ
2019/08/26(月) 02:35:28.97ID:rnlkvQrj
>>904
かんたんなこと。
なんちゃってセキュリティだから決まってるのは
「root権限は禁止」

これだけ
2019/08/26(月) 06:29:32.37ID:fuirL3l0
お前らってわからない時の言い訳はいつも饒舌だよねぇ
質問には答えられないくせにさw
2019/08/26(月) 06:47:45.57ID:fuirL3l0
言い訳というのはちょっと違ったか
わからないことを誤魔化すためのマウンティングになると饒舌
これが正確だな
2019/08/26(月) 08:28:14.69ID:JShuaBEZ
>>907
>>904に答え書いたでしょ。
buildの方はk8sやローカルリポジトリがいるのでかなり難易度高め。k8sが管理者権限だと無理だな。

ユーザー作る方は難しくない。

rootが嫌ならユーザーをdockerに入れると良い。実質suだが。他は不可能。

上2つはdockerfile書けるのが前提で、ここに書いて済むレベルの話ではない。

頑張れw
2019/08/26(月) 08:43:07.72ID:UMd5mz1m
権限ちゃんと分けたかったら
Dockerじゃなくて普通にVM使うべき。
メモリーの必要量は増えちゃうけど。
2019/08/26(月) 12:49:17.98ID:NWn2YSWg
「VM使ってもroot使ったダメなんですー」
「個人にパソコンを与えたとしてもrootは禁止なんですー」
「うちってセキュリティしっかりしてるでしょ?」
2019/08/26(月) 15:55:14.47ID:aBrnjXrt
>>909
呆れる
k8sの話はしてないしローカルDockerの話してんの
ユーザーDockerに入れても意味ないだろ

>>910
業務上の都合で使えません

>>911
答えられないなら無理してレスしないでいいぞ?
見ててちょっと気の毒だ
2019/08/26(月) 15:58:57.84ID:NWn2YSWg
× 業務上の都合で使えません
○ 業務改革したくないです。やる気ないです。
2019/08/26(月) 16:03:12.47ID:NWn2YSWg
新しい道具を入れたら、それだけで改善されるって思ってるバカが多いからな
新しい道具に最適になるように「やり方」を変えないと、何もかも無駄になる。
2019/08/26(月) 22:09:26.41ID:80nRq+Qr
>>912
dockerでは無理。k8sはコンテナも書き方も同じでdockerの上位互換。しかし、複雑で難易度の高め。
2019/08/26(月) 22:11:49.21ID:80nRq+Qr
普通、業務で使うならk8sだと思うが。分散や冗長化がdockerではできないからね。インストールがユーザー権限で出来るしdockerfileも使える。

完全な上位互換なんだが、代わりに手軽さは一切無いw
2019/08/26(月) 23:35:27.55ID:UMd5mz1m
そもそも無理な要件を期待してるんだから、要件の方を変えるべきだな。
Dockerでできることのほとんどは、Docker使わなくても手間が違うだけでできるわけだし。
無理だと分かってる要件を押し通そうとするのは無能。

押し通そうとしてるのが自分じゃなく上なら、そんな理不尽な職場は放棄して転職すべき。
918デフォルトの名無しさん
垢版 |
2019/08/28(水) 08:51:22.17ID:Dqewl7QB
macOS版のDockerで、docker buildがたまにフリーズするバグの回避方法ない?
このバグのせいでテストがまともに出来なくて困ってる。
WindowsやLinuxでは発生しない。
タイムアウト仕込んでリトライさせるしか無いかな
2019/08/28(水) 20:14:43.89ID:mDli60SR
>>918
これでどや?

docker run --rm -d --name build-reg -p 55555:5000 registry:latest

docker run --rm -d --name build-dind --link build-reg --privileged \
docker:dind dockerd --host tcp://0.0.0.0:2375 --insecure-registry build-reg:5000

docker run -it --rm --name build-docker --link build-dind \
-v $PWD:/build \
-w /build \
-e DOCKER_HOST=tcp://build-dind:2375 \
docker:latest sh -c 'docker build -t build-reg:5000/test:latest . && docker push build-reg:5000/test:latest'

docker pull localhost:55555/test:latest

docker stop build-dind
docker stop build-reg

docker run --rm localhost:55555/test:latest
2019/08/28(水) 20:16:24.43ID:mDli60SR
いちお捕捉
working directory直下にDockerfile置いてな
2019/08/28(水) 20:26:59.23ID:mDli60SR
つうか本当にmac限定バグなのか
単に速度が遅いだけなのではと思った
for Macはディスクアクセスがやけに遅い気がする
922デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:32:44.71ID:Dqewl7QB
>>919
やってないけど、関係ないわ
docker clientのバグだから
923デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:33:17.71ID:Dqewl7QB
あとdocker buildのバグな
924デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:35:18.65ID:Dqewl7QB
>>921
mac限定のバグ。WindowsとLinuxでは
今まで1セット100ビルドを何十回もやっていて出てなかった
2019/08/28(水) 21:15:43.36ID:mDli60SR
>>922
だとするとclientだけコンテナにすりゃいんじゃね?

docker run --rm -v $PWD:/build -w /build \
-v /var/run/docker.sock:/var/run/docker.sock \
docker:latest build -tag test .

これ100回ぐらい流してみてくれ
926デフォルトの名無しさん
垢版 |
2019/08/28(水) 21:57:22.78ID:Dqewl7QB
>>925
それはLinux版バイナリだからうまくいくよ。
ただね、100回ビルドするだけで3分もかかるんだよ。普通なら30秒。
「1セット100ビルドを何十回もやる」ような場合はちょっと苦痛
更に言うと「Windows」でもやるのでボリュームは使いづらい
それにしてもなんでmac版だけ壊れてるかな?
2019/08/28(水) 22:01:15.18ID:4Zzob7TG
ビルド100回を何度もするってのがなんか間違いを感じるのだが。
928デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:02:48.52ID:Dqewl7QB
各ディストリ、言語やライブラリのバージョンの違いの
組み合わせでテストしてるから
2019/08/28(水) 22:27:45.82ID:4Zzob7TG
>>928
dockerってそれをしないで済ますための仕組みなんじゃ。。
930デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:29:52.82ID:Dqewl7QB
>>929
いつかhomebrewとかaptとか無くなって
全部docker上で動くようになる時代がくるといいですね^^;
2019/08/28(水) 22:32:16.66ID:OKaAzkiN
kibanaで処理したら?
2019/08/28(水) 22:32:55.74ID:OKaAzkiN
kanikoの間違い
2019/08/28(水) 22:37:10.79ID:4Zzob7TG
なんか話がおかしい。
確かにホストの方はどうにもならんことはあるだろうが、
ゲストの中身をいろいろなディストリビューションで実装する意味が分からん。
934デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:42:10.97ID:Dqewl7QB
ゲストの中身をいろいろなディストリビューションで実装するなんて言ってないぞ
いろんなディストリビューションで(Dockerを使わずに)動かすんだよ。

例えばいろんなディストリで動くバイナリを生成するコンパイラの開発
935デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:43:42.14ID:Dqewl7QB
「いろんなディストリでビルドできて正常に動くことの確認」の方がわかりやすいか?
2019/08/28(水) 22:59:13.43ID:4Zzob7TG
だったらホストは無理にmac使う必要ないんでは?
937デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:01:14.04ID:Dqewl7QB
>>936
そうだよ?だからWindowsでもLinuxでも問題なくビルドできたので
今まで気づかなかった。だけど出かける時もありノートでも作業できるようにしたいわけ

それにしてもMac版だけdocker buildがフリーズすることに誰も気づいてないのかな?
2019/08/28(水) 23:03:54.16ID:4Zzob7TG
いやクラウド環境でも社内サーバーでも勝手に使ってやりゃいいじゃん。。
macにそこまでなんでこだわるかね。。
2019/08/28(水) 23:24:16.17ID:OKaAzkiN
>>937
githubのissueで調べるか出した方が良いのでは。

windowsとmacだとk8sの不具合が認識されていて、ネットワーク割当が原因と分かっているが、2年経っても治ってない。

dockerやk8sは基本的にLinux用。
後のOSは有志中心の開発だから不具合多い、と思った方が良い。
2019/08/28(水) 23:32:48.79ID:OKaAzkiN
ただ、ビルドを何周も回して動作確認する用途は明らかに本来の用途外だからどうかな。dockerではなく、メモリなどOSのオーバーヘッドかもしれないし。
941デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:41:21.60ID:Dqewl7QB
> ただ、ビルドを何周も回して動作確認する用途は明らかに本来の用途外だから

CircleCI全否定?(笑)
942デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:45:14.48ID:Dqewl7QB
並列でビルドしているわけじゃないんだからメモリはありえないし、
Mac版のdockerサーバーは仮想マシンのLinux上で動いてるんだから
Mac版のdocker clientの問題だろうね
2019/08/28(水) 23:52:23.20ID:mDli60SR
マルチプラットフォームで動作保証したいならDockerは使わずに実機か仮想マシン使った方がいいと思うけどな
Dockerで動いても生ホストでの動作保証にはぜんぜんならないでしょう(逆も然り)
2019/08/28(水) 23:56:02.47ID:OKaAzkiN
>>941
自分がやる時は中で操作して、動作をメモしてCIに移植するから、何周もビルドする事は無いな。遅いし。
2019/08/28(水) 23:57:25.96ID:OKaAzkiN
>>942
繰り返しになるが、Githubで聞いてくれ。
推論を重ねても意味がない
946デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:58:06.35ID:Dqewl7QB
CIは待ち時間が入るから遅いんだよね
947デフォルトの名無しさん
垢版 |
2019/08/28(水) 23:59:26.35ID:Dqewl7QB
Mac版Docker clientが悪いのは推論じゃなくて事実だよ
2019/08/29(木) 00:21:40.39ID:PDsNQoqu
Open Stack にも、オーケストレーションのHeat、
コンテナ・オーケストレーションのMagnum とかある

Magnumは、Docker Swarm, k8s, Apache Mesos と連携する
2019/08/29(木) 00:50:21.95ID:Kom8vkJp
>>947
必要なのは悪者探しではなく、対策でしょ。内容的にstackoverflowでも回答無いと思う。
2019/08/29(木) 05:29:15.00ID:IbMmBKe3
まあ正直ツマラン流れだったな。情報小出しでもう少しマカがファビョって
荒れると面白かったんだが。面倒になったからさっさと終わらせるわ

再現コード、十数回でフリーズすると思うが、極稀に100回通ることもある
for i in $(seq 100); do echo $i; echo FROM alpine | docker build -; done

Mac版docker cilent 19.03系のみでフリーズする。18.09系なら問題なし。
Macで動かしてるdocker server 19.03に外部のLinuxのdocker client 19.03で
やった場合は問題なしだからどうみてもMac版docker clientの問題
2019/08/29(木) 05:32:22.57ID:IbMmBKe3
対策は19.03専用の機能は使ってないのでクライアントだけ18.09を使うことにした。
バイナリ配布されてるから~/binにでも入れるだけ。
世の中がバグに気づいてなおるのを待つことにする
githubへは面倒なので、だれかやって
2019/08/29(木) 05:34:21.45ID:PDIn7KyT
volume先のゲストのhtmlファイルをホストのブラウザからlocal host 3000で接続して
htmlの内容がブラウザに表示されたまではいいんだけど
htmlを編集してもブラウザが更新されてくれない(リロードしても編集前と同じ画面)
再度npm startするとちゃんと編集後のコードで更新されているんだけど、
少しの編集でも逐一チェックしたいのでとても不便・・・どうすればブラウザでも随時更新されるようになるのかな??
手探りで、docker build時に -no--chace=trueを付けてみても駄目だった
2019/08/29(木) 05:37:03.90ID:IbMmBKe3
ふぅ、せっかく荒らして遊ぼうとしてるのに邪魔しないでくれないかな
docker関係ないだろ
2019/08/29(木) 08:46:05.78ID:7sVXLGAA
言ってることが糞野郎過ぎて話にならん。
2019/08/29(木) 08:59:52.46ID:4t3Jo3Qx
macOSネイティブ版で苦労するより
VMware Fusionでも買って Ubuntu でも入れて
出先のMacノートではそれで開発すれば?って気がするな。
下手するとネイティブより速かったりして。
2019/08/29(木) 09:26:46.62ID:IbMmBKe3
>>955
それな。MacのCLIってなんであんなに遅いんだろう?
WSLと大差ない。WSLができてMacで開発するメリット無くなったわ
2019/08/29(木) 09:37:55.11ID:PDsNQoqu
>>952
HTML を更新後に、ウェブサーバーで再読み込みするとか、再起動すれば?
2019/08/29(木) 09:42:53.10ID:4t3Jo3Qx
カーネルでのファイルシステムキャッシュとかの性能最適化が遅れてるんじゃない?

Windowsも遅いからクライアントOS志向だとその辺で手を抜くのかね?
2019/08/31(土) 17:30:46.58ID:W/+KbOJi
>>957
>>958
ありがとう〜
多分npmのキャッシュが原因なのかなぁ
nodemonっての使って更新されるようになったけど
結局はnpm startをリスタートしているだけで待ち時間が少し早くなった程度
dockerはむつかしい^p^
2019/08/31(土) 17:40:51.37ID:3i1dPJsj
docker関係ねーって言ってんだろ
2019/09/05(木) 06:20:29.29ID:0FQt0tq4
マカーさんの自己顕示欲は異常だわ
Docker以前のおま環のことで荒らすなや
きくちももこ学生です並のウザさは健在
2019/09/05(木) 06:56:17.02ID:rtvg+Hab
19.03.2がリリースされたけど直ってなかったな
やっぱりMacでdocker buildがフリーズする
2019/09/19(木) 16:17:59.10ID:XZ0hpx1V
>>962
再現性あるならgithubにでも書いてきたら?

どういう運用かわからんけどcoreutils周りとか
同じコマンド名で挙動が違うのにひっかかってるだけじゃないかって気が
964デフォルトの名無しさん
垢版 |
2019/09/19(木) 18:00:09.96ID:VYOVEANP
>>963

これで再現するっていってんでしょ
for i in $(seq 100); do echo $i; echo FROM alpine | docker build -; done


運用が何の関係があるのかさっぱりわからん
(バグを)運用でカバーすれば大丈夫だからバグじゃない!とか言うつもり?
バグはバグだよ
2019/09/19(木) 20:20:47.02ID:LMEHm5Z7
>>964
こんな便所の落書きでボヤいても直りゃしないからちゃんと報告しろっていう話よ
2019/09/19(木) 22:11:59.87ID:VYOVEANP
>>965
めんどくさい、だれかやって
2019/09/20(金) 09:43:47.50ID:Fc+ApEcD
>>966
再現や英語書きで2時間くらいは最低でもいるから
1人月150万円だと2万円は必要な作業なわけだがもしかしてタダで人を使おうってこと?

ホントに仕事として請け負うならやり取りのフォローアップも考慮して10万円コースよ。
2019/09/20(金) 10:26:53.20ID:y2zR5WSk
>>964
ホントだな15回目で固まるわ
2019/09/20(金) 10:36:59.64ID:y2zR5WSk
>>964
>バグはバグだよ

とはいえユースケースが想像しにくいテストコードでのバグってのは
みんな対応したくないもんで。

もっと重いコンテナでも同じように落ちる?
特定のコンテナだけだったりする?
2019/09/20(金) 12:48:13.37ID:y2zR5WSk
https://github.com/docker/for-mac/issues/3873

これのdupeだったりしないかな
2019/09/20(金) 13:20:41.75ID:fQRmEVoK
>>967
そういうこと。2万円は必要な作業を俺はやりたくないw
2019/09/20(金) 13:22:02.17ID:fQRmEVoK
>>969
> とはいえユースケースが想像しにくいテストコードでのバグってのは

ユースケース? docker buildのユースケースがわからないの?

docker buildを行うとn%の確率で固まるっていう不具合なんだけど
運が悪ければ、1回目で固まる。
2019/09/20(金) 13:23:14.51ID:fQRmEVoK
>>969
> もっと重いコンテナでも同じように落ちる?
自分で試せよ。どんなイメージも関係ない
docker buildがまれにフリーズするというバグ
2019/09/20(金) 13:28:01.02ID:fQRmEVoK
お、誰か書き込んでるなw

ただクラッシュじゃないんだよね。
おそらく排他制御とかでデッドロック状態にでもなってるんだろう
18.xまでは問題ないから19.xのBuildKit周り(の並列処理)が怪しそう
2019/09/20(金) 17:21:19.64ID:y2zR5WSk
>>972

docker buildを行うとn%の確率で固まる
特定のコンテナに限らない
reprexは
for i in $(seq 100); do echo $i; echo FROM alpine | docker build -; done

と初めからから書くとみんな幸せだと思う
2019/09/20(金) 22:59:58.79ID:1PmZKueH
>>918で書いてるぞ
> macOS版のDockerで、docker buildがたまにフリーズするバグの回避方法ない?
2019/09/20(金) 23:28:50.99ID:+K3cd4WX
issue出てるなら一旦待ちだろ。
kubernets関係の起動しないトラブルも2年近く治ってない。

windowsやmac版はそんなもの。
2019/09/22(日) 12:08:32.64ID:8mgJSnoC
なるほどパイプラインのタイミングの問題とか全く分からず使ってるバカなんだな。
979デフォルトの名無しさん
垢版 |
2019/09/22(日) 12:56:50.94ID:aP0HRBTF
固まったり固まらなかったりすることと
パイプラインの問題(?)と何の関係があるの?

そもそも、お前が知ってるパイプラインの問題って何さ?
980デフォルトの名無しさん
垢版 |
2019/09/25(水) 13:55:55.59ID:vrhM55u6
みんなサーバサイド開発してる人が多いだろうからDockerが人気なんだろうけど、俺的には「macOSコンテナ」が欲しいな
特定のプロジェクトをビルドする環境を構築したり保存したりできたらいいのにな
2019/09/25(水) 18:21:33.20ID:wN1JzOl2
Windowsは「Windowsコンテナ」があって、DockerもWindowsコンテナに対応してるけど、
macOSにはコンテナってないのか?

曲がりなりにもUnixなんだからchrootはあるはずだが、
プロセス分離するとかそれ以外の機能が足りないのか?
2019/09/26(木) 22:02:57.78ID:NGtUWv0T
GUI無しで使うメリットがほぼ無いから
作る人が居ないだけなんじゃないかと
2019/09/26(木) 22:21:01.51ID:KBLIPb+H
正確にはMacはGUIなしじゃ使い物にならない。
LinuxとWindowsはCUIだけでも使いものになるから
コンテナがある。という話?
2019/09/26(木) 22:40:37.29ID:1PonavB4
いや、WindowsよりmacOSの方がCLIなツールは充実してるよ。
単にAppleにコンテナ技術に関するやる気がないってだけの話。
2019/09/26(木) 23:03:33.62ID:GPBrJiCt
WinもWSLでLinux用CLIツール使えるようになったし、Macとそう変わらんのでは
2019/09/26(木) 23:49:38.59ID:1PonavB4
・WSLは追加で入れる必要があるけどmacOSは最初から一通り入ってる
・WindowsのネイティブGUIアプリと
WSLは別のサブシステムで動いていてやり取りに制限があるのに対し、macOSのネイティブGUIアプリとCLIツールは同じ世界で動いてるのでそういう制限がない

のでmacOSの方がまだちょっとCLI環境的には強い
2019/09/27(金) 00:13:25.85ID:VsKeB+lq
OS本体のコンテナ化に関する話でしょ。Macはブランドに固執してるからOSをコンテナにする事はなさそうだ。同じ理由でOSをPCで動かない設定にしてるわけだし
2019/09/27(金) 00:16:23.44ID:gw9G43bu
>>986
> ・WSLは追加で入れる必要があるけどmacOSは最初から一通り入ってる

MacのCLIはApple非公式のHomebrewを別途入れないとまったく使い物にならんぞ
2019/09/27(金) 00:26:49.54ID:gUp/eX0U
今Macで開発してるような技術者はUnixやCUIが好きだからWindowsよりMacを選んでると思うね
となると仮想Linuxベースになろうが抵抗感が無いからMacネイティブへの需要はなかなか少なくんじゃないのかなぁ
2019/09/27(金) 00:34:34.08ID:gw9G43bu
重要なのはいまMacで開発してる人じゃなくて
今Linux向けアプリ(クラウド関係はゲームも含めてほぼ全て)を
作ってる人はLinuxを選ぶってことだよ。
MacはBSD系だから今の時代少数派に分類される
2019/09/27(金) 00:36:42.95ID:gw9G43bu
BSD→Linuxは割と簡単
Linux→BSDはストレスが溜まる

なぜならBSDのコマンドはLinuxのものと比べて低機能だから。
さらにLinuxの情報が使えない上にBSDの情報が少ない
BSDといってもFreeBSDとかとも違うから実質Macだけの情報しか使えない
2019/09/27(金) 01:09:54.72ID:QYhXKz12
>>988
まったくというわけでもない。
WSLなしのWindowsに比べれば、素のmacOSの方が100倍くらいは便利。
993デフォルトの名無しさん
垢版 |
2019/09/27(金) 04:35:44.43ID:vRUnFoYy
>>991
>BSD→Linuxは割と簡単
>Linux→BSDはストレスが溜まる
>
>なぜならBSDのコマンドはLinuxのものと比べて低機能だから。
一丸には言えない

>さらにLinuxの情報が使えない上にBSDの情報が少ない
manが読めない人にはそうかもね

BSD→Linuxソフトウェアが古すぎて腰を抜かす
2019/09/27(金) 04:48:12.80ID:JpyEjYqI
なんでWSLなしのWindowsと比べるんだろう?

それってエンジンなしの自動車に比べれば
自転車のほうが速いって言ってるようなもんやでw

> 一丸には言えない
いえるいえる。全部低性能

> manが読めない人にはそうかもね
manもLinuxの方が多い。それにBSDだと--helpがめっちゃ少ないしw

> BSD→Linuxソフトウェアが古すぎて腰を抜かす
古いのって例えば何?
995デフォルトの名無しさん
垢版 |
2019/09/27(金) 05:13:53.10ID:vRUnFoYy
BSDをまともに使ったことがないのはよーくわかった
ssh,nginx,bash,zsh,tmux,mariadb,python,named,postfix,syslogd,clang,h]gccほぼ全部において古い
manが追いついてないコマンドいくつあると思ってんよ
2019/09/27(金) 05:40:42.04ID:JpyEjYqI
わからないからって俺に聞くな、お前が主張しろ
2019/09/27(金) 06:05:12.94ID:JpyEjYqI
BSDの何が駄目かって、POSIXで規定されてる
基本コマンドが貧弱なんだよ。
最低限しか実装されていない。
よく使う基本コマンドだから困る
2019/09/27(金) 06:23:42.35ID:boczQ2su
毎日使うものだから。
999デフォルトの名無しさん
垢版 |
2019/09/27(金) 08:13:23.51ID:vRUnFoYy
busyboxとか使うと発狂すんだろな
1000デフォルトの名無しさん
垢版 |
2019/09/27(金) 08:20:02.99ID:JpyEjYqI
https://ja.wikipedia.org/wiki/BusyBox

> 1996年、ブルース・ペレンズが書いたのが起源である。Debianディストリビューション用の
> レスキューディスクにもインストーラにもなるフロッピーディスク1枚の完全なブート可能システムとして設計した

1. busyboxはLinuxのためのもの
2. BSDはレスキューディスクと比べるぐらい機能が低い
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 952日 14時間 18分 59秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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