探検


Docker Part3

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
2019/03/08(金) 14:40:20.55ID:VDOvuQ0J
LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。

http://www.docker.io/

前スレ
Docker Part2
https://mao.5ch.net/test/read.cgi/linux/1506574845/
2019/11/10(日) 11:11:08.37ID:VIhv4B2u
念の為いっておくが、仕事全体としてインフラのことを考慮してないんじゃなくて、
アプリ開発者の帽子をかぶってるときには、インフラのことを考えなくていいって意味だぞ
インフラ技術者の帽子をかぶってるときは、逆にアプリのことは考えずにインフラのことを考える

一人で担当してるからって、ごっちゃにして考えるなよw
2019/11/10(日) 11:11:48.12ID:KPJdW8/s
>>147
>Dockerを導入すると、そういう困ったことが無くなるって話
>そこを理解すべきところなのに、Dockerの役割勘違いしてるから
>それが解決されるってことがわかってないんだろ?
>本場環境の違いっていうのは、単にインフラのスペック・能力、インフラの構成が違うだけにしか見えない。

じゃあやっぱり、Dockerで開発「機」を作ってるじゃん。
2019/11/10(日) 11:12:14.99ID:xpJeV64E
>>133
>>>128
>VM vs Dockerとなってる時点でやばい
>VMとDockerは組み合わせて使うもの。

ちょっとまてw
Dockerを複数動かすより、VMを複数立てていったほうが良いだろ?
ってのが、最初の問いかけじゃなかったっけか?
2019/11/10(日) 11:13:13.80ID:VIhv4B2u
それをどう読めば開発「機」の話になるんだ?
わけがわからん。

> てか、そんなやり方で環境の差異とかで困った事は無いの?
↑ってお前が聞いたんだから、
お前は困ったことがあるんだろ?
って思ったら困ったこと無いって言うしw
2019/11/10(日) 11:13:29.01ID:KPJdW8/s
>>152
いやいや、俺が困ってるとか、俺が考慮するとかじゃなくて、
君達何を考えてるのかね?と言う話だったんだが。
2019/11/10(日) 11:16:00.80ID:KPJdW8/s
>>156
わけわかんねー。

本場環境の違いっていうのは、単にインフラのスペック・能力、インフラの構成が違うだけにしか見えない。

といっているのは開発したときの環境と、本番環境の差がなくなったからだといっているんだろ?
で、その開発環境は自分で作ったんだろ?要件にあわせて。
2019/11/10(日) 11:16:08.54ID:VIhv4B2u
>>155
> Dockerを複数動かすより、VMを複数立てていったほうが良いだろ?

だから、VMは(システム全体としての)性能を上げるために
複数立てるんだよ。

Dockerは、その性能の話と全く関係ない。
仮想マシンだろうが物理マシンだろうが関係なく、
(Dockerサーバーが動いてる)そのマシンに簡単に配布できますよ。

従来インフラ担当者に渡していた
「アプリを正しく動かすための手順書」はいらなくなりますよ。
インフラ担当者が四苦八苦してトップページ表示までたどり着く作業は
いらなくなりますよ。っていうのがDockerを使う理由だから
2019/11/10(日) 11:19:46.31ID:VIhv4B2u
>>158
> といっているのは開発したときの環境と、本番環境の差がなくなったからだといっているんだろ?

「差がなくなった」とは何の話をしてる?
どうも、全く同じマシンを手に入れた。って言ってるように見えるんだがw

開発環境と本番環境が違っていても(Dockerサーバーさえ動いていれば)
その環境の差を気にしなくていいと言ってる。

差がなくなったのではない。差を気にしなくてもいい。
(Dockerサーバーの上だけを見れば、差がなくなったとも言えるのは正しいが)

> で、その開発環境は自分で作ったんだろ?要件にあわせて。
開発環境なんて手元のMacとかだろw

まあ、別にどこでもいいがね。Dockerサーバーさえ動いていれば
Dockerイメージにした自分が作ったアプリは問題なく動くので。
2019/11/10(日) 11:24:14.73ID:VIhv4B2u
なんかもう、根本からズレてる気がするんだよなw

なんか本番環境と同等の開発環境を作って
そのマシンにリモートでログインしてアプリを開発する
みたいな発想をしてるように見える

まあ、昔はそれをやっていたので人のこといえんけどな
本番環境サーバーを模した開発環境サーバーにSSHログインして開発してた

違うねんw 今の開発はそうじゃないねんw
どこでもやれるねん。そんな専用環境なんか作らなくて良くなったんだよ。
Dockerのおかげでね。手元の開発環境がMacであろうとWindowsであろうと
本番環境とどれだけ性能などの差があろうと

