X



仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0473472
垢版 |
2018/01/23(火) 13:19:10.42ID:CDVCaOOu
472 は、誤爆
0476デフォルトの名無しさん
垢版 |
2018/03/24(土) 08:58:04.53ID:9NxgdLlD
ubuntuコンテナにRDP接続したいのですがどうすればいいですか?
Xウィンドウ?とかいうのを使うらしいのですがよくわかりません
0477デフォルトの名無しさん
垢版 |
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
0478デフォルトの名無しさん
垢版 |
2018/04/25(水) 15:11:44.49ID:yjbc7H4K
質問が続いて申し訳ありません。
もう本当の初心者の初心者で、これからローカル開発環境を構築しようというところで、
Vagrantの初期化に失敗し途方に暮れております。
海外サイト含めいろいろググりましたし、パスやユーザー名の問題もないと思います。
Invalid argument @ dir_s_mkdir - C:/Users/(user)/MyVagrant/MyCentOS/?vagrant_home (Errno::EINVAL)
と出て、初期化(Vagrantfileの作成)に失敗します。

どなたか助けてください・・
0481デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:43:15.85ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

AUPZD
0483デフォルトの名無しさん
垢版 |
2018/06/12(火) 19:37:05.64ID:X3Ns4c46
windows 10 メモリ4GでDocker動かすテクニック知らん?
こいつリソース食い過ぎなんだけど
0486デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:07:24.99
32GBでようやく標準装備といえる
0487デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:14:19.13ID:Jt1XfQ9I
>>483
DockerはWindowsとLinuxではLinux仮想マシンを使う
だから設定から仮想マシンに割り当てるメモリを変更すれば良い

WSLのLinux互換機能が高くなれば、仮想マシン使わずに
ネイティブに動くのにな。まだかなー
0490デフォルトの名無しさん
垢版 |
2018/06/13(水) 19:47:51.58ID:uyjgxa7r
DockerとVagrant両方使ったが、覚えることはVagrantのほうが少ないな
軽さではDockerかな
0491デフォルトの名無しさん
垢版 |
2018/06/13(水) 20:05:47.54ID:MfFyOg3y
コンテナ起動した後に初期化スクリプト走るタイプのコンテナが使いにくいんだがどうにかならんのあれ

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

CIサーバーでテスト開始するまでが長すぎてもったいないと思った
初期データまで込みでイメージにしたい
0492デフォルトの名無しさん
垢版 |
2018/06/13(水) 20:22:25.46ID:Jt1XfQ9I
>>491
それは初期化スクリプトが問題なのではなく
データベースサーバーが起動するまで待っているから
データ込みにしてようが結局データベースサーバーが起動するまで待つ
0493デフォルトの名無しさん
垢版 |
2018/06/24(日) 10:53:45.00ID:B69th+8G
仮想サーバーがイメージつかめないんだよな
そもそも、vagrantって言葉の意味もわからんしな
0500デフォルトの名無しさん
垢版 |
2018/06/29(金) 07:00:02.38ID:fLw6tHLK
業務系はどこもこんなもんだよ
経営者がITよくわかってないから設備投資には消極的
エクセルとエディタが動けば開発できるだろ贅沢言うな経費削減だって本気で考える
0503デフォルトの名無しさん
垢版 |
2018/06/29(金) 19:06:08.95ID:KCXh18yp
Dockerを使っていてもAnsibleのような仕組みはやっぱり必要なんだな
コンテナを起動した後に起動をポーリング待ちして初期設定処理を動かさなきゃならんコンテナが多すぎる
リポジトリからコードcloneしてupすればローカル開発環境のセットアップ完了なんてのは儚い夢だった
0504デフォルトの名無しさん
垢版 |
2018/06/29(金) 20:38:57.27ID:ISSgYOxU
Ansibleのようなでかい仕組みはいらないけどね。
シェルスクリプトもしくはシェルスクリプトベースのなにかで良い

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

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

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

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

よりも

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

この方が楽でしょ?

特に一つのマシンで複数のアプリ・サービスを動かそうとしたとき、
そのアプリ・サービス毎に必要な環境が異なっていたら大変になる
それぞれが必要なライブラリのバージョンが異なっていて動かないとかね
0509デフォルトの名無しさん
垢版 |
2018/06/30(土) 04:29:06.89ID:M0wFt4mj
cronも良く分からないが、使う?
動作確認だけなら、cronで叩く処理を動かせば良いような
0510デフォルトの名無しさん
垢版 |
2018/06/30(土) 06:32:44.17ID:UBF/c/En
>>507
普通にcronからDockerコンテナ化した
プログラム実行するだけじゃん
何が使えないの?
使い方が間違ってるだけじゃないの?
0511デフォルトの名無しさん
垢版 |
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のほうが楽でしょってこと
0512デフォルトの名無しさん
垢版 |
2018/06/30(土) 09:32:43.17ID:EEI2bAzw
>>508
うん、主にDB
DBに設定データを保存するパターンのアプリも必然的に同じ状況になる

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

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

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

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

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

サーバーの設定を行ってる人(Ansibleの設定書いてる人)に、
あ、これこれのライブラリ入れてください。バージョンはこれで。
アプリのバージョン更新するんで、Ansibleであれとこれ更新してください。
え?動かない。手元ではちゃんと動いてるんですが?
ライブラリのバージョン違ってるじゃないですかー、ちゃんと入れてくださいよー
あんたのミスですよ。
なんてことあってはならない
0515デフォルトの名無しさん
垢版 |
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. [アプリ開発] 開発環境構築を完成させる

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

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

古いけどファミコンのカセットを新しいサーバに刺しなおすだけ
0518デフォルトの名無しさん
垢版 |
2018/06/30(土) 18:03:48.84ID:EEI2bAzw
つまり

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

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

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

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

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

