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/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だけで完結させたいね
2021/01/24(日) 11:44:53.66ID:M0zj61YH
423login:Penguin
2021/01/24(日) 12:11:38.84ID:lUIISiii2021/01/24(日) 12:29:05.10ID:em6DyPtH
dockerには様々な使い方ができてそれが便利なんだが
どうも「僕の考えた正しい使い方」以外に強烈な拒否反応を示す輩がここに住み着いてるみたいだね
こいつのせいでいつも荒れる
どうも「僕の考えた正しい使い方」以外に強烈な拒否反応を示す輩がここに住み着いてるみたいだね
こいつのせいでいつも荒れる
2021/01/24(日) 18:40:26.34ID:M0zj61YH
>>423
アホなのか?ビルドしても問題ない場合の話なんか誰もしてねーよ
ちゃんと読んでみろ、1000回のビルドに困ってるやつが
「ビルドしててアホ、俺はDinDを使ってる」って言ってんだろ
そして、1000回のビルドの組合せ爆発を行わせないために
ファイルを入れ替えて、1000回のテストをやるって
言ってるんだぜ?どっちみち組合せ爆発してるじゃねーかwww
アホなのか?ビルドしても問題ない場合の話なんか誰もしてねーよ
ちゃんと読んでみろ、1000回のビルドに困ってるやつが
「ビルドしててアホ、俺はDinDを使ってる」って言ってんだろ
そして、1000回のビルドの組合せ爆発を行わせないために
ファイルを入れ替えて、1000回のテストをやるって
言ってるんだぜ?どっちみち組合せ爆発してるじゃねーかwww
2021/01/24(日) 19:29:59.47ID:zknkl/jN
組合わせビルドだと1000の追加容量
全部のせだと30の追加容量
DinDなら追加容量ほぼなし最適化もテストも各種イメージ提供元がやってくれてる
全部のせだと30の追加容量
DinDなら追加容量ほぼなし最適化もテストも各種イメージ提供元がやってくれてる
2021/01/24(日) 19:39:44.69ID:M0zj61YH
ほらな?馬鹿だったやろ?
レイヤーを共通で使うってわかってないんだよ
レイヤーを共通で使うってわかってないんだよ
2021/01/24(日) 20:38:36.41ID:em6DyPtH
>>427
組み合わせだからレイヤー使っても減らんぞ?
組み合わせだからレイヤー使っても減らんぞ?
2021/01/25(月) 00:16:11.92ID:4U2REjHr
どんなに組み合わせがあろうと、OSのレイヤーは
全部共通だってまだ気づいてないのかな?w
全部共通だってまだ気づいてないのかな?w
2021/01/25(月) 00:18:40.17ID:mUuiFIpJ
スベってるよきみ
2021/01/25(月) 12:13:30.69ID:vwTpfMH/
DockerコンテナじゃなくてMacに直接ツールをインスコしたいんだが
バージョン含めて統一は難しいな
asdfは一見バージョン切り替えに便利そうに見えるが、
とうも一部プラグインのインスコは自動ではないようだ
brew使ってインストールとか手動でさせたらむずいし、バージョンの組み合わせによっては失敗するかも
nixはインストール自動化は出来るが
関数型言語で書く必要があるのが何だかなあ
Mac上で直接やるの諦めて
開発用のパッケージが入ったDockerイメージを配った方が良いかも
IDEとの連携はVSCodeのRemote Container拡張機能とかでする感じで・・・この拡張機能まだプレビューだけと
バージョン含めて統一は難しいな
asdfは一見バージョン切り替えに便利そうに見えるが、
とうも一部プラグインのインスコは自動ではないようだ
brew使ってインストールとか手動でさせたらむずいし、バージョンの組み合わせによっては失敗するかも
nixはインストール自動化は出来るが
関数型言語で書く必要があるのが何だかなあ
Mac上で直接やるの諦めて
開発用のパッケージが入ったDockerイメージを配った方が良いかも
IDEとの連携はVSCodeのRemote Container拡張機能とかでする感じで・・・この拡張機能まだプレビューだけと
432login:Penguin
2021/01/25(月) 12:34:44.77ID:UrQIjnTy2021/01/25(月) 12:49:51.56ID:PDbAdQWp
2021/01/25(月) 12:56:22.23ID:5aG/RVkH
asdf とか、日本人が作った、バージョンマネージャーのanyenv は、
主に、Ruby, Node.js などの言語のバージョンを指定するだけ
アプリ・フレームワーク内での、依存モジュールを指定するには、
RubyのBundler, Node.jsのnpm/yarn などを使う
例えば、Ruby on Rails なら、まず、Ruby 2.6 で、Rails 6 などを先に決めてから、
それに合った依存モジュールとして、
サーバー側はRubyのBundler, GUI側はJavaScriptのYarnで決めていく
主に、Ruby, Node.js などの言語のバージョンを指定するだけ
アプリ・フレームワーク内での、依存モジュールを指定するには、
RubyのBundler, Node.jsのnpm/yarn などを使う
例えば、Ruby on Rails なら、まず、Ruby 2.6 で、Rails 6 などを先に決めてから、
それに合った依存モジュールとして、
サーバー側はRubyのBundler, GUI側はJavaScriptのYarnで決めていく
2021/01/25(月) 13:17:07.04ID:L2NMho+v
Dockerで複数のイメージを作っても
同じ内容は共通化されるんですよ
だからファイルサイズは増えません
バイナリを入れ替えるとかいう変なやり方と
使用する容量はほぼ変わりません
同じ内容は共通化されるんですよ
だからファイルサイズは増えません
バイナリを入れ替えるとかいう変なやり方と
使用する容量はほぼ変わりません
2021/01/25(月) 14:49:42.07ID:1bwGrDuX
内容が同じなら共通化されるわけじゃない
Dockerfileのコマンドが同一かどうかだろ
パッケージをA,Bの順で入れるのとB,Aの順で入れるのでは結果イメージが同一でも別物
Dockerfileのコマンドが同一かどうかだろ
パッケージをA,Bの順で入れるのとB,Aの順で入れるのでは結果イメージが同一でも別物
2021/01/25(月) 15:31:33.77ID:nCtpepmL
>>436
マルチステージビルドとかしらんの?
一つのDockerfileに
FROM as java-x.y.x
…
FROM as ruby-x.y.x
…
FROM as python-x.y.x
…
とか書いてあれば、別のDockerfileに同じことが書いてある時に共通化されるんだよ
そしてそのDockerfileの下に
FROM …
COPY --from=java-x.y.z /opt/java /opt/java
COPY --from=ruby-x.y.z /opt/ruby /opt/ruby
COPY --from=python-x.y.z /opt/python /opt/python
と書いてあれば、単にファイルをコピーするだけ
ファイルコピーなんだからDinD(笑)とかで
ファイル差し替えとかいうのとやってることは何も変わらん
ベースとなるイメージは共通で使って
実際に動かすイメージだけビルド→終わったら破棄すれば容量食わないし
元となるイメージは削除せずに使い回すのだからビルドの時間もかからん
マルチステージビルドとかしらんの?
一つのDockerfileに
FROM as java-x.y.x
…
FROM as ruby-x.y.x
…
FROM as python-x.y.x
…
とか書いてあれば、別のDockerfileに同じことが書いてある時に共通化されるんだよ
そしてそのDockerfileの下に
FROM …
COPY --from=java-x.y.z /opt/java /opt/java
COPY --from=ruby-x.y.z /opt/ruby /opt/ruby
COPY --from=python-x.y.z /opt/python /opt/python
と書いてあれば、単にファイルをコピーするだけ
ファイルコピーなんだからDinD(笑)とかで
ファイル差し替えとかいうのとやってることは何も変わらん
ベースとなるイメージは共通で使って
実際に動かすイメージだけビルド→終わったら破棄すれば容量食わないし
元となるイメージは削除せずに使い回すのだからビルドの時間もかからん
2021/01/25(月) 15:37:04.20ID:CdDAXNrB
マルチステージの動作確認ってどうしてるの?
2021/01/25(月) 15:45:33.93ID:mUuiFIpJ
>>437
それ結局1000容量必要じゃんw
それ結局1000容量必要じゃんw
2021/01/25(月) 15:55:37.46ID:nCtpepmL
2021/01/25(月) 15:56:03.34ID:nCtpepmL
>>438
他のやり方と何が違うと思ってんの?
他のやり方と何が違うと思ってんの?
442login:Penguin
2021/01/25(月) 15:57:16.29ID:nNV9lGQp nodeをdocker runして複数のバージョンのnodeで自作ライブラリをテストするとする
ソースコードのディレクトリをボリュームマウントして
npm ciでライブラリをインスコして
npm run test
これの繰り返しで良くね?
CIが普通にLinux仮想マシン使えるやつならDinDにはならん
Docker内でしかコマンド実行できないCIだとして
そのCIに複数のイメージで同じコマンドを実行する機能とか無いか?
ソースコードのディレクトリをボリュームマウントして
npm ciでライブラリをインスコして
npm run test
これの繰り返しで良くね?
CIが普通にLinux仮想マシン使えるやつならDinDにはならん
Docker内でしかコマンド実行できないCIだとして
そのCIに複数のイメージで同じコマンドを実行する機能とか無いか?
2021/01/25(月) 16:24:11.77ID:CdDAXNrB
2021/01/25(月) 16:25:51.95ID:nCtpepmL
>>443
そんな内容で他人に通じるとでも思ってんの?
そんな内容で他人に通じるとでも思ってんの?
2021/01/25(月) 18:34:33.69ID:zCNrI+rm
↑単にnodenv,pyenv,rbenv入れて切り替えれば良いだけじゃね?
マスターは全部(30全部のせ)インストールして。
jdkだけ無いから、dockerfile内でJDK_HOME変数いじる。
マスターは全部(30全部のせ)インストールして。
jdkだけ無いから、dockerfile内でJDK_HOME変数いじる。
2021/01/25(月) 18:59:55.13ID:R9sUsxwm
なんかしらんがどうしてもDinD使いたいんだろうさw
2021/01/25(月) 20:14:01.29ID:RyTuSemV
2021/01/25(月) 20:15:41.98ID:iGDBOFL2
>>445
依存パッケージのバージョン競合が不安になるな
依存パッケージのバージョン競合が不安になるな
2021/01/25(月) 20:22:19.53ID:zCNrI+rm
>>448
依存パッケージは各々の環境配下に入るんだから別に関係ない。
依存パッケージは各々の環境配下に入るんだから別に関係ない。
2021/01/25(月) 22:25:24.44ID:R9sUsxwm
2021/01/25(月) 23:01:26.26ID:1CRbLlPN
2021/01/25(月) 23:32:40.18ID:CdDAXNrB
マルチステージだから容量食わないけど、毎回ビルドと言ってるキチガイは何なの。
毎回ビルドする位なら、オンプレに入れて各言語の仮想環境使った方が遥かに効率的でマシ。何分まつのやら
毎回ビルドする位なら、オンプレに入れて各言語の仮想環境使った方が遥かに効率的でマシ。何分まつのやら
2021/01/26(火) 00:21:06.82ID:+DX42UVH
結局のところDinDが一番スマートじゃん
2021/01/26(火) 05:53:43.65ID:qucDULM3
別に此処で聞くような事では無いって気がするね。
要するに、どうしてもDinDが使いたいって話だろ。
他の解決策はあると思うし、DinDの設計意図はそういう事(組合わせ)では無いと思うけど
DinD使ってドヤ顔したい奴はそれ自体が目的だしね。
要するに、どうしてもDinDが使いたいって話だろ。
他の解決策はあると思うし、DinDの設計意図はそういう事(組合わせ)では無いと思うけど
DinD使ってドヤ顔したい奴はそれ自体が目的だしね。
2021/01/26(火) 13:06:10.15ID:tolCEvvD
2021/01/26(火) 13:12:04.55ID:ly8STgW0
起動に5分かかるようなシステムはイラネ
457434
2021/01/26(火) 13:18:54.15ID:cGWhBQtK 毎回ビルドはしない。
頻繁に変わるソースコードなどは、bind mount・共有フォルダ、
DB のデータなどは、Docker 管理のdata volume
複数言語のバージョンマネージャーのanyenv なら、
which ruby
~/.anyenv/envs/rbenv/shims/ruby
which node
~/.anyenv/envs/nodenv/shims/node
頻繁に変わるソースコードなどは、bind mount・共有フォルダ、
DB のデータなどは、Docker 管理のdata volume
複数言語のバージョンマネージャーのanyenv なら、
which ruby
~/.anyenv/envs/rbenv/shims/ruby
which node
~/.anyenv/envs/nodenv/shims/node
2021/01/26(火) 15:30:35.49ID:nxNozP8d
実行時ビルドとかゴミすぎて笑うわ
2021/01/26(火) 18:22:09.66ID:6fMbCpW5
なんか、実行時ビルドが数分かかるとか勘違いしてるっぽいなw
ファイルコピーしかしないのに、どこに時間がかかると思ってるんだろう
ファイルコピーしかしないのに、どこに時間がかかると思ってるんだろう
460login:Penguin
2021/01/26(火) 18:42:21.13ID:jD2ztmnc うだうだ言ってねえでソース晒せよ
2021/01/26(火) 18:50:04.69ID:6fMbCpW5
CIでビルドすることなんて当たり前ですし
[速報]GitHub Actions発表、Dockerコンテナの連係によるワークフローを自由に定義可能。GitHub Universe 2018
https://www.publickey1.jp/blog/18/github_actionsdockergithub_universe_2018.html
[速報]GitHub Actions発表、Dockerコンテナの連係によるワークフローを自由に定義可能。GitHub Universe 2018
https://www.publickey1.jp/blog/18/github_actionsdockergithub_universe_2018.html
2021/01/26(火) 18:51:25.75ID:6fMbCpW5
https://cloud.google.com/cloud-build/docs/automating-builds/run-builds-on-github?hl=ja
GitHub でのビルドの実行
Cloud Build では、Cloud Build GitHub アプリが利用できます。このアプリでは、
新しい commit を GitHub に push するごとにコードを自動的にビルドできます。
このチュートリアルでは、アプリのインストールと構成方法、GitHub でビルドを自動でトリガーする方法について説明します。
GitHub でのビルドの実行
Cloud Build では、Cloud Build GitHub アプリが利用できます。このアプリでは、
新しい commit を GitHub に push するごとにコードを自動的にビルドできます。
このチュートリアルでは、アプリのインストールと構成方法、GitHub でビルドを自動でトリガーする方法について説明します。
2021/01/26(火) 19:26:49.06ID:qucDULM3
>>462
そのリンクはビルド→デプロイの自動化、デプロイ→テストの自動化であって
「プログラムの実行前のビルド」ではないけどね。
てかごく一般常識的に、実行前にビルドなんてしない。
pull→ビルドすら長ったらしいので何とか短縮する方法考える位だし。
そのリンクはビルド→デプロイの自動化、デプロイ→テストの自動化であって
「プログラムの実行前のビルド」ではないけどね。
てかごく一般常識的に、実行前にビルドなんてしない。
pull→ビルドすら長ったらしいので何とか短縮する方法考える位だし。
2021/01/26(火) 19:46:47.86ID:vDnTAoSR
真っ当なビルドと偏執狂のビルド
区別がつかない人は怖い
区別がつかない人は怖い
2021/01/26(火) 19:47:39.74ID:4CLz/Wwf
結局DinDが一番スマートだったわけだ
2021/01/26(火) 23:42:38.47ID:6fMbCpW5
そのスマート(笑)なDinDのやり方ってやつを
ここで言ってみなさいよ。何も言ってない。DinDといいたいだけ
ここで言ってみなさいよ。何も言ってない。DinDといいたいだけ
2021/01/27(水) 01:54:46.39ID:6ru/T4M8
2021/01/27(水) 08:23:30.16ID:vTJZsoCB
469login:Penguin
2021/01/27(水) 08:35:57.18ID:R3wK2cxv 実行環境の制限がないならDINDせず
ホストOSでやれば良くね?
何やろうとしてんのか知らんけど
ホストOSでやれば良くね?
何やろうとしてんのか知らんけど
2021/01/27(水) 09:03:56.63ID:6ru/T4M8
>>468
ぷっ
ぷっ
2021/01/27(水) 12:40:20.47ID:OF2MpqJA
>>467
DooDな
DooDな
2021/01/27(水) 15:32:11.93ID:STt+4nmF
なんでわざわざDockerの中でテストしようとしてるんだろう?
普通にホスト上でdocker-composeとか使ってテストすりゃいいんじゃん
DinDなんかいらね
普通にホスト上でdocker-composeとか使ってテストすりゃいいんじゃん
DinDなんかいらね
2021/01/27(水) 15:32:46.21ID:STt+4nmF
>>469
見てなかったw 同じこと言ってたw
見てなかったw 同じこと言ってたw
2021/01/27(水) 16:50:55.99ID:A+1Xd6VN
2021/01/27(水) 18:25:15.80ID:6ru/T4M8
普通にやったら非効率なのでDinDが要るんだよ
476login:Penguin
2021/01/27(水) 18:26:30.94ID:wjyDjF3m >>475
君、そもそも会話する気ある?そんな説明じゃ分からん
君、そもそも会話する気ある?そんな説明じゃ分からん
2021/01/27(水) 18:28:51.03ID:6ru/T4M8
ブーメラン
2021/01/27(水) 19:46:09.91ID:A+1Xd6VN
そろそろ ID:6ru/T4M8 は無視で良くね?
2021/01/27(水) 20:12:49.22ID:tza06nUs
逃
2021/01/27(水) 22:05:36.12ID:EVyQ39mm
docker in dockerは使いみちあるとしても
頭悪いやつがvirtuabox in virtuaboxのように
ぐだぐだにされたら迷惑だろ
頭悪いやつがvirtuabox in virtuaboxのように
ぐだぐだにされたら迷惑だろ
2021/02/05(金) 23:45:18.89ID:h51rF+BK
しばらく放置してたらpodmanいいかんじになってた
docker-composeもほとんどそのまま動く
docker-composeもほとんどそのまま動く
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【毎日世論調査】内閣支持率45%、3カ月ぶりに不支持率を上回る 改造の評価は [蚤の市★]
- 【速報】首相、日米は最も信頼し合える同盟国と伝達 ★6 [蚤の市★]
- 【ボクシング】井上拓真が那須川天心を返り討ち 7回にダウン奪われるも「那須川天心を倒す」有言実行 WBC世界バンタム級 ★3 [鉄チーズ烏★]
- ロシア外相 「日本とドイツは軍国主義」 国連で声明 ★4 [お断り★]
- 【ホリエモン】堀江貴文氏、もし“現金のみ”の店でお金を持ってなかったら? 対処策に「その手があったか!」と驚きの声 [冬月記者★]
- 【自動車】なんて恐ろしい契約を…「残クレ」で念願のアルファードを手に入れた年収600万円・45歳サラリーマンの末路 ★4 [ぐれ★]
- タイの大洪水でHDD大幅値上げへ [838847604]
- 【実況】博衣こよりのえちえちMLB同時視聴-ノエたん編-🧪 ★4
- 妻、韓国が好きすぎて料理が毎回韓国料理……
- (´・ω・`)おはよ
- 【悲報】大谷翔平(32) シーズン成績確定 全ての数字が昨季を下回りMVP絶望的
- 【悲報】今日も雨、金曜までずっと雨。来週月曜からまた雨が再開。流石におかしくないか? [793187428]