(開発環境、もしくは本番環境)のDockerサーバーの上では
性能の違いがあるだけで同じように見えるんだよ。
162login:Penguin
垢版 |
2019/11/10(日) 11:26:52.24ID:lF4IP4va
まだサーバーを家畜ではなく
ペットのように可愛がってるおじさん?
2019/11/10(日) 11:28:45.59ID:KPJdW8/s
>>161
>なんかもう、根本からズレてる気がするんだよなw

>なんか本番環境と同等の開発環境を作って
>そのマシンにリモートでログインしてアプリを開発する
>みたいな発想をしてるように見える

発想をしている、では無い。
これに対する利点を述べてくれ、とずっと要っているのだが?
それに対する利点に合点がいかなければ、その環境を例に挙げて
反論を述べている。・・・すると、おかしな勘違いする奴がいる。
2019/11/10(日) 11:30:53.00ID:xpJeV64E
>>161
俺、Docker便利だよ派だけど、
あなたの言い分だと、ID:KPJdW8/sが言う、
VMでいいじゃん。に対する反論になってなくない?

>違うねんw 今の開発はそうじゃないねんw
>どこでもやれるねん。そんな専用環境なんか作らなくて良くなったんだよ。
>VMホスト環境のおかげでね。手元の開発環境がMacであろうとWindowsであろうと
>本番環境とどれだけ性能などの差があろうと
>
>(開発環境、もしくは本番環境)のVMホスト環境の上では
>性能の違いがあるだけで同じように見えるんだよ。
165login:Penguin
垢版 |
2019/11/10(日) 11:46:46.44ID:DMFKw9iR
仮想マシン配布より
プライベートレジストリでDockerイメージ配布の方が楽だし
速いし
同じCPUアーキテクチャならどのLinuxディストリでも動く
Nested VirtualizationのないAWSにもそのまま持ち込める

そもそも仮想マシンには
予めPHPとかインストールされたベースイメージがない
そこから自分でやるのはちょっとめんどくさい
2019/11/10(日) 11:47:03.47ID:VIhv4B2u
>>164
どの言い分に対するレスなのか知らんけど、

俺は最初から、仮想マシン(VM)とDocker(コンテナ)は
組み合わせて使うと言ってる。

Dockerがあれば仮想マシンはいらないとか言ってない。
どういう反論をすれば良いんだ?

使い方が違うとしか言いようがない。
VM作るだけだとアプリの配布が面倒だろって言えばいいのか?
VMだけじゃ"足りない"だろ。としか言えんぞ?
2019/11/10(日) 11:52:29.17ID:VIhv4B2u
>>163
> これに対する利点を述べてくれ、とずっと要っているのだが?

利点? お前、客から要件聞いて、そこから開発環境
(専用の開発サーバー)作るお仕事をしてますって言ってるじゃん?

俺からすればなんでそんな事してるんだ?って言う話だから
利点と言うなら、要件聞かないと開発環境が作れませんなんてことにはなりません。
開発環境を作るコストが減りますといえばいいのかな?

開発環境だけの話をしてるのが謎だけど

Dockerを導入すれば(開発環境に限らず)どんな環境にでも容易に変更できます。
"本番環境"を要件(負荷等)に応じて、自社サーバーにするのも
クラウドにするのも、環境を用意に変更できます。
(という話の環境の中に開発環境も含まれてる)
2019/11/10(日) 11:59:14.64ID:KPJdW8/s
>>167
>>130実際の開発を行い
>>137実際の開発を行い
>>140実際の開発を行い

何度も書ているんだが、日本語読める?
てか、お前、馬鹿なんだから俺の質問にレスすするな。
おかしなレッテルの上で話を進めるから訳がわからない。
他の人はまあ、読んでると思うけど、お前は全部的を外している。
2019/11/10(日) 12:15:08.94ID:KPJdW8/s
>>142
何か、話が飛躍しすぎている気がする。流行りだし>>128が言うようにVMは
やがて鯖側で化石になるだろうから、Dockerで運用してみようかな?
と思わない事も無い。でもこんなにデカイのは要らないんだよなぁ・・・
2台のWeb or Socketサーバーを平日の繁忙時間だけ3台にしてくれるような
ツールは無いですかね?
2019/11/10(日) 12:21:53.09ID:VIhv4B2u
>>169
DockerとKubernetesの話は別だ。分けて考えてくれ。

Dockerは配布が楽になる。どこでも動かせるようになる。
そのどこでもの中の一つにKubernetesで構成した大規模なインフラも含まれるってだけ