インフラ担当は、アプリ開発をしなくていいんだよ?
0523デフォルトの名無しさん
垢版 |
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】 アプリ設定

覚えること、仕事増えてるよね?
0525デフォルトの名無しさん
垢版 |
2018/07/01(日) 00:21:42.91ID:uZDpH5tc
>>522
だってすべてAnsibleだけでできるわけないじゃん。
インフラさんはAnsible使ってるだろうけど、
アプリ開発者は別の言語使ってるよね?

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

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

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

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

所詮Ansibleは作られたアプリに対して設定を行うだけで、
Dockerのようにアプリ自体を改善・強化することはできない
アプリをDockerコンテナ化するだけでいろんなOSで動かすできるのも
アプリ自体の改善・強化の一つだな
0528デフォルトの名無しさん
垢版 |
2018/07/01(日) 03:17:51.52ID:uZDpH5tc
>>527
だから使い方を完全に間違ってる
Dockerはアプリに実行環境を埋め込んで、完全体のアプリを作ること
exeファイルの中にdllなどを埋め込むのと近い

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

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

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

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

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

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

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

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

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

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

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

Dockerはシェルスクリプトベースだしね
0535デフォルトの名無しさん
垢版 |
2018/07/01(日) 13:19:42.19ID:Qn9lbnal
そう必要なときに使えばいいんだよ

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

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

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

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

はい、大道芸w

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

そもそもそんな手順はいらない
ロール用意したんでそれ使ってくださいで終わり
0538デフォルトの名無しさん
垢版 |
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を使ったほうがいい
0539デフォルトの名無しさん
垢版 |
2018/07/01(日) 17:28:34.87ID:uZDpH5tc
訂正&補足

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


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


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

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

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

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

やりとりはjsonのみなのでそのへんもちゃんと吸収されてるとは思うのですが
変なところではまりたくないので事前に確認したいです
0552デフォルトの名無しさん
垢版 |
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やライブラリなど)を抽象化して見せているだけ
0553デフォルトの名無しさん
垢版 |
2018/07/05(木) 10:12:02.23ID:PwFNAHcP
訂正

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

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

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

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

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


上の方にいる、誰かが作ったアプリをパッケージングして配布することだけしか考えてないやつには
わからんだろうね。だから配布するならansibleで十分じゃんという発想になってしまう。
Dockerはアプリ開発者のためのツールですから
0557デフォルトの名無しさん
垢版 |
2018/07/05(木) 11:37:29.66ID:s/7ffhjx
何度もすいません

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

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

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

また開発時はデバッグ用のモジュールが必要になる。
ログの表示とかデバッガの実行とか。
本番環境と揃えるのは、開発面ですごく効率が悪い
アプリ開発してない、単に配布しかしてないやつにはそれがわからない
0560デフォルトの名無しさん
垢版 |
2018/07/05(木) 13:01:45.08ID:PwFNAHcP
>>557
Windowsもタスクトレイのアイコンから設定できるだろ?
Docker Toolboxはどうなってるのかしらんが。
0561デフォルトの名無しさん
垢版 |
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を使わないからなんだ
0563デフォルトの名無しさん
垢版 |
2018/07/05(木) 14:37:12.16ID:1V9Bip0s
>>561
Dockerといえど環境バグは結構あるよ
まあ仮にDocker間で100%互換性があると譲歩したところでテスト、本番が非Dockerなら開発にDockerを使うのはリスクしかない
0565デフォルトの名無しさん
垢版 |
2018/07/05(木) 15:03:35.76ID:PwFNAHcP
>>563
本番もDocker使うに決まってるでしょw
っていうか、Kubernetesとか使ったことある?
Docker前提だからね。もう大規模はDocker前提の時代になってる
0568デフォルトの名無しさん
垢版 |
2018/07/10(火) 10:00:57.15ID:86tCne/Q
GKEもECS+Fargateも使える、この世の中でdocker使わない意味もないし、さすがにmanagedに対してansible使う機会は減ってきたと言わざるを得ない
0570デフォルトの名無しさん
垢版 |
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は便利だけどブラックボックスすぎて一度問題起きると自分で全く解決できないのが辛い
0571デフォルトの名無しさん
垢版 |
2018/08/05(日) 16:25:49.27ID:7Eiwzs5v
よく分からんなら問題解決なんてしないでコンテナ作りなおしちゃおーぜってのがdockerの基本中の基本
根本原因を調べないと再発するのでは?って思うかもしれんけどそのたびに作りなおせば問題ないよね
0573デフォルトの名無しさん
垢版 |
2018/08/07(火) 23:32:53.48ID:WUtnzCvr
>>572
だから再発するまでは問題ないんだよ
「昨日までは普通に動いてたのに」ってことはコンテナを立ててからしばらくは正常に動いてるってこと
その間だけサービスを提供してダメになったら(なりそうだったら)予備のコンテナに切り替えるってわけ
コンテナ切り替えたら元のコンテナは破棄して次の予備コンテナをスタンバらせる
0577デフォルトの名無しさん
垢版 |
2018/08/08(水) 15:11:49.43ID:FOgunlIR
エラーの原因はコンテナと共にバイナリの海の藻屑となる。。。
積み重なったコンテナはやがて墓場を形成し、次第に人々はこう呼ぶようになった。。。
「どっかー(行っちゃった)の墓場」と。。。
0579デフォルトの名無しさん
垢版 |
2018/08/09(木) 21:19:10.45ID:s67NkejU
そういやWindowsコンテナってあんま話題にならないけどどうなんだろ
XP、.NET 2.0、正体不明の自社・他社COMライブラリ、Excel.Applicationなどが仕事してる古いシステム
まるごとコンテナ化して隔離できんかな
0582デフォルトの名無しさん
垢版 |
2018/09/24(月) 19:46:38.93ID:R7V+zLhQ
内容読む限りKubernetesクラスタとかDockerサーバのセキュリティ甘いやつ狙ってそいつらにデプロイさせてるんだと思う
まぁ自作と公式以外信頼しないのは重要だと思うけど
0584デフォルトの名無しさん
垢版 |
2018/10/10(水) 14:24:27.56ID:+MpVqK9H
virtualboxの上で直接に動いてるLinuxと
virtualboxの上にのってるVagrant上で動いてるLinux

