我使用的应用程序取决于图像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启动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如何进一步调试此问题?原因是什么(用户空间权限,.)还有一个合适的解决办法?
发布于 2022-05-21 11:15:34
经过更多的调查:当您在一个tarball中保存多个图像时,您需要添加-m标志。
podman save -m -o images.tar \
docker.io/photoprism/photoprism:latest \
docker.io/library/mariadb:10.7-m --多图像存档--将附加参数解释为图像而不是标记,并创建多图像存档(仅用于坞存档)。
https://unix.stackexchange.com/questions/703355
复制相似问题