※当サイトの記事には、広告・プロモーションが含まれます。

docker saveを実行してもDockerイメージのサイズが大き過ぎるので追加で分割圧縮してみた

gigazine.net

github.com

zed.dev

⇧ 2024年1月26日(金)時点だと、macOSのみに対応ということみたい。

macOS(マックオーエス)は、Appleが開発・販売するMacオペレーティングシステムである。当初の名称はMac OS X(マックオーエステン)で、のちにOS X(オーエステン)に改められていた(後述)。

macOS - Wikipedia

名称

2001年に最初の製品版が発売された時の名称は「Mac OS X(マック オーエス テン)」であった2012年にリリースされたOS X Mountain Lionで正式名称から「Mac」が外され、「OS X(オーエス テン)」と称した。さらに、2016年にリリースされたmacOS Sierraから、iOSwatchOStvOSなどのAppleの他のOSの名前との親和性を図るため、「OS X」から「macOS」へと改称された。

macOS - Wikipedia

⇧ 名称変更は頻繫にしないでくれるとありがたいのですが...

ちなみに、

zed.dev

Windowsは見捨てられた感じのような...

と思ったら、

github.com

Cross platform support is still very much on our radar and we’re dedicated to support both Windows and Linux in the future. As we've previously stated, we aren't taking feedback on the roadmap for platform support and as such we've decided to lock this issue. Any update regarding this will be noted on our website.

https://github.com/zed-industries/zed/issues/5394

⇧ 将来的には、Windowsにも対応していく予定ではいてくれてるようですかね。

docker saveを実行してもDockerイメージのサイズが大き過ぎるので追加で分割圧縮してみた

インターネットから遮断された環境で、Dockerコンテナを生成・起動する必要が出てきたので、

docs.docker.jp

⇧ 公式のドキュメントにあるように、圧縮しないといけないのだけど、tar.gzにしてもサイズが大き過ぎるので、追加で、分割圧縮とかできるのか分からなかったので、試してみたので備忘録として。

まずは、Dockerイメージを確認。

docker images

では、圧縮。

docker save [REPOJITORY名]:[TAG名] | gzip > [圧縮後のファイル名].tar.gz

からの~、分割圧縮。

split -d -b 10M [圧縮後のファイル名].tar.gz "[分割圧縮後のファイル名]"

⇧ という感じですかね。

分割圧縮のサイズをどれぐらいで区切るか悩ましいところですな...

上記は、10MBずつのサイズで圧縮してるので、分割圧縮前のサイズが大きいと分割圧縮後のファイル数も多くなるんですな。

話が脱線しましたが、分割圧縮をしたものを、他のサーバー(勿論、dockerがインストールされていて、docker deamonが稼働している状態である必要がある)に配置しておきます。

Dockerイメージをloadするには、

docs.docker.jp

⇧ 上記のコマンドを実行するわけなのですが、分割圧縮してる場合はdocker loadする前に結合しておく必要があるので、

cat "[分割圧縮後のファイル名]*" > [圧縮後のファイル名].tar.gz

⇧ で、結合した後で、Dockerイメージをloadすると。

docker load < [圧縮後のファイル名].tar.gz

Dockerイメージを確認。

docker images

で、Dockerコンテナを作るには、元のDockerイメージがあった環境で利用されていたであろうDockerfileなどを持ってきておく必要があると。

今回、7GB超えのDockerイメージを分割圧縮してみたのだけど、一応、docker loadしてDockerコンテナが生成・起動できたので、分割圧縮は可能ということなんですかね。

iOSイメージファイルとかを分割圧縮してたりする例もネットの情報で見受けられたので、Dockerイメージも分割圧縮に対応していると考えて良いんかな?

何と言うか、Dockerイメージを分割圧縮してる情報はネット上には皆無でしたと。

公式ドキュメントに載せて欲しいところですな。

毎度モヤモヤ感が半端ない...

今回はこのへんで。