この2つのLinuxって挙動とか変わってきたりしますか?
C言語とかシェルスクリプトのテスト環境として全く等価なんでしょうか?
0586デフォルトの名無しさん
垢版 |
2018/10/10(水) 17:11:43.59ID:qywSzTWT
>Vagrant上で動いてるLinux
Vagrantは、仮想OS ではないので、Linux は、Vagrant上で動かない

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

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

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

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

例えばローカル開発環境を構築するという抽象に対してDockerあるいはVagrantという具象が有る
もちろんそういう意味ではホストに必要なパッケージをインストールするだけの素朴な構成も比較検討に値する
完全仮想化とコンテナ仮想化は違う技術だから比較に値しないなんてのは表層しか捉えられないなにもわかってない人の発想なんだね
0606デフォルトの名無しさん
垢版 |
2018/10/13(土) 21:48:14.00ID:An0DfPZD
技術が違うんじゃなくて、目的が違う
ここまで理解能力がないと、本当に話にならない。
0607デフォルトの名無しさん
垢版 |
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は環境構築ツールでしかない
目的が全然違っている。
0608デフォルトの名無しさん
垢版 |
2018/10/13(土) 23:33:44.26ID:YNebL+WU
>>606
目的なんて無数にあるだろ
自分が考える目的以外の目的が存在するということすら想像できないようじゃ話にならない
本当に話しにならない
0609デフォルトの名無しさん
垢版 |
2018/10/13(土) 23:37:37.63ID:An0DfPZD
そうやって一般論でごまかすのやめーや

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

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

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

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

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

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


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

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

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

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

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

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

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

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

自然だね

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

アホかこいつ
0617デフォルトの名無しさん
垢版 |
2018/10/14(日) 00:06:49.52ID:RzJcTIeH
>>613
極論すればそうだな

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

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

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

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

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

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

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

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

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

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

前言撤回かよwwww

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

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

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

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

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

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

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

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

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

日本語では、WSL のirb は、MSYS2 よりも正常に動く
0665デフォルトの名無しさん
垢版 |
2018/12/01(土) 07:43:14.49ID:R+goIYNS
うーん正確な用語がわからない・・

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

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

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

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

その常識に、赤い巨人が挑む!w
0671デフォルトの名無しさん
垢版 |
2018/12/12(水) 19:59:55.07ID:02lWEJYc
VirtualBoxとVagrant を使って開発って
WEBアプリケーション以外にも使われることはあるんですか?

例えば、スマホアプリとか。
0675デフォルトの名無しさん
垢版 |
2018/12/20(木) 07:07:45.57ID:S5A+WF/L
vagrant/terraform
container linux
ansible
docker
kubernetes
Istio
gcp/aws/azure
この辺のキーワード聞くことが多くなってきたが覚えること大杉てしぬ
0676デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:13:09.57ID:C76SXNc4
クラウドでコンテナを運用するとしたら規模の小さめなサービスでもk8sが鉄板なんすか?
0678デフォルトの名無しさん
垢版 |
2019/02/25(月) 14:14:19.25ID:N3uaxGmA
vagrantのguestosをオフライン環境でバージョンアップさせる方法教えてください
0679デフォルトの名無しさん
垢版 |
2019/03/01(金) 01:33:46.52ID:vZN7gNkq
本番運用の環境でDockerCE (Docker for Windows) の Linuxコンテナを使ってるんだけど、
たまにポートフォワードがうんとも寸とも言わなくなることがあるんだけど、そういうもん?

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

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

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

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

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

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

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

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

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

よくよく考えてみるとアホな顧客にエビデンス要求された時に
有料サービスに丸投げした結果を提供してOKもらうことはたびたびあるので
自分でも似た使い方してたなw
自分でそれがエビデンスという強い言葉に値すると思ってないから思いつかないんだなあ。
0692デフォルトの名無しさん
垢版 |
2019/03/03(日) 14:34:26.16ID:PCCGC897
issueだらけだもんなぁ
本番には到底耐えきれないよ
本番で使わないならってんで開発でもDockerを使わなくなる
だから実務で役に立つのはVagrantとAnsibleになる
0693デフォルトの名無しさん
垢版 |
2019/03/03(日) 14:43:33.70ID:LWbZmqMl
>>692
issueの数で判断できるなら、世の中のメジャーなライブラリやフレームワークはみな使えないことになる
0694デフォルトの名無しさん
垢版 |
2019/03/03(日) 15:04:33.53ID:PCCGC897
ライブラリやフレームワークに不具合があってもアプリケーションとしてのテストを通過すれば問題はない
でもDockerみたいなのになるとテストしきれないから安易に使えない
0700デフォルトの名無しさん
垢版 |
2019/04/07(日) 22:47:05.10ID:KmDkztEg
初心者なんじゃがコンテナ内のphpmyadminから別コンテナのMySQL叩くの難易度どれくらい?
0703デフォルトの名無しさん
垢版 |
2019/04/08(月) 21:09:35.64ID:SeD3ldgI
本当かぁ、?何回かネットや本のコピペしてるけどMySQLとphpmyadmin連携取れないぞ、?
0705デフォルトの名無しさん
垢版 |
2019/04/08(月) 22:14:51.00ID:SeD3ldgI
>>704
この後またチャレンジするんだけど皆さん普通に連携取れて出来てるのよね?
本の丸コピが何回やっても動かないし何かMySQLの認証系が怪しいんだが
0707デフォルトの名無しさん
垢版 |
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
0711デフォルトの名無しさん
垢版 |
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
0712デフォルトの名無しさん
垢版 |
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
0713デフォルトの名無しさん
垢版 |
2019/04/20(土) 09:43:35.04ID:4fcRoJkz
クラスタ運用だとボリュームの扱いが難しい

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

