DockerはLinuxが持つコンテナ技術を使ったアプリケーション仮想化技術です。
アプリケーションを動かすために必要な各種ライブラリ等を一つのDockerイメージに
まとめることで、さまざまな環境へのデプロイが容易になります。
例えばWindowsやmacOSを使って開発・テストしたDockerイメージを
そのままクラウド上のLinuxの本番環境で使うことができます。
クラウド上の環境が仮想マシンであるため、Dockerは仮想マシンと併用して使うことが多いですが
仮想マシン技術とは無関係の技術です。実際Linux環境において仮想マシンは必須ではありません。
WindowsとmacOSでは仮想マシンを使いますが、これはOSがLinuxではないからです。
Dockerは主にアプリケーションを動かすために設計されているのでデータを保存するのには適していません。
データはDockerイメージの外部、ボリュームを使ってホスト環境に保存するかネットワーク通信で外部サーバーに保存します。
またDockerコンテナは一つのサービスを実行し、複数のサービスが必要な場合はdocker-composeやk8sなどを使って連携させます。
Dockerを仮想マシンの代替として、コンテナ内で複数のサービスを起動しようとすると困難が待ち受けています。
それはDockerの設計方針とあっていないからです。
Dockerイメージ(Dockerfile)はアプリケーション開発者が作成します
動かすのに必要なもの全てがDockerイメージに含まれるので
インフラ担当者はそれを動かすだけ、本来のインフラの作業に集中できるようになります
Dockerは主にウェブ業界でサービスのデプロイの必須技術になりました
情報共有しましょう
http://www.docker.io/
前スレ Docker Part4
https://mao.5ch.net/test/read.cgi/linux/1597591176/
注意 Dockerを仮想マシンの代替として使いたいと考えてる人は、DockerではなくLXCを使いましょう
LXC(Linux Containers)
https://mao.5ch.net/test/read.cgi/linux/1330826939/
Docker Part5
■ このスレッドは過去ログ倉庫に格納されています
2020/12/02(水) 19:13:07.36ID:y3Zdr8oB
2021/01/16(土) 15:06:42.89ID:Q9Gxtc5G
>>320
大した手間じゃないよ
一流は自分達の、多少の手間を惜しんで、ユーザーの負担を、増やそうとはしない
二流は自分達が、ほんの少し楽したいからって、ユーザーに手間をオシツケテル
GitLabは超一流だ
だから、シングルコンテナを選んだ
そのほうが、ユーザーが、楽だからだ
大した手間じゃないよ
一流は自分達の、多少の手間を惜しんで、ユーザーの負担を、増やそうとはしない
二流は自分達が、ほんの少し楽したいからって、ユーザーに手間をオシツケテル
GitLabは超一流だ
だから、シングルコンテナを選んだ
そのほうが、ユーザーが、楽だからだ
2021/01/16(土) 15:08:16.52ID:Q9Gxtc5G
>>321
世界に公開するイメージなら、どの環境でも、簡単な手順で、動いたほうがいいに、決まってる
世界に公開するイメージなら、どの環境でも、簡単な手順で、動いたほうがいいに、決まってる
324login:Penguin
2021/01/16(土) 15:09:08.10ID:kbdLhinp >>322
そんな物誰も求めてないから真似しないんだと思うよ。
そんな物誰も求めてないから真似しないんだと思うよ。
2021/01/16(土) 16:14:05.11ID:xgde4k3r
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock my-awesome-app docker-compose up
326login:Penguin
2021/01/16(土) 17:46:05.64ID:A/RioSjd docker.sockをさらけ出すとあぶない
2021/01/16(土) 20:08:19.27ID:agw/Ae5n
2021/01/16(土) 20:29:43.69ID:xviAIVIh
暇だから適当なこと言ってからかって遊んでるだけだぞ
2021/01/16(土) 20:48:18.87ID:hpTtRYug
GitLabは例外でしかないだろ
GitLabのDockerfileみてみろ、めちゃくちゃ大変なことしてるぞ
あれはそこまで頑張ってでも1コンテナにしたほうが
利用者にとっては便利だから、工数かけてやっただけで
作る側にとっては大変だってことの証明になってる
GitLabのDockerfileみてみろ、めちゃくちゃ大変なことしてるぞ
あれはそこまで頑張ってでも1コンテナにしたほうが
利用者にとっては便利だから、工数かけてやっただけで
作る側にとっては大変だってことの証明になってる
330login:Penguin
2021/01/16(土) 21:13:25.79ID:niX7PYZl GitLabはDockerが推奨する「普通の」やり方で作った非公式イメージが前からあった
あのやり方に疑問を抱く者は少なくなかった
公式helmチャートも出来たようだ
helmでそんな巨大イメージにする必要ないので
普通のやり方で作られてる
あのやり方に疑問を抱く者は少なくなかった
公式helmチャートも出来たようだ
helmでそんな巨大イメージにする必要ないので
普通のやり方で作られてる
2021/01/16(土) 21:17:03.29ID:g9x2r+gF
> あのやり方に疑問を抱く者は少なくなかった
それは使う側から見た話だろ?
作る側はどれだけ大変か、Dockerfileを見ればわかる
それは使う側から見た話だろ?
作る側はどれだけ大変か、Dockerfileを見ればわかる
2021/01/16(土) 21:20:07.53ID:Vaze8PjO
オーケストレーション前提じゃオペレーターも大変だ
オペレーターはレゴブロック遊びに付き合うほど暇じゃない
オペレーターはレゴブロック遊びに付き合うほど暇じゃない
333login:Penguin
2021/01/16(土) 21:25:17.11ID:wiSCvGlT https://github.com/sameersbn/docker-gitlab
GitLab使うならこっちでよくね?
GitLab使うならこっちでよくね?
2021/01/16(土) 21:29:15.94ID:OQ3EdIh9
readmeなっが
お手軽な公式版、使うわ
お手軽な公式版、使うわ
2021/01/16(土) 21:31:40.06ID:g9x2r+gF
な?「使うわ」という使う側の立場でしか見てないんだよ
作る側の大変さの話をしてるのにな
作る側の大変さの話をしてるのにな
336login:Penguin
2021/01/16(土) 21:34:13.07ID:2WB90esU バカの一つ覚えのように一つのコンテナなら手軽に試せるしか言わねえし
何言っても無駄だろ
何言っても無駄だろ
337login:Penguin
2021/01/16(土) 21:36:40.06ID:TWWzREgo338login:Penguin
2021/01/16(土) 21:40:03.44ID:pzrp2Yop redisとpostgresを何らかの手段で起動し
シークレットの暗号化に使う文字列を3つ作れば良い
たったこれだけ
これ以上簡単になりようがない
それを>>332はできないと言って
先程から大騒ぎしている
シークレットの暗号化に使う文字列を3つ作れば良い
たったこれだけ
これ以上簡単になりようがない
それを>>332はできないと言って
先程から大騒ぎしている
2021/01/16(土) 21:43:35.78ID:g9x2r+gF
GitLabはウェブサービスも運営してるが
そのGitLabがそのDockerfileを使ってると思うのか?って話だよな
スケールさせるためには、アプリとデータベースを分離させるのは当たり前だし
Dockerを使うっていうのは、そういうウェブサービスも運営するときの
システムを作るために有るのだから、そういうときにどういう構成にしますか?の
話でサービス毎にコンテナを分けるのは当たり前
作る側の視点がかけてる
これはDockerコンテナを動かすだけの
インフラ屋にありがち
そのGitLabがそのDockerfileを使ってると思うのか?って話だよな
スケールさせるためには、アプリとデータベースを分離させるのは当たり前だし
Dockerを使うっていうのは、そういうウェブサービスも運営するときの
システムを作るために有るのだから、そういうときにどういう構成にしますか?の
話でサービス毎にコンテナを分けるのは当たり前
作る側の視点がかけてる
これはDockerコンテナを動かすだけの
インフラ屋にありがち
340login:Penguin
2021/01/16(土) 21:47:08.37ID:LbH2M5zo ごった煮イメージが本番運用に堪えないって点に異論は無いらしい
2021/01/16(土) 22:02:21.78ID:jF/4b5o1
2021/01/16(土) 22:03:34.26ID:d+XwEvch
コンテナひとまとめが効率的おじさんは放置推奨。
2021/01/16(土) 22:03:42.74ID:jF/4b5o1
2021/01/16(土) 22:12:43.53ID:jF/4b5o1
なーんか、噛み合わねえんだよな
昼休憩にラーメン食いたいなぁ、って思ったら、まあ、カップ麺が手軽でいいわな
そうじゃなきゃ、チョイと割高だけど、ラーメン屋にでも行くかぁ、ってそういう話をしてんだよ
それなのにお前らは、
麺はどこそこの業者から原材料を仕入れて、手打ちが至高だの
チャーシューは、最高級の肉を使い、じっくりコトコト煮込んだものが、究極だ
スープはどーしろ、野菜はあーしろ
よし、一週間まってくれ
最高のラーメンを、食わせてやりますよ!
とまあ、こんな感じ
おいおい、昼休み、とっくに終わってる、つーの!
昼休憩にラーメン食いたいなぁ、って思ったら、まあ、カップ麺が手軽でいいわな
そうじゃなきゃ、チョイと割高だけど、ラーメン屋にでも行くかぁ、ってそういう話をしてんだよ
それなのにお前らは、
麺はどこそこの業者から原材料を仕入れて、手打ちが至高だの
チャーシューは、最高級の肉を使い、じっくりコトコト煮込んだものが、究極だ
スープはどーしろ、野菜はあーしろ
よし、一週間まってくれ
最高のラーメンを、食わせてやりますよ!
とまあ、こんな感じ
おいおい、昼休み、とっくに終わってる、つーの!
2021/01/16(土) 22:20:02.74ID:K7Q8mRub
dockerがどこから収益得てるのか考えたら
単なる1ユーザーがdocker使えるわ〜とかに
なるわけない
配布と奴隷を効率的に使うためにある
単なる1ユーザーがdocker使えるわ〜とかに
なるわけない
配布と奴隷を効率的に使うためにある
2021/01/17(日) 01:00:01.28ID:N6lWNkjM
二択で話をしたって言い争いにしかならねーぞ
2021/01/17(日) 05:42:17.89ID:XuFuvYAj
いつも、Docker をsupervisord とか、
仮想マシンみたいに使おうとする香具師が来て、1日で100レス以上進む。
同じ香具師だろ
1つの関心事につき、コンテナは1つ。
Docker Compose は本番では使えない
そもそもポートフォワーディング方式だと、スケールできないし。
既にポート80番を使っていたら、
8080番とか、ポートを変えないといけないから、ユーザーがアクセスできない
Kubernetes みたいに、cgroup, namespace が無いと運用できない
仮想マシンみたいに使おうとする香具師が来て、1日で100レス以上進む。
同じ香具師だろ
1つの関心事につき、コンテナは1つ。
Docker Compose は本番では使えない
そもそもポートフォワーディング方式だと、スケールできないし。
既にポート80番を使っていたら、
8080番とか、ポートを変えないといけないから、ユーザーがアクセスできない
Kubernetes みたいに、cgroup, namespace が無いと運用できない
2021/01/17(日) 08:17:47.03ID:/DQZFtWw
2021/01/17(日) 10:37:06.28ID:iT7NyvUt
本番swarmでdocker compose使うよ
2021/01/17(日) 20:30:25.56ID:bZXSAVtd
docker desktopからdocker-compose.ymlで書いたものを使ってコンテナ起動する方法を教えてください
351login:Penguin
2021/01/17(日) 20:42:43.49ID:fvYQBEb5 docker-compose up
352login:Penguin
2021/01/19(火) 20:44:52.35ID:G8DOf2K2 nixでDockerfile書かずにDockerイメージビルドしてみた
イメージは作成出来たが、bashの履歴やタブ補完が使えない
なんか設定したら使えるのか?
bash-completion入れてみたが、効果無かった
Dockerfileと組み合わせて使うか、普通にDockerfile使う方が楽かも
イメージは作成出来たが、bashの履歴やタブ補完が使えない
なんか設定したら使えるのか?
bash-completion入れてみたが、効果無かった
Dockerfileと組み合わせて使うか、普通にDockerfile使う方が楽かも
2021/01/19(火) 22:55:16.38ID:4qB/okoY
2021/01/20(水) 01:38:52.84ID:huiLDeTC
>>353
devcontainerも知らんの?
devcontainerも知らんの?
2021/01/20(水) 01:45:13.25ID:eMKfZ4zK
アンチパターンの名前がどうかしたのか?
2021/01/20(水) 01:53:13.57ID:huiLDeTC
アンチパターン?
2021/01/20(水) 06:14:40.34ID:0DdAhH3S
358347
2021/01/20(水) 06:40:15.88ID:SSSAU54j 環境依存するものをコンテナに入れていくと、
その環境では便利だけど、可搬性が無くなる
コンテナを別の環境へ持っていくと、環境依存のために動かなくなるので、
別の環境用への環境構築が必要となり、Docker を使う意味が無くなる
>>347
に書いた、
Dockerに、supervisord などを入れて、
仮想マシンみたいに使おうとする香具師と同じ
WSL2, Ubuntu などで直接構築しているのと同じになってしまう。
Dockerを使う意味がない
その環境では便利だけど、可搬性が無くなる
コンテナを別の環境へ持っていくと、環境依存のために動かなくなるので、
別の環境用への環境構築が必要となり、Docker を使う意味が無くなる
>>347
に書いた、
Dockerに、supervisord などを入れて、
仮想マシンみたいに使おうとする香具師と同じ
WSL2, Ubuntu などで直接構築しているのと同じになってしまう。
Dockerを使う意味がない
359login:Penguin
2021/01/20(水) 07:47:48.53ID:dF9xmUsG サーバーのメンテナンス作業のために
Dockerイメージに仕込んだスクリプトを実行するとか
開発中にbashに入ってデバッグはするだろう
シェル内でTabと上下キーすら使えない
地味に不便
Tabキーやカーソルキーを打つと空白や謎の文字が入力される
>>353
alpine, debianとかはコマンド履歴はちゃんと動くぞ
履歴はコンテナ削除すると失われるけど
Dockerイメージに仕込んだスクリプトを実行するとか
開発中にbashに入ってデバッグはするだろう
シェル内でTabと上下キーすら使えない
地味に不便
Tabキーやカーソルキーを打つと空白や謎の文字が入力される
>>353
alpine, debianとかはコマンド履歴はちゃんと動くぞ
履歴はコンテナ削除すると失われるけど
2021/01/20(水) 08:05:45.91ID:W+xpcSS1
コマンド履歴用などの機能があるシェルが入ってないだけでしょ。入れるだけ。軽量目指すとサンドボックスに近くなって作業性は低下する。
2021/01/20(水) 08:52:54.73ID:huiLDeTC
devcontainerも知らない冬獅郎がイキってたんか
2021/01/20(水) 10:51:37.69ID:SSSAU54j
VSCode の拡張機能で出来ないの?
Remote(WSL, Docker, SSH) とか
Remote(WSL, Docker, SSH) とか
363login:Penguin
2021/01/20(水) 11:09:54.36ID:dF9xmUsG2021/01/20(水) 11:31:00.12ID:eMKfZ4zK
>>359
> Dockerイメージに仕込んだスクリプトを実行するとか
そういうのはね、maintenance.sh とかいう名前で
次のような内容のスクリプトを作って
#!/bin/sh
docker run -it maintenance:1.0 script.sh "$@"
$ maintenance.sh list
とかやって実行すれば良いんだよ
管理者に配布するのはこのスクリプトだけ
内部で勝手ににdockerイメージ引っ張ってきて実行してくれる
> Dockerイメージに仕込んだスクリプトを実行するとか
そういうのはね、maintenance.sh とかいう名前で
次のような内容のスクリプトを作って
#!/bin/sh
docker run -it maintenance:1.0 script.sh "$@"
$ maintenance.sh list
とかやって実行すれば良いんだよ
管理者に配布するのはこのスクリプトだけ
内部で勝手ににdockerイメージ引っ張ってきて実行してくれる
365login:Penguin
2021/01/20(水) 11:47:58.41ID:dF9xmUsG 軽量イメージで有名なalpineも最初からインタラクティブシェルが入ってるぞ
サイズ小さくするためとか何とか言って
そこまで拘りだしたらきり無いだろ
サイズ小さくするためとか何とか言って
そこまで拘りだしたらきり無いだろ
2021/01/20(水) 11:51:20.78ID:W+xpcSS1
セキュリティリスク最小化のために、サイズに依らず極限まで削るという考えがあるので文句言っても仕方ないね
367login:Penguin
2021/01/20(水) 12:00:12.87ID:dF9xmUsG セキュリティ的にはアプリをGoか何かでシングルバイナリで作って
本番用イメージはshすら入れないのがさいつよじゃね?
イメージにシェル入れるなら、インタラクティブ版でよかね
本番用イメージはshすら入れないのがさいつよじゃね?
イメージにシェル入れるなら、インタラクティブ版でよかね
368login:Penguin
2021/01/20(水) 12:23:13.39ID:dF9xmUsG シェルスクリプトのインタープリターはどうしても要るって場合、
タブ補完と履歴機能は削った方がセキュアに・・・なるかな?
多少複雑さは減るのでその分セキュアにはなるかもしれないが、微妙
タブ補完と履歴機能は削った方がセキュアに・・・なるかな?
多少複雑さは減るのでその分セキュアにはなるかもしれないが、微妙
2021/01/20(水) 14:10:01.28ID:MdirW2N5
devcontainerにはお気に入りの鉄板ツールは全部ぶっこむに決まってんだろ
2021/01/20(水) 20:15:27.86ID:0DdAhH3S
nixは利便性を二の次にして、最軽量コンテナ作ってドヤ顔したいだけなんでしょ。
2021/01/20(水) 20:28:49.94ID:W+xpcSS1
nixは書くのが難しいイメージだがどうなんだろう。謎の表記法だ
2021/01/20(水) 21:28:58.42ID:etHsYhIK
関数型いいね
373login:Penguin
2021/01/21(木) 08:20:11.51ID:E7zvWTdU テキトーにnix-buildでイメージ作ったらalpineよりでかくなった
なんでだろう
なんでだろう
374login:Penguin
2021/01/21(木) 09:12:22.45ID:E7zvWTdU glibcとtzdataがでかいな
31M 33idnvrkvfgd5lsx2pwgwwi955adl6sk-glibc-2.31
1.6M czc3c1apx55s37qx4vadqhn3fhikchxi-libunistring-0.9.10
552K ifnmhjrvk3f0hbz3f25s3izlb9yk8x0f-iana-etc-20200729
100K r2wvgnr54vmwnjvzyqdixv8xbn362jgh-mailcap-2.1.48
4.8M w1g27pgslf28nh1py1szj7lk4xksdhqq-tzdata-2020c
276K xim9l8hym4iga6d4azam4m0k0p1nw2rm-libidn2-2.3.0
31M 33idnvrkvfgd5lsx2pwgwwi955adl6sk-glibc-2.31
1.6M czc3c1apx55s37qx4vadqhn3fhikchxi-libunistring-0.9.10
552K ifnmhjrvk3f0hbz3f25s3izlb9yk8x0f-iana-etc-20200729
100K r2wvgnr54vmwnjvzyqdixv8xbn362jgh-mailcap-2.1.48
4.8M w1g27pgslf28nh1py1szj7lk4xksdhqq-tzdata-2020c
276K xim9l8hym4iga6d4azam4m0k0p1nw2rm-libidn2-2.3.0
375login:Penguin
2021/01/21(木) 10:06:41.84ID:E7zvWTdU musl版のパッケージもあるが、ソースからビルドが多くてとても時間が掛かる
テストまで実行してる
一向に終わる気配がないので中止した
テストまで実行してる
一向に終わる気配がないので中止した
2021/01/21(木) 11:13:23.98ID:q3ZBVRCY
alpineでもtzdataは設定だけしてパッケージは消すな
2021/01/21(木) 18:00:13.33ID:2L6M1psr
2021/01/21(木) 18:03:34.93ID:2L6M1psr
>>367
シングルバイナリで外部コマンドは全く使用しない
ライブラリは全く使用しない
それってDockerで動かす意味有るの?
だってそのシングルバイナリ以外はなにもないんでしょ?
カーネルの機能だけあれば動くなら、
Dockerの外で動かせばいいじゃないw
外部に依存しているものを動かしたいという前提があるから
Dockerを使うのであって、その前提を無視するなら意味がない
シングルバイナリで外部コマンドは全く使用しない
ライブラリは全く使用しない
それってDockerで動かす意味有るの?
だってそのシングルバイナリ以外はなにもないんでしょ?
カーネルの機能だけあれば動くなら、
Dockerの外で動かせばいいじゃないw
外部に依存しているものを動かしたいという前提があるから
Dockerを使うのであって、その前提を無視するなら意味がない
379login:Penguin
2021/01/21(木) 18:36:01.89ID:E7zvWTdU2021/01/21(木) 18:48:25.81ID:B7BVM9Yk
>>378
オーケストレーターがシングルバイナリに対応してるならコンテナは要らんよ
オーケストレーターがシングルバイナリに対応してるならコンテナは要らんよ
381login:Penguin
2021/01/21(木) 18:54:10.09ID:E7zvWTdU ローカルでCLIツール動かすだけならバイナリを直接配布でもよい
Webサーバーとか動かすならコンテナオーケストレーターの機能は便利
Webサーバーとか動かすならコンテナオーケストレーターの機能は便利
2021/01/21(木) 22:46:18.99ID:2L6M1psr
>>380
コンテナ使うならシングルバイナリなんかいらんよw
シングルバイナリだと修正したときに全部ビルドし直しだろ?
それってDockerイメージ作り直しと同じことしてるだけだからね
シングルバイナリビルドし直しOKなら
Dockerイメージビルドし直しもOKなはずだ
コンテナ使うならシングルバイナリなんかいらんよw
シングルバイナリだと修正したときに全部ビルドし直しだろ?
それってDockerイメージ作り直しと同じことしてるだけだからね
シングルバイナリビルドし直しOKなら
Dockerイメージビルドし直しもOKなはずだ
2021/01/21(木) 22:47:47.57ID:2L6M1psr
2021/01/21(木) 22:50:20.24ID:2L6M1psr
2021/01/22(金) 01:40:05.86ID:MJHncGOI
HashiCorpのサービスはどれもこれもシングルバイナリだ
たしかにあそこまで行くとDocker要らんわ
たしかにあそこまで行くとDocker要らんわ
2021/01/22(金) 10:00:45.96ID:T81U45xE
だからDockerは(シングルバイナリとかを)使うためじゃなくて
開発者が自分で開発するときに使うもの
シングルバイナリを作るのが難しい場合もたくさんある
スクリプト言語なんかはほぼ全てそれ
開発者のためのもの
開発者が自分で開発するときに使うもの
シングルバイナリを作るのが難しい場合もたくさんある
スクリプト言語なんかはほぼ全てそれ
開発者のためのもの
387login:Penguin
2021/01/22(金) 10:54:50.10ID:mPC90pRk 大は小を兼ねるってことで
DroneCIはDockerコンテナ内での実行しかできない
割り切った設計になってる
コンテナさえ対応しとけばいろんな言語向けのツールを個別に作らなくて済むからな
DroneCIはDockerコンテナ内での実行しかできない
割り切った設計になってる
コンテナさえ対応しとけばいろんな言語向けのツールを個別に作らなくて済むからな
388login:Penguin
2021/01/22(金) 19:40:12.58ID:gTtohUlb alpineはパッケージのバージョンを固定する方法がないから
どうしてもalpineベースのDockerイメージをビルドする時は前回より新しいバージョンがインストールされる可能性がある
The problem with Docker and Alpine’s package pinning
https://medium.com/@stschindler/the-problem-with-docker-and-alpines-package-pinning-18346593e891
単にパッケージのバージョンを指定すると、そのうちパッケージがリポジトリから消えてビルド出来なくなる
古いバージョンのリポジトリを使うなら可能だが、マイナーバージョンのアップデートはされるだろう
特定のパッケージだけ最新メジャーバージョンにしたいから
複数のリポジトリを使い分けするぜ!みたいな使い方は
一応可能らしいが、
公式にはサポートされてない
どうしてもalpineベースのDockerイメージをビルドする時は前回より新しいバージョンがインストールされる可能性がある
The problem with Docker and Alpine’s package pinning
https://medium.com/@stschindler/the-problem-with-docker-and-alpines-package-pinning-18346593e891
単にパッケージのバージョンを指定すると、そのうちパッケージがリポジトリから消えてビルド出来なくなる
古いバージョンのリポジトリを使うなら可能だが、マイナーバージョンのアップデートはされるだろう
特定のパッケージだけ最新メジャーバージョンにしたいから
複数のリポジトリを使い分けするぜ!みたいな使い方は
一応可能らしいが、
公式にはサポートされてない
2021/01/22(金) 19:47:20.60ID:MJHncGOI
もっと気軽にDinDできればいいんだが
2021/01/22(金) 21:02:59.02ID:XsvVSgn6
>>388
古いリポジトリがアーカイブされている必要もあるし、
結局、Debian、CentOS(8以前)とか、硬派なバージョン管理をしているdistroを使うしかないと思う。
そうでないと、ABI互換されへんしな。
古いリポジトリがアーカイブされている必要もあるし、
結局、Debian、CentOS(8以前)とか、硬派なバージョン管理をしているdistroを使うしかないと思う。
そうでないと、ABI互換されへんしな。
2021/01/23(土) 03:09:15.57ID:qmn8QEZZ
392login:Penguin
2021/01/23(土) 10:16:51.97ID:L1o04Qzm k3dはdocker in dockerのReal world example
中で起動するのはdockerじゃなくてcontainerdだけど
docker in dockerと同じパターン
コンテナの中でk3sやcontainerdを動かす
中で起動するのはdockerじゃなくてcontainerdだけど
docker in dockerと同じパターン
コンテナの中でk3sやcontainerdを動かす
2021/01/23(土) 11:37:57.64ID:qmn8QEZZ
ん?だからk3dに相当するようななものを作ってるの?って話だよ
そういうのは例外的なシステムだよね
そういうのは例外的なシステムだよね
394login:Penguin
2021/01/23(土) 11:44:26.49ID:L1o04Qzm >>389はCIで欲しいんじゃね?
知らんけど
知らんけど
2021/01/23(土) 11:57:06.70ID:qmn8QEZZ
だからTravisCIのようなCIフレームワークを開発してる
会社だったらほしいというのはわかるけど
そういうのは例外的だって話
会社だったらほしいというのはわかるけど
そういうのは例外的だって話
2021/01/23(土) 12:03:22.58ID:pBA41e7z
>>394
主にCI、開発コンテナだな
あとたまにバックエンドでコマンドラインを多用するサービスなんかもあって、そこでもDinDを使いたくなる
Dockerfileで静的にインストールすると、コマンドラインのバージョンが固定されちまう
が、DinDだったらコマンドラインのバージョンを実行時にダイナミックに変更できる
DinDならオフィシャルのイメージを使えるってのもいいね
自前でパッケージインストールすると最適化がどうしても甘くなる
主にCI、開発コンテナだな
あとたまにバックエンドでコマンドラインを多用するサービスなんかもあって、そこでもDinDを使いたくなる
Dockerfileで静的にインストールすると、コマンドラインのバージョンが固定されちまう
が、DinDだったらコマンドラインのバージョンを実行時にダイナミックに変更できる
DinDならオフィシャルのイメージを使えるってのもいいね
自前でパッケージインストールすると最適化がどうしても甘くなる
2021/01/23(土) 12:25:52.54ID:qJ35GPj0
すみません
初歩的な質問で申し訳ないのですが、
今でもWindows10 ProでDockerを使うと、Oracle Virtual Boxは使用不可になりますか?
1年前にDockerを導入したところVirtual Boxが起動しなくなってしまいまして
昨年末にHomeでもDockerが使えるようになったとのことで、ついでにそこら辺も解消されていないのかなと思い・・・。
初歩的な質問で申し訳ないのですが、
今でもWindows10 ProでDockerを使うと、Oracle Virtual Boxは使用不可になりますか?
1年前にDockerを導入したところVirtual Boxが起動しなくなってしまいまして
昨年末にHomeでもDockerが使えるようになったとのことで、ついでにそこら辺も解消されていないのかなと思い・・・。
2021/01/23(土) 12:29:50.78ID:iwzoJDPq
できるマシンとできないマシンがあるので試してから買ったほうがいい
2021/01/23(土) 12:37:07.86ID:qJ35GPj0
>>398
ノートのCPUはRyzen 3700Uでして、当時調べた記憶ですと出来ない方のCPUだった様な・・・
DokcerをアンインスコしてHyperVをオフにしてもダメだったんですよね
ありがとうございます
ノートのCPUはRyzen 3700Uでして、当時調べた記憶ですと出来ない方のCPUだった様な・・・
DokcerをアンインスコしてHyperVをオフにしてもダメだったんですよね
ありがとうございます
400login:Penguin
2021/01/23(土) 12:48:05.70ID:L1o04Qzm Hyper-VとVirtualbox等の別のハイパーバイザーは共存不可
同時には使えない
最近のバージョンのVirtualBoxはHyper-Vに対応してるけど
まだ実験段階らしいのでおすすめしない
Vagrant経由でVirtualbox使ってるならHyper-Vを直接利用に切り替える手もある
同時には使えない
最近のバージョンのVirtualBoxはHyper-Vに対応してるけど
まだ実験段階らしいのでおすすめしない
Vagrant経由でVirtualbox使ってるならHyper-Vを直接利用に切り替える手もある
2021/01/23(土) 13:24:45.94ID:/f7HUFMf
Mac、LinuxならDockerとVirtualBoxが共存できるよ
開発者なら今すぐMac、Linuxに移行しよう
開発者なら今すぐMac、Linuxに移行しよう
2021/01/23(土) 15:42:35.24ID:qM5mhLKt
>>397 こういうのはVirtualBoxに適当なLinuxいれてその上でDocker使うことと何が違うの?
Win10->VirtualBox+Linux->Dockerと
Win10->WSL2->Dockerで使うのは、結局同じなんじゃないの?
Win10->VirtualBox+Linux->Dockerと
Win10->WSL2->Dockerで使うのは、結局同じなんじゃないの?
2021/01/23(土) 16:49:01.46ID:qmn8QEZZ
>>396
> Dockerfileで静的にインストールすると、コマンドラインのバージョンが固定されちまうが
それは、シングルバイナリにすると、ライブラリのバージョンが固定化されてしまい
アップデートする時に、すべてバイナリを作り直しになるという話と何が違うの?
つまりコマンドラインのバージョンを変えたいなら、Dockerイメージを作り直せばいいだけじゃない
> Dockerfileで静的にインストールすると、コマンドラインのバージョンが固定されちまうが
それは、シングルバイナリにすると、ライブラリのバージョンが固定化されてしまい
アップデートする時に、すべてバイナリを作り直しになるという話と何が違うの?
つまりコマンドラインのバージョンを変えたいなら、Dockerイメージを作り直せばいいだけじゃない
2021/01/23(土) 16:52:02.37ID:qmn8QEZZ
2021/01/23(土) 16:58:45.75ID:TELIs3ia
2021/01/23(土) 17:25:17.38ID:qmn8QEZZ
Windowsを捨てられるならとっくにそうしてる
今はLinuxだけが動けばいい世の中ではない
今はLinuxだけが動けばいい世の中ではない
2021/01/23(土) 18:35:08.71ID:pBA41e7z
2021/01/23(土) 18:39:23.99ID:shVfejGa
使いやすさで言うとLinux母艦がベスト
Windows母艦使わなきゃならん場合はLinux仮想マシンが良い
でも唯一の弱点があって重いこと
それだけにために使いにくい公式のdocker for winを使う
Windows母艦使わなきゃならん場合はLinux仮想マシンが良い
でも唯一の弱点があって重いこと
それだけにために使いにくい公式のdocker for winを使う
2021/01/23(土) 20:20:18.54ID:qmn8QEZZ
>>407
シングルバイナリの話で言えば、
OSやライブラリ毎にバイナリを作りたくないって話?
何が問題なのかさっぱりわからいんだけど?
やりたいことじゃなくて、問題になってることを書いたら?
素人が考えた問題の解決方法が、そもそも間違ってるってのはよくある話
こういうの英語でなんて言うんだっけな?
シングルバイナリの話で言えば、
OSやライブラリ毎にバイナリを作りたくないって話?
何が問題なのかさっぱりわからいんだけど?
やりたいことじゃなくて、問題になってることを書いたら?
素人が考えた問題の解決方法が、そもそも間違ってるってのはよくある話
こういうの英語でなんて言うんだっけな?
2021/01/23(土) 20:22:29.49ID:qmn8QEZZ
例えば>>407は「動的に変えたい」は間違った解決策である可能性が高い
「いちいち組み合わせごとにビルドしてらんない」ならば
組み合わせごとにビルドできるようにするのが
本当に解決すべきことで、その手段は他にあるだろうって話
「いちいち組み合わせごとにビルドしてらんない」ならば
組み合わせごとにビルドできるようにするのが
本当に解決すべきことで、その手段は他にあるだろうって話
2021/01/23(土) 23:21:32.21ID:pBA41e7z
おいおいどんだけ巨大なimage作る気だよ
2021/01/23(土) 23:28:21.63ID:pBA41e7z
例えば
Javaバージョンを10種類
Python 10種類
Ruby 10種類
の任意の組み合わせをサポートするとしよう
組み合わせごとにimage作ってたら1000回のビルドが必要
しかも静的なのでバージョン切り替えるのにコンテナ再起動が必要
アプリケーションユーザーがバージョンを選ぶことができない
DinD無しで動的に切り替え可能にするにはimageに30のパッケージを詰め込まなきゃならん
アプリケーションユーザーがバージョンを選べるようになったがimageが重すぎて駄目だ
DinDなら簡単だろ?
Javaバージョンを10種類
Python 10種類
Ruby 10種類
の任意の組み合わせをサポートするとしよう
組み合わせごとにimage作ってたら1000回のビルドが必要
しかも静的なのでバージョン切り替えるのにコンテナ再起動が必要
アプリケーションユーザーがバージョンを選ぶことができない
DinD無しで動的に切り替え可能にするにはimageに30のパッケージを詰め込まなきゃならん
アプリケーションユーザーがバージョンを選べるようになったがimageが重すぎて駄目だ
DinDなら簡単だろ?
2021/01/24(日) 01:04:39.71ID:7pSGFgQW
dockerインストールしてdocker image使えば動く
それが大きい
組み合わせとか無駄な労力
それが大きい
組み合わせとか無駄な労力
2021/01/24(日) 01:32:49.86ID:zknkl/jN
そうじゃない
組み合わせで無駄な労力をかけなくていいようにDinDなんだよ
DinDじゃなきゃ組み合わせ爆発で大変な目に合う
組み合わせで無駄な労力をかけなくていいようにDinDなんだよ
DinDじゃなきゃ組み合わせ爆発で大変な目に合う
2021/01/24(日) 05:44:03.19ID:ghBgWKiE
CircleCI の、Win/Mac/Linux 環境でのマトリックスビルド
2021/01/24(日) 06:43:13.57ID:M0zj61YH
2021/01/24(日) 06:45:22.77ID:M0zj61YH
あ、もしかしてイメージのビルドって
JavaやPythonやRubyのソースコードから
ビルドするって勘違いしてるのか?
Dockerイメージのビルドって単にファイルをコピーするだけだぞ
お前の言うファイルの入れ替えと何も変わらん
JavaやPythonやRubyのソースコードから
ビルドするって勘違いしてるのか?
Dockerイメージのビルドって単にファイルをコピーするだけだぞ
お前の言うファイルの入れ替えと何も変わらん
418login:Penguin
2021/01/24(日) 09:23:55.77ID:5dJlz7Oi2021/01/24(日) 10:09:33.55ID:zknkl/jN
>>416
違う
違う
2021/01/24(日) 10:09:41.71ID:zknkl/jN
>>417
変わる
変わる
421login:Penguin
2021/01/24(日) 10:10:01.50ID:D5AZ3z2z nixもalpine同様パッケージバージョンそれぞれで固定は出来ないが、
過去の特定時点でのリポジトリを使う事や
不安定版と安定版を組み合わせる事は出来るみたい
Dockerイメージのビルド機能はDockerデーモンは要らないが、
イメージに対して追加でコマンドを実行する(runAsRoot)にはKVMが必要
Nested Virtualization非対応のWSL2とかGitHub Actionsでは使えないのでハードル高い
各パッケージのインストールにはkvm不要なのに
runAsRootを使わずにDockerfileでコマンド実行すればkvm無しでも良いけど
それちょっとめんどい
nixだけで完結させたいね
過去の特定時点でのリポジトリを使う事や
不安定版と安定版を組み合わせる事は出来るみたい
Dockerイメージのビルド機能はDockerデーモンは要らないが、
イメージに対して追加でコマンドを実行する(runAsRoot)にはKVMが必要
Nested Virtualization非対応のWSL2とかGitHub Actionsでは使えないのでハードル高い
各パッケージのインストールにはkvm不要なのに
runAsRootを使わずにDockerfileでコマンド実行すればkvm無しでも良いけど
それちょっとめんどい
nixだけで完結させたいね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 第2次大戦に触れトランプ氏「米中は同盟国」、当時は中華民国…「抗日」巡る中国の言説補強する恐れ ★4 [蚤の市★]
- 【東京】ウズベキスタン国籍のフードデリバリー配達員を逮捕 配達先の女子小学生にキスや体を触るなどわいせつ行為か [煮卵★]
- 【速報】 高市首相 「円の過小評価は問題だ」 ★3 [お断り★]
- 69歳男性、29歳女性と結婚 「正気になって!」と訴えた40代独身娘 「44歳で弟が爆誕…?」 [お断り★]
- 【速報】18歳未満選挙運動禁止の公選法規定「違憲」と東京地裁 [蚤の市★]
- 「ちいかわ」の牙城は崩せず「踊る」初登場1位ならず…14年ぶり新作、内容の賛否を考えると順当? [征夷大将軍★]
- 【高市悲報】須田「サナの罠にかかったな😤敵国条項削除自体はどうだっていい!中国は戦争しようとしてるバカ!」 [359965264]
- 女性「たのしいピクニック女は女性から見ると知的○害者なの。クラスで嫌われていて1ミリもモテないwww」 [592058334]
- 【悲報】高市「うーんこの演説、なんか足りないわね…🫪!敵国条項削除っと」自ら原稿に加筆していた😨 ★2 [359965264]
- おぢになってからより寂しさが増してるんだけど、おまえらどう対処してるの?コツおしえて [683838391]
- 仕事ゼロ、友達ゼロ、嫁彼女ゼロのトリプルスリーを達成してしまった、どうしよう [683838391]
- ドコモ値上げ、ahamo3段階制導入 [256556981]