開発したアプリがどこでも動かせるから、手元のMacでも
本番環境の物理マシンでも仮想マシンでもKubernetesで作った
クラスタ環境でも簡単に動かせるってだけ。

別にKubernetes使うのは必須じゃない。Kubernetes使ったからって
簡単になるもんでもない。逆に難しい。Kubernetesが生きるのは大規模な本番環境であって
2台のWeb or Socketサーバーを平日の繁忙時間だけ3台にしてくれるような
ツールなら、クラウドの仮想マシンオートスケールの設定でもして
その上で「Dockerコンテナを」動かせばいい。


というふうに組み合わせて使うんだよ・・・
Dockerは配布が簡単になるだけのものなんだから
2019/11/10(日) 12:22:17.61ID:VIhv4B2u
>>168
で?
2019/11/10(日) 12:27:37.97ID:VIhv4B2u
>>169
> 流行りだし>>128が言うようにVMは
> やがて鯖側で化石になるだろうから

上でも言ってるけどならんよ。

(Docker)コンテナはいくら数を増やしたって
システムの性能は上がらないんだから。

システムの性能を上げるために必要なのは
(マシンスペック強化は別として)VMの台数を増やすこと

まあクラウド側の提供として、コンテナを動かすための環境を提供して
その環境ごとに課金するタイプなら見た目上、VMはなくなったように見えるが。
でもVM単位の課金か、コンテナ環境単位の課金かの違いになっただけやねw
17371
垢版 |
2019/11/10(日) 22:00:08.36ID:hNrQ9NRe
亀です。
軽くレスおってるだけで提言なんだけど、配布とか楽なのはわかる。
compose upすればいいだけ。すごく楽。

だけど保守には向かないんだよ。docker自体にログがドカドカ出す機能はないし、中のアプリケーションから何らかのものを出さないといけない。
dockerのネットワークもEsxiとかに比べたら柔軟に構築できないし、障害対応に当たるメンツの教育コストも考えなきゃいけない。

立ち上げだけ上手くいくテスト環境にはいいけど本番環境はやっぱり難しいと思う
2019/11/10(日) 23:34:17.67ID:KPJdW8/s
>>173
>docker自体にログがドカドカ出す機能はないし
ログ自体はdocker-compose logs -f で見れるじゃん。

>dockerのネットワークもEsxiとかに比べたら柔軟に構築できないし
これやね。
Dockerは何故ルーター噛ます事がデフォルトになっているのか?
DD-WRTとかCiscoのXRVとかをそれこそ「コンテナとして」提供するならまだしも、
(ESXiはそれが出来る)勝手にルーター込みで作るとかマジで止めて欲しいわ。
アクセス自体もOSによっては「名前の解決を行っています」に1秒くらいかかって遅い気がする。

>立ち上げだけ上手くいくテスト環境にはいいけど本番環境はやっぱり難しいと思う

これだと、結局Dockerは開発者のおもちゃ程度じゃん。
2019/11/11(月) 00:21:42.06ID:0/0z68zi
>>173
>docker自体にログがドカドカ出す機能はないし
いつものなにか勘違いしてる系だよw

「あなたが作った開発アプリのログ出力機能」を
Dockerのせいにするのはおかしいと気づかなきゃいけない。

開発アプリのログを出す責任は、アプリ開発者にあるでしょ?
標準出力と、標準出力エラー出力(あとファイル)を出せるんだから
ドカドカだすのはアプリ開発者の仕事だよ

> 立ち上げだけ上手くいくテスト環境にはいいけど本番環境はやっぱり難しいと思う
そういう基本を理解してない人が、間違った話をした上で、難しいと言っても説得力がない

>>174
> Dockerは何故ルーター噛ます事がデフォルトになっているのか?
ルータを噛まさないで可搬性が作れるなら、提案してみれば?

ともかく、どんなサーバーでも動かせるということは、
そのサーバーで他のコンテナが動いてる可能性もある。
だからアプリがポート番号決め打ちだとかぶって困るよね。
つまりDocker自身がポート番号の変更機能を持ってなきゃいけないんだよ。

アプリ側で変更可能にしておくのが常識だけど、それだとアプリごとにやり方が異なる
そういうのをコンテナとしてまとめて、Dockerが可搬性をもたせると主張してるのだから
Dockerの仕事になる。そこでルーティング機能がでてくる。
2019/11/11(月) 00:42:22.33ID:KWmDlLck
>>175
>ルータを噛まさないで可搬性が作れるなら、提案してみれば?