どうにかならんかねこのジレンマ
0714デフォルトの名無しさん
垢版 |
2019/04/20(土) 10:01:01.50ID:OSkkX2tB
>>713
だからクラウド使うんだよ

ストレージはクラウドサービスが提供しているものを使う
ストレージ用のコンテナは作らない
0716デフォルトの名無しさん
垢版 |
2019/04/20(土) 11:37:12.99ID:4fcRoJkz
クラウドストレージでも結局は同じなのでは?
例としてS3をVolumeとしてマウントしたとして
このVolumeはローカルストレージのVolumeよりも遅いしパーミッションとかで変なトラブルが起きやすい
この性質はイントラのストレージサービスとクラウドのストレージサービスでそう違いがあるとは思えない
0718デフォルトの名無しさん
垢版 |
2019/04/20(土) 12:04:41.14ID:OSkkX2tB
>>716
だからボリュームとしてマウントしたりしない。

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

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

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

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

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

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

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

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

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

↑アホみたいだろ?

やり方を変えないなら、今までのやり方をするしか無いんだよ。
諦めな
0723デフォルトの名無しさん
垢版 |
2019/04/20(土) 12:44:59.88ID:4fcRoJkz
>>722
設計を見直すと言われても他社製だからな…
従来のようにバックアップとリストアをしっかり整備して多少のリスクを受け入れるぐらいしか思い浮かばん
ダウンタイムはともかく直近のデータロストは怒られそうできつい
0731デフォルトの名無しさん
垢版 |
2019/06/06(木) 12:33:59.71ID:JqHKbft5
5人のチームのローカル開発環境を同じにしたい場合VagrantとDockerどちらが楽だろ?
VagrantfileとDockerfileのどちらが簡単かという話になるのかな?
0732デフォルトの名無しさん
垢版 |
2019/06/06(木) 20:02:59.18ID:CyvVQuy9
そりゃあVagrantだろ
変なトラブルが少ない
開発デスクトップも仮想化できる
環境の再現性がたかい
Linux+Windows混在も楽々

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

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

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

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


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


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

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

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

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

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

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

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

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

使う目的が違うのだから、どちらを使うか?っていう話にはならない
0741デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:02:43.90ID:XICmRaWP
>>738
もう今は本番環境でDockerを使うのは常識

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

開発環境用VM(Vagrant)と本番環境用VM(Vagrant)の
2つを作るのは重いだけ
0742デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:04:50.40ID:XICmRaWP
訂正

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

本番環境用VMといってしまうと、これを本番環境で使うように思えてしまうので訂正
実際の本番環境はVagrantでは作らないので、本番環境そのものにはならない
高い再現性を求めるなら、開発環境でも本番環境でもDockerを使うのがベスト
0743デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:07:20.25ID:XICmRaWP
開発環境と本番環境が違っていても
Dockerコンテナは同じですよーっていうのが
Dockerを使うメリットなわけだ
0748デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:43:28.93ID:XICmRaWP
vagrantは "開発環境を作るためだけ" のものだが
Dockerはソフトウェ開発全般で使う
0749デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:45:35.65ID:P4iafl1G
k8sのdocker依存は解消されたって聞いてたんだけど…?
0750デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:46:54.32ID:XICmRaWP
Vagrantはこれから使われなくなっていくよ。俺はもう使ってない。
ローカル開発環境を同じにしたい場合にはたしかに便利だが、
ローカル開発環境を同じにする必要がなくなってきてる。
そういう意味ではVagrantを使わないほうが良いと言える。
0752デフォルトの名無しさん
垢版 |
2019/06/06(木) 23:51:42.77ID:CyvVQuy9
>>748
Vagrantは本番環境でも使えるしDockerを使わない開発も未だに無数にある
Dockerのメリットは確かに大きいがそれなりのデメリットも同時に抱え込んでしまう
Dockerでやるべき明確な理由がないなら使う必要はない
0755デフォルトの名無しさん
垢版 |
2019/06/07(金) 00:01:11.20ID:AQMF0uU1
Dockerの使い方でも変なやつがいるけど
本来想定してない用途なのに、使えそうだから使おうというのは
その技術を正しく理解してない証拠なんだよな
0756デフォルトの名無しさん
垢版 |
2019/06/07(金) 00:04:50.40ID:ON5ugDpH
VagrantにできてDockerではダメな典型例だとAnsibleなど構成管理ツールの開発・テスト環境を作るときなどがあるね
当たり前だけどOSの様々な機能が制限されるコンテナは仮想マシンの代替にはなりえない
0757デフォルトの名無しさん
垢版 |
2019/06/07(金) 00:10:21.60ID:AQMF0uU1
だからVagrant(というよりVM)とDockerはどちらかを使うものじゃなくて
両方組み合わせて使うものだという話になる。

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

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

>>758
だから君のDocker万能論はちゃんちゃらおかしいということだよ
開発環境は開発対象をよく理解して適切に選ぶこと
全部DockerでOKなんてことはありえない
0760デフォルトの名無しさん
垢版 |
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を使っている。
なるほど、これは良い発見だ!

(独り言)
0761デフォルトの名無しさん
垢版 |
2019/06/07(金) 00:33:40.26ID:AQMF0uU1
>>759
> だから君のDocker万能論はちゃんちゃらおかしいということだよ

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

そんなこと言ってない。

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

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

俺はAnsibleとDockerを組み合わせて使うなんて一言も言ってない。
俺の主張?俺が何を主張したっていうんだ?
0765デフォルトの名無しさん
垢版 |
2019/06/07(金) 00:57:44.41ID:AQMF0uU1
>>764の組み合わせて使うっていうのは、

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

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


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

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

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

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

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

