back to blog

Dockerで簡単にRaspberry Piのイメージを圧縮する方法

Read Time 1 mins | Written by: Kenneth Hough

Dockerで簡単にRaspberry Piのイメージを圧縮する方法

Raspberry Piのプロジェクトに携わったことがある方なら、.imgファイルがすぐに巨大化してしまうことをご存知でしょう。バックアップ、共有、展開のいずれにおいても、イメージをスリムに保つことは非常に重要です。そんな時に便利なのが PiShrink です。

PiShrinkは、Raspberry Pi OSのイメージを自動で圧縮・最適化してくれるシェルスクリプトですが、Linux環境が必要で、macOSやWindowsではそのままでは動作しません。

この問題を解決するために、Dockerベースの軽量ラッパーを開発しました。これにより、DockerがインストールされていればどのOSでも .img ファイルを圧縮・縮小できるようになります。

主なメリット

  • どの環境でも動作:macOS、Windows、Linux すべてに対応

  • 面倒な設定不要:Linuxツールのインストールや依存関係の解決は不要

  • 圧縮対応:オプションで xz 圧縮によりさらにサイズを削減可能

  • 安全でクリーン--rm によりコンテナは一時的に実行され、環境を汚しません

使い方

PiShrinkの公式スクリプトと必要な依存パッケージを含んだDockerイメージを作成しています。シンプルなラッパースクリプトを使っても良いですし、docker runで直接実行することも可能です。

実行例(macOS/Linux):

docker run --rm --privileged -v /dev:/dev -v "$PWD:/data" pishrink image.img

PowerShell(Windows):

docker run --rm --privileged -v /dev:/dev -v "${PWD}:/data" pishrink image.img

コマンドプロンプト(Windows):

docker run --rm --privileged -v /dev:/dev -v "%cd%:/data" pishrink image.img

圧縮付き:

docker run --rm --privileged -v /dev:/dev -v "$PWD:/data" pishrink -Z -a image.img

実行後、image.img.xz が同じディレクトリに出力されます。

はじめよう

GitHubのリポジトリに詳細なセットアップ手順と使用例があります:
👉 https://github.com/keyqcloud/pishrink-docker

Raspberry Piを使ったヘッドレス構成、IoTデバイス、またはシンプルにクリーンな.imgファイルを求める開発者にとって、このツールは時間とストレージの節約に役立ちます。


CI/CDパイプラインや自動デプロイへの組み込みをご検討の方は、ぜひKeyQまでご相談ください。

A Framework Built to Accelerate App Development for Startups

Kenneth Hough

背景

私は2020年3月にKeyQを創設しました。これは、革新的で意味のあるクラウドソリューションを提供することで、ビジネスが次の成功のレベルを達成するのを支援するというビジョンを持っています。その設立以来、私はいくつかの企業、非営利団体、大学と共に、ビジネスプロセスを合理化しコストを削減するのに役立つクラウドアプリケーションの設計と構築に取り組んできました。

KeyQに入る前は、アラバマ大学バーミンガム校(UAB)の肺、アレルギーおよび集中治療医学部で医学研究者でした。また、UABではJessy Deshane, PhDとVictor Thannickal, MDの指導の下、私の博士論文に取り組みました。UABでの博士研究中、私は「オミクス」およびビッグデータに触れ、クラウドでのデータ駆動型分析プラットフォームを開発するというキャリア選択に影響を与えました。

また、生化学を専攻したWorcester Polytechnic Institute(WPI)での学部教育にも大きな感謝を述べたいと思います。WPIのモットーは「Lehr und Kunst」で、大まかに「理論と実践」または「学習と熟練した芸術」に翻訳されます。WPIはこの教育法を真に大切にし、教育スタイルとクラスサイズによってそれが見て取れます。WPIでの学習経験はユニークであり、学び、実践し、応用することができる私を形作るのに大きく貢献しました。

個人的な興味

革新的な技術を学び、新しいことに挑戦することが大好きです。興味の範囲は広く、サーバーレスアーキテクチャ、機械学習、人工知能、バイオインフォマティクス、医療情報学、金融技術などが含まれます。また、2021年のCFAレベル1試験に向けて取り組んでいます。その他の興味や趣味には旅行、ロッククライミング、ラペリング、洞窟探検、キャンプ、園芸などがあります!