ESXiのゲストOSは(AmazonのEC2も)ルータなんか噛まさないだろ。
2019/11/11(月) 01:06:56.91ID:0/0z68zi
>>176
なんでアプリの可搬性と関係ない
ゲストOSの話なんか出てくるの?

どこでも(俺の手元のMacでも)そのゲストOSとやらが動くとでも言うのか?
2019/11/11(月) 01:07:55.77ID:0/0z68zi
それにゲストOSだけ動いてもしょうがないんだけどなw
アプリがなければただのOS
2019/11/11(月) 04:37:27.59ID:KWmDlLck
>>178
お前のレスは兎に角、的外れ。
それしか感想は無い。
俺以外にもそう思っている奴はいる筈
2019/11/11(月) 08:39:24.72ID:0/0z68zi
的外れと言うばかりで、具体的な指摘なし
2019/11/11(月) 09:43:28.79ID:KWmDlLck
それは馬鹿にしゃべってもしょうがないから♪
2019/11/11(月) 09:52:15.16ID:0/0z68zi
という書き込みを見た人がどう思うか?
反論できな人という烙印だよ
2019/11/11(月) 10:17:00.48ID:KWmDlLck
一向に構わんね。
妄想して変なレッテルを前提に、判っても居ない癖に
禄でもない話する奴に教えてあげる必要は無い。
俺さえ分かっていればそれで良い。
2019/11/11(月) 11:41:48.99ID:rpyMzwNX
>>120
ライブラリーやヘッダの依存関係が衝突するツールチェーンの環境作ってビルドするのにいいよ(´・ω・`)
例えば、MinGW-w64クロスツールチェーンとMinGW向けのビルドをする、llvmクロスツールチェーン(´・ω・`)
2019/11/11(月) 11:48:04.65ID:0/0z68zi
本番環境でも開発環境でも
同じDockerイメージを使えるのは便利だね
18671
垢版 |
2019/11/14(木) 05:02:43.88ID:pJpBijFV
>>175
アプリケーションじゃなくてシステム運用保守の点でdocker自体の挙動の話。
>>174
すまん。logs -fは忘れていた。。。

もしdockerで管理するんだったらSNMPはホスト側で見とくんか?
あとグラフィカルな管理をお願いされたらportainerとかは限界あるけどみんなどう考えているんだ?
2019/11/14(木) 05:17:15.41ID:UYzAkhIS
>>186
Dockerで作ったものはアプリだってわかってるか?

お前が言ってるのは、exeを実行した時のSNMPをどうすればいいんだとか
いうわけがわからん話をしてるんだが

お前が作ったアプリがあるだろ?そこに単にDLLをくっつけただけ。
アプリが動いているかを確かめたいなら、
そのアプリに対してヘルスチェックでもすればいいだろ
188login:Penguin
垢版 |
2019/11/14(木) 22:51:20.87ID:5w0W9exo
Ubuntu18.04でAndroid版Mozcのapk作ろうと思ってるんだけど、
なんでDockerが必要なの?
C++だけで出来ないの?

Build Instructions
How to build Mozc in Docker: Android, NaCl, and Linux desktop builds.
How to build Mozc in OS X: OS X build.
How to build Mozc in Windows: Windows build.
2019/11/14(木) 23:02:23.44ID:5J9mUBHW
>>188
Dockerの中にまとまってる「構築手順」を
お前がそのまま実行すればできるよw

構築が簡単にできるように
Dockerでビルド環境を整えてるんだろ
そういうときに使う道具なんだから
2019/11/14(木) 23:03:18.79ID:5J9mUBHW
つくづくDockerはアプリ開発者のための道具だってわかるよなw

仮想マシンの代替だと思ってると、こういう使い方が思いつかない。
191login:Penguin
垢版 |
2019/11/14(木) 23:40:17.13ID:5w0W9exo
なんか知らんが、いっぱいインストールして
環境ぐちゃぐちゃにならないように、Docker使ってるの?

まあ、Dockerインストしてやったほうが楽なのかな?
2019/11/15(金) 01:11:02.79ID:v0WAyrLU
Docker自体は、デーモン常駐させるのにあんまし向いてないような気がする…
193login:Penguin
垢版 |
2019/11/15(金) 01:26:14.20ID:B8H5uf6m
ちょっと質問なのですが、
Dockerの中でやったほうがいいというのはわかったのですが、
mozc.pyというのはどこにあるのですか?
ファイルが見当たりません
https://github.com/google/mozc/blob/master/docs/build_mozc_in_docker.md
2019/11/15(金) 01:40:01.19ID:OT68/gV4
海のもずくとなったのだ
195login:Penguin
垢版 |
2019/11/15(金) 01:57:40.85ID:B8H5uf6m
ありました、すみません。
mozc-master/srcにありました。