ぽかーんw

スレの前半でDockerを使わない話してるよね?
お前、スレの後半しか読んでないの?
スレの後半だけで判断しちゃった?w
0774デフォルトの名無しさん
垢版 |
2019/06/07(金) 01:10:05.02ID:ON5ugDpH
>>771
やれもクソも君の目の前のブラウザか専ブラかをちょっとスクロールして見るだけだよ
俺がやることなど何もなく君が自分のレスを見るだけだ
それを俺が代行してやることは物理的にできない
0777デフォルトの名無しさん
垢版 |
2019/06/07(金) 01:14:11.19ID:AQMF0uU1
>>776
何度も何度も何度もVMとDockerは組み合わせて使うと言ってる

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

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

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

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

また俺が言ってないことを言い出した。
0783デフォルトの名無しさん
垢版 |
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を使わないと困難だと言ってる
0785デフォルトの名無しさん
垢版 |
2019/06/07(金) 12:34:44.50ID:Ka/jlwAK
ぬるぽ
0787デフォルトの名無しさん
垢版 |
2019/06/07(金) 22:55:03.79ID:wtNNzOUb
そのゲームのプロセスID か何かを取得して、

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

WSLでDockerは動かない
次の大型アップデートでWSL 2が実装されるけどそっちではDockerも簡単に動かせる
Docker for WSL 2のサポートも決定事項
こっちの必要スペックはわからん
0793デフォルトの名無しさん
垢版 |
2019/06/23(日) 17:24:00.79ID:p0iHiqR8
今のvirtualbox使ったwindows dockerはクソだと思うが
Docker for WSL 2 は期待していいんでないかな。
0800デフォルトの名無しさん
垢版 |
2019/06/28(金) 07:41:19.81ID:CM5w69Yd
wsl2のアーキテクチャ、hyper-v必須に見えるんだけどhome切り捨てか?
0801デフォルトの名無しさん
垢版 |
2019/06/28(金) 08:25:14.99ID:gNXTX/eF
はぁ、homeも対応するって発表しただろ
hyper-vのサブセットを提供するって。少しは調べろよ
0802デフォルトの名無しさん
垢版 |
2019/06/28(金) 11:26:39.93ID:fSH27hWb
>>801
マジかサンキュー!
俺の調査完了だぜw
0803デフォルトの名無しさん
垢版 |
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になっていません。」とエラーが出て終了してしまいます。
どうすれば通常通り起動できるようになるでしょうか。
どなたか心当たりある方いらしたらお教えいただけないでしょうか・・・。
0807デフォルトの名無しさん
垢版 |
2019/07/06(土) 00:04:09.57ID:qTbAmWeM
dockerのimageファイルをブラウザからダウンロードできるサイトないですか?

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

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

上に投げつけて、上の責任にするんだよ。
0812デフォルトの名無しさん
垢版 |
2019/07/06(土) 08:44:23.73ID:auWtVfNl
>811
理屈はわかるがそんなこと実際にするのはかなり丁寧に組織的根回ししないと無理だろ。
そんなことができるくらいならこんなとこに相談こねーわ。
0814デフォルトの名無しさん
垢版 |
2019/07/06(土) 09:17:32.46ID:lAN9BSHL
小さい組織でやってるとこういう苦労はわからないものさ
責任が小さいから自由もある
0817デフォルトの名無しさん
垢版 |
2019/07/06(土) 11:40:56.15ID:O76mcSig
解決するかしないかは関係ないんだよ。
上の責任にしろって話。

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

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

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

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

ルールの存在理由を考えない。
ルールを守ることが目的となってる。
0822デフォルトの名無しさん
垢版 |
2019/07/06(土) 13:32:36.26ID:lAN9BSHL
>>821
>という思い込み
という末端の思い込み

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

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

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

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

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

理由が書いてない校則が多い
0828デフォルトの名無しさん
垢版 |
2019/07/06(土) 21:48:53.04ID:auWtVfNl
上がそこまで理解力あったら7payみたいなことは起きんわ。
現実見ないと幸せそうでいいよね。
0829デフォルトの名無しさん
垢版 |
2019/07/06(土) 22:15:52.49ID:TeKNePWD
うちの会社もフィルタリングはされてるけど、
正当な理由つきで解除申請すればホワイトリストに登録してくれて
アクセスできるようになるよ。

合理的判断のできる会社ならこれが当たり前だし
それができない会社にいるなら
奴隷の鎖自慢なんかしてないでさっさと転職した方がいい。
不合理がまかりとおるのが当たり前になった会社なんて
長期的に見れば没落するに決まってるから。
0831デフォルトの名無しさん
垢版 |
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が上手く作られていない気がしまして・・・
0832デフォルトの名無しさん
垢版 |
2019/07/17(水) 08:54:52.34ID:ycSiezB+
WindowsでVOLUMEは鬼門・・・

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

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

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

なんでそうみんなYAMLで書いて第三者が作った変換フィルタのバグや非対応の項目で
悪戦苦闘したがるかね? ネイティブの設定ファイルを使えばいいじゃん。
0838デフォルトの名無しさん
垢版 |
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がどこの馬の骨かわからん
公式にサポートされるのとサードパーティツールで補完できるのはやっぱ違うよ
公式ならシームレスでコンパクトにまとまるから使いやすくなるしあれもこれもと手を出さずに済む

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一番広く使われてるだろうが。
0849デフォルトの名無しさん
垢版 |
2019/08/03(土) 20:20:07.16ID:+6ISjjVu
>>846
でそのDockerfile使った方法がクソッタレだから馬の骨がサードパーティツールとか使い出してしまった
これは明らかに公式の失態だな
さっさとマルチプロセス管理の仕組みを提供すべきだった
0851デフォルトの名無しさん
垢版 |
2019/08/03(土) 20:22:53.38ID:eOXqQaf9
> でそのDockerfile使った方法がクソッタレだから馬の骨がサードパーティツールとか使い出してしまった

