画像ベースのアプリケーションを使用していますdocker.io/library/mariadb:10.7
。画像を抽出してtarballに保存できます。
podman pull \
docker.io/photoprism/photoprism:latest \
docker.io/library/mariadb:10.7
podman save \
-o images.tar \
docker.io/photoprism/photoprism:latest \
docker.io/library/mariadb:10.7
次の方法で他のシステムにオフラインでインストールしますload
。
docker load -i images.tar
上記のコマンドは正常に実行され、次のように画像を表示できますpodman images
。
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/photoprism/photoprism latest 3bd51d37096b 4 days ago 1.33 GB
docker.io/library/mariadb 10.7 3bd51d37096b 4 days ago 1.33 GB
docker-compose.yml
viaを介して起動しても、docker-compose up -d
すぐに明らかなエラーは発生しません。ただし、journalctl -f
mariadbコンテナを起動して再起動しようとすると、無限のエラーループが表示されます。
container init (image=docker.io/library/mariadb:10.7...
container start(image=docker.io/library/mariadb:10.7...
container died (image=docker.io/library/mariadb:10.7,...
container restart(image=docker.io/library/mariadb:10.7,...
container init(image=docker.io/library/mariadb:10.7,...
#... and so on
docker-compose pull
今これが重要です。 /を介して直接オンラインで画像を抽出しますpodman pull
。それ以外の場合は、上記の手順を維持します。同じシステム内でのみ機能します。うまくいきます!
podman save
podman load
だから、他のコンピュータ(同じアーキテクチャ、Fedora)では問題になりそうです。
読むこの問題頑張った
podman unshare podman load -i images.tar
成功しませんでした。
最後の注意:Podmanは重要な場合はユーザースペースで実行されます。
export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock
systemctl --user enable --now podman.socket
この問題をさらにデバッグするにはどうすればよいですか?考えられる原因(ユーザースペース権限など)と適切な回避策は何ですか?
答え1
-m
追加の調査の後:tarballに複数の画像を保存するときは、このフラグを追加する必要があります。
podman save -m -o images.tar \
docker.io/photoprism/photoprism:latest \
docker.io/library/mariadb:10.7
-m、--multi-image-archive
追加の引数をラベルの代わりにイメージとして解釈し、マルチイメージアーカイブを生成します(docker-archiveのみ)