Docker使わずにPythonコマンドうったら

$ python build_mozc.py gyp --target_platform=Android
INFO: Generating version definition file...
INFO: Version string is 2.23.2815.103
CRITICAL:
==========

CRITICAL: GYP does not exist at /home/user_name/mozc-master/src/third_party/gyp/gyp_main.py.
Please run "git submodule update --init" to check out GYP.
If you want to use system-installed GYP, use --gypdir option to specify its location.
e.g. "python build_mozc.py gyp --gypdir=/usr/bin"

CRITICAL:
==========

となりました。
どうすればいいですか?
2019/11/15(金) 04:45:41.79ID:E8h29lNR
どっかーとかんけいないので
どっかーにいってください
2019/11/15(金) 08:24:47.38ID:ijiYYYu1
>>187
相変わらずズレた事言ってんなコイツは・・・。
2019/11/15(金) 08:26:05.89ID:KYbcJ9F4
>>197
じゃあお前が反論しろ
何も言い返せないのにグチグチレスだけしなくていい
2019/11/15(金) 10:09:47.04ID:ijiYYYu1
>>198
ズレている、が反論以外の何者でもない。

>お前が作ったアプリがあるだろ?そこに単にDLLをくっつけただけ。
>アプリが動いているかを確かめたいなら、
>そのアプリに対してヘルスチェックでもすればいいだろ

何を言ってるんだお前は・・・。
2019/11/15(金) 10:36:32.18ID:KYbcJ9F4
なるほど。その内容が反論できる限界ってわけだ。
2019/11/15(金) 10:41:28.22ID:Se8qUwOH
>>195
そういうふうにならないためにdockerがあるんですがね
2019/11/15(金) 16:49:32.92ID:KFqjiKrH
Docker Hub から、好きなコンテナを探せば良いだけだろ

そしたら、その中に環境一式が入っている
2019/11/15(金) 20:07:55.96ID:KYbcJ9F4
好きなコンテナ探して使うとか、そういう使い方じゃないよ。

Docker Hubのコンテナの正しい使い方は
1. Docker公式が用意しているものを使う
2. ディストリ公式が用意してるものを使う
3. 何らかのアプリであれば、そのアプリの公式が用意してるものを使う

それ以外は、参考イメージに過ぎない。
そんな環境が入ってるかもしれないとか思って探すものじゃないw
204login:Penguin
垢版 |
2019/11/16(土) 04:47:26.32ID:SNHSHops
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> aaaaaaaaa 10 minutes ago 5GB

となってしまってるのだが、

$ sudo docker run -it --name nonedocker none /bin/bash

だと起動しない。
ImageID指定して起動する方法ないの?
205login:Penguin
垢版 |
2019/11/16(土) 05:07:38.86ID:SNHSHops
出来ました
なぜnoneになってしまってたのだろう・・・

あと、ググっても出てこないのだが、
docker内でsudo apt install unzipやろうとしても
パスワードが分からなくて出来ません。

デフォルトパスワードってなんですか?
パス設定してないのだが
2019/11/16(土) 06:01:58.78ID:c+cyy5cT
>>205
docker内で実行するのではなく、
Dockerfileを書きましょう。
2019/11/16(土) 08:21:33.99ID:/wQVztcY
そういえばみんな手書きでDockerファイル書いてる?
バッシュヒストリーとか行動をDockerファイル化するツールとか存在するの?
2019/11/16(土) 08:26:36.38ID:c+cyy5cT
手作業はたいてい試行錯誤するのにその内容がそのまま使えるわけ無いだろw
イメージの構築手順をコード化できるのがDockerのいいところなのに
必要なとこだけメモっとけよ
209login:Penguin
垢版 |
2019/11/16(土) 08:35:45.35ID:aXw+ZntQ
>>205
元々UbuntuとかDebianベースのDockerイメージにはsudoさん入ってなくね?
Dockerコンテナ内での実行ならexecする時にユーザー変更出来るからパスワードもない

rootユーザーなら須藤さんなしでaptを実行できるが
docker execで実行してもコンテナを消した時に消える
コンテナって、儚い

普通はベースイメージに何か追加するときはDockerファイルに書いて
Dockerfileを配布か
CIツールにDockerイメージのビルドとレジストリへのプッシュをさせて
レジストリのURLを配布
2019/11/16(土) 08:41:21.71ID:c+cyy5cT
>>209
execのときにユーザー変更なんてあまりしないなぁ。
普通はユーザー変更するならDockerfileのUSERで変更する。

