操作
機能 #691
未完了LXC 上の Docker で動かしているものを脱 Docker する
開始日:
期日:
進捗率:
0%
一時中断:
いいえ
pinned:
いいえ
リマインド予定日:
前回確認日:
2025/03/23
管理外残件あり:
説明
node.js とかだとつらいが、 Python と Rails くらいなら脱 Docker できる気がする。
nop_thread さんが11日前に更新
脱 Docker の動機は、以下のようなこと。
- 外部サービスへの依存を減らしたい
- docker.io のレート制限などを考えたくない
- Docker 用キャッシュサーバ (CNCF distribution) も用意してあるが、そもそもそういったサービスに依存しないに越したことはない
- そもそも Docker や類似のものを使いたくない
- 肥大化した /var/lib/docker と向き合うのが面倒
- いつまでも LRU でのキャッシュ削除が実装されない
docker system prune
コマンド - LXC で既に仮想化しているので、オーバーヘッドつきの余分なレイヤーになっている
現状で Docker を使って嬉しいことといえば、 compose.yml で宣言的に構成を記述できる (つまり ansible でそこまで頑張る必要がない) ことと、アプリによっては必要になるマイグレーション手順などが自動化されていること、あとはインストール作業が楽なくらい。
逆に言えば、インストールがどうにかなって、マイグレーションもどうにかなって、 ansible で頑張る気があるなら、 Docker は必要ない。
インストールは最悪手動でもいいし (限度はあるが)、アップグレードとマイグレーション次第か。
nop_thread さんが11日前に更新
node.js などは Debian の公式リポジトリでは古すぎたりして手動でサードパーティリポジトリを追加して yarn を云々などする必要があることが多い (しかも署名鍵まわりでちょくちょくトラブルがある) のがあまりにダルいので、できるだけ避けたいし Docker 内に封じ込めておきたい。
あんなもの自分で管理していられるか。
nop_thread さんが11日前に更新
NetBox あたりは Git で管理されていて upgrade.sh
があって Python で、といった感じのようなのでいけそう。
Redis も valkey:8.0-alpine になっているので bookworm-backports の 8.0.1+dfsg1-1~bpo12+1 とかにできればたぶんいける。
nop_thread さんが11日前に更新 · 編集済み
現状 kagamidai で Docker のもの:
- ByteStash
- npm run build などするビルドステージがあり、アップデート時に余分なリソースが必要かもしれない。
- npm ci とか node くらいしか使っていないので、動かすことはできそう。
- linkding
- latest-plus タグのイメージに入っている、 HTML スナップショットをとるための Chromium まわりの依存が面倒そう
- Dockerfile を覗いたところ、 node.js で何かしている様子。面倒そう
- Mattermost
- Mattermost omnibus を試したことがあったが失敗したため、仕方なく Docker を使っている
- Monica
- 5.x は PHP 製のようなのだが、 yarn.lock などが存在しており不穏。面倒かも
- コンテナが結構多い
- NetBox
- いけそうな気がしている
- NocoDB
- node.js を使っている
-
npm install
とnpm start
くらいしかしていないので、なんとかなるのでは? - "You can download executables directly and run without any extra dependancy." らしいが、これ Postgresql とか使えなくて SQLite 専用だったりしないか? 詳細不明
- Paperless-ngx
- 依存を揃えるのがかなり面倒そうな印象があった
- 不可能ではないだろうが……
- PdfDing
- Python と node.js を使っていそう (node.js はアセットビルドだけ? 詳細不明)
- Ryot
- yarn.lock があった
- Shlink
- 可能らしいが、 php-fpm ではパフォーマンスがめちゃくちゃ悪いから RoadRunner を使うといいぞ的なことが書かれており (Supported runtimes)、その辺りで悩むのも面倒なので recommended な構成がそのまま使えるらしい Docker を選択したという経緯がある
このなかで手を出せそうなものは、 ByteStash, NetBox, NocoDB くらいか。
操作