mimemagic → marcel

2021年初頭頃の話だがRails(ActiveStorage)が依存している mimemagic という gem で下記のような問題が発生した。

mimemagicの最新動向 - HackMD

最終的にはこれは mimemagic の依存が切られ、marcelに置き換えられることで解決した。

docker build options

build — Docker-docs-ja 19.03 ドキュメント

使い方: docker build [オプション] パス | URL | -

パスにあるソースコードから新しいイメージを構築

  --build-arg=[]                  構築時の変数を指定
  --cpu-shares                    CPU 共有 (相対ウエイト)
  --cgroup-parent=""              コンテナ用のオプション親 cgroup
  --cpu-period=0                  CPU CFS (Completely Fair Scheduler) 間隔の制限
  --cpu-quota=0                   CPU CFS (Completely Fair Scheduler) クォータの制限
  --cpuset-cpus=""                実行時に許可する CPU。例 `0-3`, `0,1`
  --cpuset-mems=""                実行時に許可するメモリ。例 `0-3`, `0,1`
  --disable-content-trust=true    イメージの認証をスキップ
  -f, --file=""                   Dockerfileの名前 (デフォルトは 'PATH/Dockerfile')
  --force-rm                      常に中間コンテナを削除
  --help                          使い方を表示
  --isolation=""                  コンテナの隔離(独立)技術
  --label=[]                      イメージ用のメタデータを指定
  -m, --memory=""                 構築コンテナのメモリ上限を指定
  --memory-swap=""                整数値の指定はメモリにスワップ値を追加。-1は無制限スワップを有効化
  --no-cache                      イメージ構築時にキャッシュを使わない
  --pull                          常に新しいイメージのダウンロードを試みる
  -q, --quiet                     構築時の表示を抑制し、成功時はイメージ ID を表示
  --rm=true                       構築に成功したら、全ての中間コンテナを削除
  --shm-size=[]                   `/dev/shm` のサイズ。書式は `<数値><単位>`。 `数値` は `0` 以上。単位は `b` (bytes)、`k` (kilobytes)、 `m` (megabytes)、 `g` (gigabytes) のどれか。単位を省略するとバイトになる。サイズを省略すると `64m` になる。
  -t, --tag=[]                    '名前:タグ' 形式で名前とオプションのタグを指定
  --ulimit=[]                     Ulimit オプション

-t, --rm, --build-arg あたりがよく使うイメージ。

Docker イメージは Dockerfile と「コンテクスト」(context)を使って構築します。構築時のコンテクストとは、特定の パス や URL の場所にあるファイルのことです。構築中のステップで、対象コンテクスト内のファイルを参照できます。

コンテクストという概念があることも把握しておきたい。