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(土) 13:10:30.88ID:TRxochm9
このように、1サービス1コンテナの精神で細かく分離すると
サービス同士が疎結合になり、一見すると良いように思える
しかし、疎結合である、ということは、サービス間の連携のオーバーヘッドが増える、ということだ
サービスはRPCを実装しなければならず、開発者は疲弊する
サービスメッシュの管理コストは増大し、運用者は疲弊する
これはミクロサービスの功罪と同じことだが、なんでもかんでも、小さく分けて、疎にするのが、常に正解なわけじゃない
全てはトレードオフなのだ!
たしか、マーティンファウラーだったと思うが
彼曰く、最初からミクロサービス的な思想に傾倒した案件は、失敗することが多い、らしい
最初はモノリスのほうが、うまく行くのだ
システムが、モノリスでは到底手に負えないほど、巨大化してから初めて、分割することを考えれば、よろしい
サービス同士が疎結合になり、一見すると良いように思える
しかし、疎結合である、ということは、サービス間の連携のオーバーヘッドが増える、ということだ
サービスはRPCを実装しなければならず、開発者は疲弊する
サービスメッシュの管理コストは増大し、運用者は疲弊する
これはミクロサービスの功罪と同じことだが、なんでもかんでも、小さく分けて、疎にするのが、常に正解なわけじゃない
全てはトレードオフなのだ!
たしか、マーティンファウラーだったと思うが
彼曰く、最初からミクロサービス的な思想に傾倒した案件は、失敗することが多い、らしい
最初はモノリスのほうが、うまく行くのだ
システムが、モノリスでは到底手に負えないほど、巨大化してから初めて、分割することを考えれば、よろしい
2021/01/16(土) 13:11:04.23ID:TRxochm9
>>280
そんなことも出来ないの?
そんなことも出来ないの?
2021/01/16(土) 13:12:08.94ID:iVfNA5oL
>>277
それ、仮想マシン使えって話なんだ
それ、仮想マシン使えって話なんだ
2021/01/16(土) 13:12:36.46ID:iVfNA5oL
2021/01/16(土) 13:12:54.17ID:TRxochm9
2021/01/16(土) 13:13:24.74ID:TRxochm9
>>285
大変じゃないけど?
大変じゃないけど?
2021/01/16(土) 13:15:45.87ID:iVfNA5oL
2021/01/16(土) 13:16:07.78ID:iVfNA5oL
>>287
apt-getでインストールするだけ vs 設定ファイルを自分で書く
apt-getでインストールするだけ vs 設定ファイルを自分で書く
2021/01/16(土) 13:16:30.37ID:iVfNA5oL
2021/01/16(土) 13:18:13.82ID:7o928iA8
>>284
仮想マシンは重いからやだ
仮想マシンは重いからやだ
2021/01/16(土) 13:18:42.21ID:7o928iA8
>>289
どっちも大変じゃないけど?
どっちも大変じゃないけど?
293login:Penguin
2021/01/16(土) 13:19:01.25ID:5ICFXjQI supervisordの方が面倒くさい
docker-composeの方が楽
docker-composeの方が楽
2021/01/16(土) 13:19:35.25ID:7o928iA8
2021/01/16(土) 13:20:33.01ID:7o928iA8
>>293
そりゃ、手間を利用者側に、オシツケテル、からでしょ
そりゃ、手間を利用者側に、オシツケテル、からでしょ
296login:Penguin
2021/01/16(土) 13:25:53.65ID:5ICFXjQI docker-compose psしたらsupervisordが生きてたらupと表示されるが
設定にミスがあった場合や問題が起きた場合もsupervisordさえ生きてたらupと出る
判定するにはログやsupervisordのあるコンテナ内でコマンド実行が必要
どこが優しいねん
設定にミスがあった場合や問題が起きた場合もsupervisordさえ生きてたらupと出る
判定するにはログやsupervisordのあるコンテナ内でコマンド実行が必要
どこが優しいねん
297login:Penguin
2021/01/16(土) 13:32:34.07ID:5ICFXjQI >>288
A container’s main running process is the ENTRYPOINT and/or CMD at the end of the Dockerfile.
It is generally recommended that you separate areas of concern by using one service per container.
That service may fork into multiple processes (for example, Apache web server starts multiple worker processes). It’s ok to have multiple processes, but to get the most benefit out of Docker, avoid one container being responsible for multiple aspects of your overall application.
You can connect multiple containers using user-defined networks and shared volumes.
https://docs.docker.com/config/containers/multi-service_container/
A container’s main running process is the ENTRYPOINT and/or CMD at the end of the Dockerfile.
It is generally recommended that you separate areas of concern by using one service per container.
That service may fork into multiple processes (for example, Apache web server starts multiple worker processes). It’s ok to have multiple processes, but to get the most benefit out of Docker, avoid one container being responsible for multiple aspects of your overall application.
You can connect multiple containers using user-defined networks and shared volumes.
https://docs.docker.com/config/containers/multi-service_container/
2021/01/16(土) 13:33:38.70ID:7o928iA8
299login:Penguin
2021/01/16(土) 13:33:54.29ID:5ICFXjQI avoid one container being responsible for multiple aspects of your overall application.
avoid one container being responsible for multiple aspects of your overall application.
avoid one container being responsible for multiple aspects of your overall application.
300login:Penguin
2021/01/16(土) 13:34:41.89ID:5ICFXjQI >>298
開発や運用でトラブルが一切無いと考える方が頭おかしい
開発や運用でトラブルが一切無いと考える方が頭おかしい
301login:Penguin
2021/01/16(土) 13:36:10.72ID:5ICFXjQI dockerやdocker-composeだけでsupervisordのやってる事と同じ事が出来る
余計なコンポーネントを増やすな
余計なコンポーネントを増やすな
2021/01/16(土) 13:39:18.26ID:7o928iA8
>>300
なら1コンテナ1プロセスでも間違いは起こるなー
なら1コンテナ1プロセスでも間違いは起こるなー
2021/01/16(土) 13:39:56.86ID:7o928iA8
304login:Penguin
2021/01/16(土) 13:42:03.31ID:5ICFXjQI >>303
supervisordあったらdocker要らなくね?
supervisordあったらdocker要らなくね?
305login:Penguin
2021/01/16(土) 13:47:58.61ID:5ICFXjQI 既存のデータベース使うとかは考えないの?
データベースの入ってないDockerイメージと
入ってるイメージ2種類作るのか?
それか起動時のスクリプトにフラグ追加?
だったら最初から分けとけよ
めんどくさい
データベースの入ってないDockerイメージと
入ってるイメージ2種類作るのか?
それか起動時のスクリプトにフラグ追加?
だったら最初から分けとけよ
めんどくさい
2021/01/16(土) 14:03:15.18ID:Q9Gxtc5G
2021/01/16(土) 14:05:12.85ID:Q9Gxtc5G
>>305
お前さー、少しはレス読みなよ
分散用に、分けたコンテナをオプションで配布する、ことまではヒテイしとらんだろ
言うなれば、マルチサービスコンテナファーストだよ
シングルサービスコンテナはオプションだ
お前さー、少しはレス読みなよ
分散用に、分けたコンテナをオプションで配布する、ことまではヒテイしとらんだろ
言うなれば、マルチサービスコンテナファーストだよ
シングルサービスコンテナはオプションだ
308login:Penguin
2021/01/16(土) 14:05:40.84ID:kbdLhinp309login:Penguin
2021/01/16(土) 14:07:23.52ID:kbdLhinp2021/01/16(土) 14:08:38.07ID:Q9Gxtc5G
>>305
それとな、内部DBと外部DBを選択できるコンテナは、わりとよくある
スタンドアロンだとsqlite、そうじゃないとpostgres、mysqlのどっちか
てなわけよ
スタンドアロンファースト
(・∀・)イイネ!!
それとな、内部DBと外部DBを選択できるコンテナは、わりとよくある
スタンドアロンだとsqlite、そうじゃないとpostgres、mysqlのどっちか
てなわけよ
スタンドアロンファースト
(・∀・)イイネ!!
2021/01/16(土) 14:12:15.37ID:Q9Gxtc5G
>>309
小ささにこだわって、オーケストレーションマニフェスト書かせたり、運用の手間を増やすな
カリッカリにチューニングしたい、オタク共に合わせるのは、大半のユーザーにとっては面倒でしかないんだよ
多少、重くていいから、お手軽に使わせろ、ってーの
小ささにこだわって、オーケストレーションマニフェスト書かせたり、運用の手間を増やすな
カリッカリにチューニングしたい、オタク共に合わせるのは、大半のユーザーにとっては面倒でしかないんだよ
多少、重くていいから、お手軽に使わせろ、ってーの
312login:Penguin
2021/01/16(土) 14:24:51.12ID:kbdLhinp >>310
sqliteはプロセス要らないからいいが
mysqlやpostgresqlを突っ込めというのはキ○ガイの所業
複数DB対応するには普通は対応コストがかかる
DBラッパー使っても特定DBにしか対応してない拡張は使えないし
docker-composeで書いても大した記述量でもあるまいに
意図的に無視してるな
sqliteはプロセス要らないからいいが
mysqlやpostgresqlを突っ込めというのはキ○ガイの所業
複数DB対応するには普通は対応コストがかかる
DBラッパー使っても特定DBにしか対応してない拡張は使えないし
docker-composeで書いても大した記述量でもあるまいに
意図的に無視してるな
313login:Penguin
2021/01/16(土) 14:28:59.91ID:kbdLhinp2021/01/16(土) 14:32:15.75ID:Q9Gxtc5G
315login:Penguin
2021/01/16(土) 14:34:53.03ID:kbdLhinp 手軽に試すなら普通はdocker-compose使うから
そんな特殊なやり方で対応する必要がない。
k8sやらnomadに手軽さは求めてないし。
k8sでやるんだったらhelmチャートあると便利。
そんな特殊なやり方で対応する必要がない。
k8sやらnomadに手軽さは求めてないし。
k8sでやるんだったらhelmチャートあると便利。
2021/01/16(土) 14:37:33.02ID:Q9Gxtc5G
マルチコンテナだとこうやって、実行環境に会わせて、オーケストレーションマニフェストをたくさん書かなきゃならん
一方でシングルコンテナなら、docker runするだけ
超簡単で、みんなハッピー
しかも、podmanでも、同じように動く
一方でシングルコンテナなら、docker runするだけ
超簡単で、みんなハッピー
しかも、podmanでも、同じように動く
317login:Penguin
2021/01/16(土) 14:39:41.23ID:kbdLhinp そんな手軽さ別に求めてないし。馬鹿なの?
docker-compose用意してたら大体想定されている使い方分かるから、
自分でYAMLなり何なり書けば良いだけ
docker-compose用意してたら大体想定されている使い方分かるから、
自分でYAMLなり何なり書けば良いだけ
2021/01/16(土) 14:50:08.02ID:Q9Gxtc5G
>>317
ユーザーに、手間をかけさせちゃ、だめだ
GitLabはこれをよくわかってる、から、1コンテナに詰め込んだ
ユーザーはdocker runするだけで、GitLabを使えるようになった
これが、マルチコンテナだったら、まあ、大変だよ
ユーザーに、手間をかけさせちゃ、だめだ
GitLabはこれをよくわかってる、から、1コンテナに詰め込んだ
ユーザーはdocker runするだけで、GitLabを使えるようになった
これが、マルチコンテナだったら、まあ、大変だよ
2021/01/16(土) 15:03:01.91ID:Q9Gxtc5G
自作PCとスマホ、みたいなもんかなー
マルチコンテナ≒自作PC
このパーツ、あのパーツ、色々集めて、ミスしないようにくみたてて、ドライバとかも探して、入れて下さい
ツールは別売りなんで、それも自分で探して、入れてください
組み合せが悪いと、動かないかもしれません
でも、まあ、自己責任です
スマホ≒シングルコンテナ
スマホを購入して、箱から出して、電源を入れて下さい
WIFIとアカウントの入力だけ、お願いします
驚きましたか?そうです、もう使えます!
必要になりそうなアプリケーションも、予め揃えてあります
おめでとうございます!
マルチコンテナ≒自作PC
このパーツ、あのパーツ、色々集めて、ミスしないようにくみたてて、ドライバとかも探して、入れて下さい
ツールは別売りなんで、それも自分で探して、入れてください
組み合せが悪いと、動かないかもしれません
でも、まあ、自己責任です
スマホ≒シングルコンテナ
スマホを購入して、箱から出して、電源を入れて下さい
WIFIとアカウントの入力だけ、お願いします
驚きましたか?そうです、もう使えます!
必要になりそうなアプリケーションも、予め揃えてあります
おめでとうございます!
320login:Penguin
2021/01/16(土) 15:03:11.70ID:kbdLhinp321login:Penguin
2021/01/16(土) 15:05:02.96ID:kbdLhinp なんでそんなちょっと試して見るだけのくそでかイメージが
あらゆる環境で動く事を気にする必要がある???
あらゆる環境で動く事を気にする必要がある???
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サーバーとか動かすならコンテナオーケストレーターの機能は便利
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ロシア外相 「日本とドイツは軍国主義」 国連で声明 ★4 [お断り★]
- 【ホリエモン】堀江貴文氏、もし“現金のみ”の店でお金を持ってなかったら? 対処策に「その手があったか!」と驚きの声 [冬月記者★]
- 【速報】首相、日米は最も信頼し合える同盟国と伝達 ★5 [蚤の市★]
- 【野球】アジア大会・決勝の日韓戦が“地上波中継なし” 「冷遇されてる」「メダルかかってるのに...」との声も [尺アジ★]
- 【兵役免除】社会人日本代表、韓国に敗れ銀メダル リベンジ食らい5連覇許す【アジア大会】 [鉄チーズ烏★]
- 【音楽】Ado所属事務所社長 誹謗中傷への法的対応示唆「アーティストを守るため」 出演フェス巡りSNSで賛否 [Ailuropoda melanoleuca★]
- 高市早苗、自画自賛がキモすぎて炎上「私のリーダーシップのおかげで、日米間で経済安全保障の協力が進んだ!」 [856698234]
- 【悲報】亜月ねね先生の家、巨大監視カメラが設置されておわる ★4 [398059782]
- 【実況】博衣こよりのえちえちMLB同時視聴-ノエたん編-🧪 ★2
- 【高市速報】お笑い芸人川島「被害者より怒っている第三者は『加害者』だ」55万バズ [856698234]
- 【感想戦】連休特別企画
- Q「先の戦争は、アジア近隣諸国に対する日本の侵略戦争だった?」日本人の48%「いやー、そういうの自分はちょっとわかんないっすねー」 [377482965]