あぁ、出すやつは出すだろうな。
んで、使われてるのか?w
誰も使わんだろ
0853デフォルトの名無しさん
垢版 |
2019/08/03(土) 20:26:50.56ID:eOXqQaf9
結局、YAMLから公式設定ファイルへのコンバーターを使った所で
何もメリット無いわけ

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

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

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

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

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

お前の言う優れたラッパーってどれよ?w
それは一対一で変換しないんだろ?
そのラッパーにはラッパー特有のトラブルや制限が一切ないんだろう?
さて、優れたラッパーなんて存在するかなーw
0857デフォルトの名無しさん
垢版 |
2019/08/03(土) 21:06:56.28ID:k1ZymNgl
>>853
某エディタのAnsible拡張を導入したらオートコンプリートが効いてこりゃ便利!と感じたがメリットじゃなかったのかコレ?
0859デフォルトの名無しさん
垢版 |
2019/08/03(土) 21:14:05.18ID:eOXqQaf9
>>857
オートコンプリートなら別にAnsibleとは無関係に使える。
例えばDockerfileのオートコンプリートだって存在する。

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

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

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

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


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

俺が言ってるのは公式が提供している標準のやり方をしろというだけ
間に変な変換ツールを入れて、その制限にぶち当たって悩まなくて良くなる
0863デフォルトの名無しさん
垢版 |
2019/08/03(土) 21:31:23.14ID:+6ISjjVu
>>858
buildargsを使う
修正してモジュールにコミットする
シェル系モジュールを使う

回避する方法がいくらでもあるから安心だなぁ
0865デフォルトの名無しさん
垢版 |
2019/08/03(土) 21:37:49.05ID:+6ISjjVu
>>861
飛行機落ちるかも怖いから乗らないって駄々こねる子供と同じだなこりゃ
大人はメリットもリスクも比べて飛行機に乗る

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

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

非公式のやり方じゃなくて、公式のやり方をしろと言ってるだけ
0869デフォルトの名無しさん
垢版 |
2019/08/03(土) 22:26:01.09ID:+6ISjjVu
>>866
仕事は別だ
ごく稀に回避が必要な時にわずかな労力で回避するというだけのことだ
たったそれだけの事を過剰に恐れて便利なツールが中でやってることを全部自前でやるなんてよっぽど暇なのかな
まあ車輪の再発明も仕事といえば仕事か
0871デフォルトの名無しさん
垢版 |
2019/08/03(土) 22:56:40.59ID:eOXqQaf9
> たとえとしては十分だ

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

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

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

設定も同じことだ
0875デフォルトの名無しさん
垢版 |
2019/08/04(日) 01:24:31.62ID:2JKmG3Fw
>>873
俺の意見を間違えてるw

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

YAMLで設定を書いたら、できることが減ってバグが増えてる。
それに対してメリットがない。
0877デフォルトの名無しさん
垢版 |
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は最新版にしております。
0878デフォルトの名無しさん
垢版 |
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ディレクトリが削除される)
0879デフォルトの名無しさん
垢版 |
2019/08/07(水) 02:03:56.17ID:wfV3IAlm
最後までお読みいただきありがとうございました。
どなたかわかるかたいらしたら宜しくお願い致します・・・。
0885デフォルトの名無しさん
垢版 |
2019/08/24(土) 11:10:34.44ID:lCI+FPsg
helmのテンプレートってすごく汚くて読みにくい
うまくYAMLにするためにインデント数を`Indent 12`みたいにしてテンプレートで指定とか正気かよ
なんか良い代わりのやつ無いの?
0888デフォルトの名無しさん
垢版 |
2019/08/25(日) 00:58:14.70ID:VV5KPKj8
臨時雇い要員にもdockerを使わせたいのだけどよけいな権限は与えたくない時はどうすればいい?
ホストもコンテナ内も一般ユーザーのみ許可できればいいのだけどそんなことできんのかね
0889デフォルトの名無しさん
垢版 |
2019/08/25(日) 03:53:54.44ID:hoACBN+G
>>888
その臨時雇い要員に専用のパソコンを与えれて
そのパソコンは自由に使っていいけど、本番環境へのアクセスは禁止すればいい
0890デフォルトの名無しさん
垢版 |
2019/08/25(日) 07:11:30.55ID:VV5KPKj8
>>889
仮想端末を含めて専用のPCを用意することが出来ません
複数名でログインする端末です
機密情報を扱う別のユーザーと共有してます
0891デフォルトの名無しさん
垢版 |
2019/08/25(日) 07:27:40.02ID:G4x5ZGgB
> 仮想端末を含めて専用のPCを用意することが出来ません

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

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

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

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

自己を認識してないようだからはっきり言ってやる。
お前のところは機密情報を扱う資格がないし、守ることすら出来ない。
大切なものを守る意識も欠けてるし、やるべき正しいこともわかっていない。
今何も問題が起きてないのは運がいいだけだ。
0895デフォルトの名無しさん
垢版 |
2019/08/25(日) 07:45:18.41ID:G4x5ZGgB
>>894
例えば10階建てビルを作る技術はある。
みんなそれを作るための技術と道具を持ってる。

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

技術的に不可能じゃなくて、クレーンを買うことができないことが
出来ない理由だっていってんの。ちゃんと認識しろって
0896デフォルトの名無しさん
垢版 |
2019/08/25(日) 07:46:47.45ID:G4x5ZGgB
目的を達成する方法はいくつもあるが
「金が無い」なら、無理じゃねと言うしか無い
0902デフォルトの名無しさん
垢版 |
2019/08/26(月) 00:04:01.79ID:JShuaBEZ
個人でDockerを入れてそこで自己完結させればいいだけだろ。サーバーからコンテナのコピーで済む話。

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

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

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

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

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