たまにアプリがrootでは動かないようになってて
そういうときにUSERで一般ユーザー権限になるぐらいだな

そういうイメージをメンテナンスするときぐらいか?
execでユーザー変更するのは。

ともかく、またDockerイメージをVMの代わりに使おうとしてるような臭いがするが
DockerっていうのはDockerfileを使ってイメージを作るものだよ
アプリの配布を楽にするために、アプリにユーザーランドを全てくっつけるために使う。
sudoが必要になることはまず無い。
2019/11/16(土) 09:28:40.98ID:KYjs1Plb
>>205
コンテナイメージは何をお使いですか?
sudoなしで試してみるとどうですか?
2019/11/16(土) 15:07:13.24ID:M11z94Ko
管理者は、CentOS なら、ユーザーをwheel グループに追加するのでは?
visudo で、/etc/sudoers を開いて編集するとか、間違えると恐ろしい手順!

Debian 系は、知らないけど

>>207
ヒストリーは、head .bash_history と入力すると、
以下のように行区切りで、コマンドが表示される

だから、こういう単純なテキストファイルを作って、Docker に含めて、コピーすれば?

man unzip
exit
man gunzip | less
exit
2019/11/17(日) 16:34:04.52ID:DepsKVcB
>>212
別にlivebootで /etc/sudoers あたりをいじればいいでしょ。
214login:Penguin
垢版 |
2019/11/18(月) 02:59:04.91ID:fwqLgOPw
これやってMozc/Androidをインストールしようとしてます。
https://github.com/google/mozc/blob/master/docs/build_mozc_in_docker.md


Set up Ubuntu 14.04 Docker container

$mkdir ubuntu14.04 && cd ubuntu14.04
$curl -O https://raw.githubusercontent.com/google/mozc/master/docker/ubuntu14.04/Dockerfile
$sudo docker build --rm -t $USER/mozc_ubuntu14.04 .
$sudo docker run --interactive --tty --rm $USER/mozc_ubuntu14.04

をやりました。

次に、
$sudo docker run -it --name docker1 012345abcde /bin/bash
でDockerにコンテナを作り、ログインしました。


Build Mozc for Android:

$python build_mozc.py gyp --target_platform=Android
$python build_mozc.py build -c Debug android/android.gyp:apk

をやりました。
mozc.pyというファイルがないです。
ビルド出来ません。どうしたらいいですか?

ちなみにwget使えないのでファイルダウンロードできません。
apt installも出来ません
2019/11/18(月) 05:11:31.78ID:526otgY3
> $sudo docker run -it --name docker1 012345abcde /bin/bash
> でDockerにコンテナを作り、ログインしました。

そんな手順があるわけない
2019/11/18(月) 06:33:49.23ID:526otgY3
スレ違いだしリンク先を読む気はさらさらないが、
Dockerを使ったビルドでやることは決まってる。

1. Dockerのインストール。Dockerを使う以上これは自分で準備する必要がある。
2. ビルドスクリプトを動かす言語、つまりその場合はpythonを準備する必要がある。
3. ビルドスクリプト。ソースからのビルドならソースに付いてるだろ。

以上。準備するのはこれだけ。
まともなビルドスクリプトであればDockerを直接触ることはない。
せいぜい不要になったものを削除するぐらいだろう

ビルドに必要なものは勝手に準備してくれる。
Dockerコンテナの中に入って作業することなど無い
2019/11/18(月) 07:56:02.68ID:ESYqS5lO
>>214
プログラミング少年?