これだけ
0906デフォルトの名無しさん
垢版 |
2019/08/26(月) 02:35:28.97ID:rnlkvQrj
>>904
かんたんなこと。
なんちゃってセキュリティだから決まってるのは
「root権限は禁止」

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

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

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

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

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

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

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

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

押し通そうとしてるのが自分じゃなく上なら、そんな理不尽な職場は放棄して転職すべき。
0918デフォルトの名無しさん
垢版 |
2019/08/28(水) 08:51:22.17ID:Dqewl7QB
macOS版のDockerで、docker buildがたまにフリーズするバグの回避方法ない?
このバグのせいでテストがまともに出来なくて困ってる。
WindowsやLinuxでは発生しない。
タイムアウト仕込んでリトライさせるしか無いかな
0919デフォルトの名無しさん
垢版 |
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
0921デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:26:59.23ID:mDli60SR
つうか本当にmac限定バグなのか
単に速度が遅いだけなのではと思った
for Macはディスクアクセスがやけに遅い気がする
0922デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:32:44.71ID:Dqewl7QB
>>919
やってないけど、関係ないわ
docker clientのバグだから
0923デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:33:17.71ID:Dqewl7QB
あとdocker buildのバグな
0924デフォルトの名無しさん
垢版 |
2019/08/28(水) 20:35:18.65ID:Dqewl7QB
>>921
mac限定のバグ。WindowsとLinuxでは
今まで1セット100ビルドを何十回もやっていて出てなかった
0925デフォルトの名無しさん
垢版 |
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回ぐらい流してみてくれ
0926デフォルトの名無しさん
垢版 |
2019/08/28(水) 21:57:22.78ID:Dqewl7QB
>>925
それはLinux版バイナリだからうまくいくよ。
ただね、100回ビルドするだけで3分もかかるんだよ。普通なら30秒。
「1セット100ビルドを何十回もやる」ような場合はちょっと苦痛
更に言うと「Windows」でもやるのでボリュームは使いづらい
それにしてもなんでmac版だけ壊れてるかな?
0928デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:02:48.52ID:Dqewl7QB
各ディストリ、言語やライブラリのバージョンの違いの
組み合わせでテストしてるから
0930デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:29:52.82ID:Dqewl7QB
>>929
いつかhomebrewとかaptとか無くなって
全部docker上で動くようになる時代がくるといいですね^^;
0933デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:37:10.79ID:4Zzob7TG
なんか話がおかしい。
確かにホストの方はどうにもならんことはあるだろうが、
ゲストの中身をいろいろなディストリビューションで実装する意味が分からん。
0934デフォルトの名無しさん
垢版 |
2019/08/28(水) 22:42:10.97ID:Dqewl7QB
ゲストの中身をいろいろなディストリビューションで実装するなんて言ってないぞ
いろんなディストリビューションで(Dockerを使わずに)動かすんだよ。

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

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

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

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

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

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

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

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

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


運用が何の関係があるのかさっぱりわからん
(バグを)運用でカバーすれば大丈夫だからバグじゃない!とか言うつもり?
バグはバグだよ
0967デフォルトの名無しさん
垢版 |
2019/09/20(金) 09:43:47.50ID:Fc+ApEcD
>>966
再現や英語書きで2時間くらいは最低でもいるから
1人月150万円だと2万円は必要な作業なわけだがもしかしてタダで人を使おうってこと?

ホントに仕事として請け負うならやり取りのフォローアップも考慮して10万円コースよ。
0969デフォルトの名無しさん
垢版 |
2019/09/20(金) 10:36:59.64ID:y2zR5WSk
>>964
>バグはバグだよ

とはいえユースケースが想像しにくいテストコードでのバグってのは
みんな対応したくないもんで。

もっと重いコンテナでも同じように落ちる?
特定のコンテナだけだったりする?
0972デフォルトの名無しさん
垢版 |
2019/09/20(金) 13:22:02.17ID:fQRmEVoK
>>969
> とはいえユースケースが想像しにくいテストコードでのバグってのは

ユースケース? docker buildのユースケースがわからないの?

docker buildを行うとn%の確率で固まるっていう不具合なんだけど
運が悪ければ、1回目で固まる。
0973デフォルトの名無しさん
垢版 |
2019/09/20(金) 13:23:14.51ID:fQRmEVoK
>>969
> もっと重いコンテナでも同じように落ちる?
自分で試せよ。どんなイメージも関係ない
docker buildがまれにフリーズするというバグ
0974デフォルトの名無しさん
垢版 |
2019/09/20(金) 13:28:01.02ID:fQRmEVoK
お、誰か書き込んでるなw

ただクラッシュじゃないんだよね。
おそらく排他制御とかでデッドロック状態にでもなってるんだろう
18.xまでは問題ないから19.xのBuildKit周り(の並列処理)が怪しそう
0975デフォルトの名無しさん
垢版 |
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

と初めからから書くとみんな幸せだと思う
0977デフォルトの名無しさん
垢版 |
2019/09/20(金) 23:28:50.99ID:+K3cd4WX
issue出てるなら一旦待ちだろ。
kubernets関係の起動しないトラブルも2年近く治ってない。

windowsやmac版はそんなもの。
0978デフォルトの名無しさん
垢版 |
2019/09/22(日) 12:08:32.64ID:8mgJSnoC
なるほどパイプラインのタイミングの問題とか全く分からず使ってるバカなんだな。
0979デフォルトの名無しさん
垢版 |
2019/09/22(日) 12:56:50.94ID:aP0HRBTF
固まったり固まらなかったりすることと
パイプラインの問題(?)と何の関係があるの?