子供には優しく教えてあげよう。
>Build Mozc for Android:
>
>python build_mozc.py gyp --target_platform=Android
>python build_mozc.py build -c Debug android/android.gyp:apk
って書いてあるよ。
中学生以上なら頑張って英語読もうね。
2019/11/18(月) 07:57:34.77ID:ESYqS5lO
おっと、俺は日本語を読んでなかった。
手順にコンテナに入れなんて書いてないよ。
2019/11/18(月) 10:46:05.98ID:C4AZd6Pu
Dockerの利点のlibに依らないってスタティックビルドすりゃええやんって気もする
2019/11/18(月) 10:54:21.15ID:NkkjQGwg
>>219
ウェブサービスで使われるスクリプト言語は
ソースファイルがそのまま必要だし、
バイナリにできるとは限らないし、例えバイナリにできたとしても、
ffmpegコマンドを呼び出すなんてのはスタティックビルドにできないし
考えが浅すぎるよ
2019/11/18(月) 12:48:26.38ID:yWgPvH2u
>>220
全体的に同意だが
ffmpegはバイナリ置いとけば呼び出せるのでは?
2019/11/18(月) 12:52:17.51ID:rYgoyQ9U
そのffmpegが依存しているものは?
apt-getで簡単に入るものに対して頑張ってスタティックビルドするの?
ffmpegは依存してるものが多すぎてビルドはかなり大変なんだが
2019/11/18(月) 13:39:47.60ID:3lFA7L7g
いやそもそもDockerという環境の為に普通のビルド方法を変更すること自体
どうかと思うが?Docker以外の環境ではMakefile書き直すの?
2019/11/18(月) 14:33:41.37ID:3lFA7L7g
>>214
そもそもこれ、最初のビルドは上手くいくの?
gitにアップしたのが2017年12月?
ssl絡みでdocker buildがエラーになるはずだけど?
2019/11/18(月) 15:38:00.63ID:rYgoyQ9U
>>223
Dockerは環境じゃないんだが?
この場合は、buildってやったら、ビルドバイナリを生成するツールってだけ
2019/11/18(月) 16:43:57.10ID:3lFA7L7g
>>225
dockerが環境で在るかどうかなんて、どうでも良い話。
単にDockerのためにMakefileを書き換えるというなら違和感を感じる
といっているだけ。
2019/11/18(月) 16:58:16.40ID:rYgoyQ9U
>>226
わざとやってんのか本気で馬鹿なのか
後者なんだろうけど、お前の言うMakefileの中で
Dockerを使ってビルドしてるだけの話
2019/11/18(月) 17:00:30.59ID:rYgoyQ9U
スタティックビルドの話でもそうだが
C/C++の開発経験しか無いんじゃないだろうか
経験が浅すぎる
2019/11/18(月) 17:01:13.27ID:rYgoyQ9U
makeだけがビルドツールではない。
ヒントな
2019/11/18(月) 17:07:27.72ID:3lFA7L7g
>ffmpegは依存してるものが多すぎてビルドはかなり大変なんだが

こんな紛らわしい書き方するからだろ。
configure一発でいけるなら別に大変でも何でもない。
2019/11/18(月) 17:09:34.70ID:rYgoyQ9U
> configure一発でいけるなら別に大変でも何でもない。

configure一発でいけないから大変
2019/11/18(月) 17:14:47.57ID:rYgoyQ9U
Docker使えば普通にapt-get使って、それをそのまま一つのイメージにすることができる。
このイメージを使えばどの環境でも同じように動く。

どの環境でも動くようにするために、スタティックビルドすればいいじゃんと言うが、
オレオレビルドなんて、今の時代はやらない上に、
スタティックビルドにするために、いろんなライブラリをかき集めて
configureを通すとか時間の無駄。

Dockerなら普通にapt-get使って、どこでも動くイメージが作れる。
233214
垢版 |
2019/11/18(月) 20:55:15.76ID:fwqLgOPw
みなさんありがとうございます

>>224
これですね、多分
なんか赤文字連発したり途中で終わってる感抜群だしで、
Dockerfileのビルド自体失敗してるくさい
234214
垢版 |
2019/11/18(月) 20:56:14.75ID:fwqLgOPw
これUbuntu18.04LTS使用だとDockerfile書き直せばいけるの?
てか、Dockerの中身をそのままDocker使わずに普通にコマンドラインで打っても行ける?
235214
垢版 |
2019/11/18(月) 21:00:34.90ID:fwqLgOPw
dockerfile見るとこうなってるじゃん

$ apt install -y clang python pkg-config git curl bzip2 unzip make

やっぱ、これらのコマンドすらインストールされてないから、ビルド失敗してるわ
コマンド打ってもコマンドなしになるもん
236214
垢版 |
2019/11/18(月) 21:04:18.13ID:fwqLgOPw
mozcのDockerfileは、2018年1月更新となってますが、やっぱり古すぎですか?

Update the copyright year to 2018

REF_BUG=
REF_CL=180466480
REF_TIME=2018-01-01T00:00:18-08:00
REF_TIME_RAW=1514793618 -0800
2019/11/19(火) 00:19:14.15ID:TB1GOjb/
>>235
それは全く関係ない
2019/11/19(火) 01:50:39.94ID:H229ozOy
>>232
windows とlinuxでコンテナの互換性ないよ。同一OS上は可能だが、何処でもは無理
2019/11/19(火) 02:00:20.15ID:TB1GOjb/
>>238
だからWindowsとmacOSではLinux仮想マシンを使ってるんだよ。
結果、Windows(とmacOS)上でもLinux用のDockerコンテナがそのまま使える
2019/11/19(火) 02:19:42.59ID:TB1GOjb/
それとWindowsのWSL2では仮想マシンでLinuxカーネルをそのまま使うので
Linux用のDockerコンテナが、公式サポートと言っていいレベルになる。
つまり今はDockerが仮想マシンイメージを作っているが、それが不要になる。