そもそも、お前が知ってるパイプラインの問題って何さ?
0980デフォルトの名無しさん
垢版 |
2019/09/25(水) 13:55:55.59ID:vrhM55u6
みんなサーバサイド開発してる人が多いだろうからDockerが人気なんだろうけど、俺的には「macOSコンテナ」が欲しいな
特定のプロジェクトをビルドする環境を構築したり保存したりできたらいいのにな
0981デフォルトの名無しさん
垢版 |
2019/09/25(水) 18:21:33.20ID:wN1JzOl2
Windowsは「Windowsコンテナ」があって、DockerもWindowsコンテナに対応してるけど、
macOSにはコンテナってないのか?

曲がりなりにもUnixなんだからchrootはあるはずだが、
プロセス分離するとかそれ以外の機能が足りないのか?
0982デフォルトの名無しさん
垢版 |
2019/09/26(木) 22:02:57.78ID:NGtUWv0T
GUI無しで使うメリットがほぼ無いから
作る人が居ないだけなんじゃないかと
0983デフォルトの名無しさん
垢版 |
2019/09/26(木) 22:21:01.51ID:KBLIPb+H
正確にはMacはGUIなしじゃ使い物にならない。
LinuxとWindowsはCUIだけでも使いものになるから
コンテナがある。という話?
0984デフォルトの名無しさん
垢版 |
2019/09/26(木) 22:40:37.29ID:1PonavB4
いや、WindowsよりmacOSの方がCLIなツールは充実してるよ。
単にAppleにコンテナ技術に関するやる気がないってだけの話。
0986デフォルトの名無しさん
垢版 |
2019/09/26(木) 23:49:38.59ID:1PonavB4
・WSLは追加で入れる必要があるけどmacOSは最初から一通り入ってる
・WindowsのネイティブGUIアプリと
WSLは別のサブシステムで動いていてやり取りに制限があるのに対し、macOSのネイティブGUIアプリとCLIツールは同じ世界で動いてるのでそういう制限がない

のでmacOSの方がまだちょっとCLI環境的には強い
0987デフォルトの名無しさん
垢版 |
2019/09/27(金) 00:13:25.85ID:VsKeB+lq
OS本体のコンテナ化に関する話でしょ。Macはブランドに固執してるからOSをコンテナにする事はなさそうだ。同じ理由でOSをPCで動かない設定にしてるわけだし
0988デフォルトの名無しさん
垢版 |
2019/09/27(金) 00:16:23.44ID:gw9G43bu
>>986
> ・WSLは追加で入れる必要があるけどmacOSは最初から一通り入ってる

MacのCLIはApple非公式のHomebrewを別途入れないとまったく使い物にならんぞ
0989デフォルトの名無しさん
垢版 |
2019/09/27(金) 00:26:49.54ID:gUp/eX0U
今Macで開発してるような技術者はUnixやCUIが好きだからWindowsよりMacを選んでると思うね
となると仮想Linuxベースになろうが抵抗感が無いからMacネイティブへの需要はなかなか少なくんじゃないのかなぁ
0990デフォルトの名無しさん
垢版 |
2019/09/27(金) 00:34:34.08ID:gw9G43bu
重要なのはいまMacで開発してる人じゃなくて
今Linux向けアプリ(クラウド関係はゲームも含めてほぼ全て)を
作ってる人はLinuxを選ぶってことだよ。
MacはBSD系だから今の時代少数派に分類される
0991デフォルトの名無しさん
垢版 |
2019/09/27(金) 00:36:42.95ID:gw9G43bu
BSD→Linuxは割と簡単
Linux→BSDはストレスが溜まる

なぜならBSDのコマンドはLinuxのものと比べて低機能だから。
さらにLinuxの情報が使えない上にBSDの情報が少ない
BSDといってもFreeBSDとかとも違うから実質Macだけの情報しか使えない
0992デフォルトの名無しさん
垢版 |
2019/09/27(金) 01:09:54.72ID:QYhXKz12
>>988
まったくというわけでもない。
WSLなしのWindowsに比べれば、素のmacOSの方が100倍くらいは便利。
0993デフォルトの名無しさん
垢版 |
2019/09/27(金) 04:35:44.43ID:vRUnFoYy
>>991
>BSD→Linuxは割と簡単
>Linux→BSDはストレスが溜まる
>
>なぜならBSDのコマンドはLinuxのものと比べて低機能だから。
一丸には言えない

>さらにLinuxの情報が使えない上にBSDの情報が少ない
manが読めない人にはそうかもね

BSD→Linuxソフトウェアが古すぎて腰を抜かす
0994デフォルトの名無しさん
垢版 |
2019/09/27(金) 04:48:12.80ID:JpyEjYqI
なんでWSLなしのWindowsと比べるんだろう?

それってエンジンなしの自動車に比べれば
自転車のほうが速いって言ってるようなもんやでw

> 一丸には言えない
いえるいえる。全部低性能

> manが読めない人にはそうかもね
manもLinuxの方が多い。それにBSDだと--helpがめっちゃ少ないしw

> BSD→Linuxソフトウェアが古すぎて腰を抜かす
古いのって例えば何?
0995デフォルトの名無しさん
垢版 |
2019/09/27(金) 05:13:53.10ID:vRUnFoYy
BSDをまともに使ったことがないのはよーくわかった
ssh,nginx,bash,zsh,tmux,mariadb,python,named,postfix,syslogd,clang,h]gccほぼ全部において古い
manが追いついてないコマンドいくつあると思ってんよ
0997デフォルトの名無しさん
垢版 |
2019/09/27(金) 06:05:12.94ID:JpyEjYqI
BSDの何が駄目かって、POSIXで規定されてる
基本コマンドが貧弱なんだよ。
最低限しか実装されていない。
よく使う基本コマンドだから困る
0999デフォルトの名無しさん
垢版 |
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を超えています。これ以上書き込みはできません。

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