それだけかと思うかもしれないが、大きな違いが2つある。
一つはメモリ使用量。一般的には仮想マシンにある一定のメモリを割り振らなければいけないが
WSL2ではMSがカーネルに手を入れているため、Windowsとメモリを共有できる。
Linux上でDockerコンテナを動かしたのと殆ど変わらないメモリ使用量になる。
これは従来の仮想マシンを使うmacOSでは難しい(ある程度は仮想マシンのメモリを開放しているようだが)

そしてもう一つは、これは俺の予測だが、Ubuntuなどのディストロを使わずに
DockerがWSL2上でそのまま動くようになる可能性がある。
今、Dockerが提供しているDockerサーバーはHyperV上でDockerDesktopVMという
Linuxカーネルを使用するための軽量仮想マシンを動かしているが、
WSL2では複数のディストロがLinuxカーネルを共有する。

Dockerが動作するのに必要なのは、原則としてLinuxカーネルだけなので
WSL2でLinuxカーネルがすでに動いているとしたら、理論上はDockerサーバーは
WSL2の/initから直接起動することが可能となる。
将来のDockerは今のUbuntuと同じように、Microsoftストアからインストールする
単体のサーバーアプリ相当になるだろう。
2019/11/19(火) 02:22:53.22ID:TB1GOjb/
>>238
あと、当たり前だが、どこでも同じように動くというのは
「"Linux用Dockerが動く環境なら"どこでも同じように動く」という意味だ。
さすがにFreeBSDでもSolarisでもPS5でも動くとかそういう話はしてないw
242214
垢版 |
2019/11/19(火) 21:32:25.81ID:BbWOlht1
mもしかして、Android版Mozcのapk作るのって
ここにあるソースとAndroidStudioだけで出来る?
AndroidStudioならSnapにあるから楽なんだけど
https://github.com/google/mozc/tree/master/src
2019/11/19(火) 21:56:56.17ID:4mU598Ua
もう完全なるすれ違い。
244login:Penguin
垢版 |
2019/11/19(火) 22:18:46.60ID:bNC5wdZW
Docker 19.03.5リリースされたけど、Mac版でまれにフリーズする問題、まだ直ってないね。

for i in $(seq 100); do echo $i; echo FROM alpine | docker build -; done

https://github.com/docker/for-mac/issues/3873
245login:Penguin
垢版 |
2019/11/20(水) 08:58:20.86ID:S7eWFdSu
WSL2がWindows10のSlowRingにも来た

不安定で、かつ頻繁にアップデートするFast Ringじゃなくても
dockerが動かせる
246login:Penguin
垢版 |
2019/11/20(水) 09:05:12.41ID:Ea4P6MqO
ん?前から来てなかったっけ?
別件でfast ringに変えたけど、
ちょっと前までslow ringで試してたはずなんだが
247login:Penguin
垢版 |
2019/11/20(水) 09:07:41.54ID:S7eWFdSu
11月11日に来たみたいだ
ちょっと前と言えば前だけど

https://blogs.windows.com/windowsexperience/2019/11/11/releasing-windows-10-insider-preview-build-19013-into-the-slow-ring/
248login:Penguin
垢版 |
2019/11/20(水) 09:25:06.47ID:Ea4P6MqO
これだな。WSL 2対応のDocker Desktop
https://forest.watch.impress.co.jp/docs/news/1191014.html
2019/11/20(水) 12:28:20.58ID:CdtAMkQV
なんつーかDockerて誕生してから5年経過してると思うけど
未だこんなレベルなのか・・・。
2019/11/20(水) 12:31:30.80ID:ggOPHuIR
>>249
お前は5年前から何も変わってないなw
2019/11/20(水) 13:11:34.50ID:CdtAMkQV
>>250
馬鹿じゃね?お前に何が分かるんだよ?
相変わらずこのスレには禄でもない奴が住んでるな
どっか消えろよ。
2019/11/20(水) 14:53:40.23ID:/X658f56
>>249
未だにWindowsでネイティブ動作しない事?
■ このスレッドは過去ログ倉庫に格納されています

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