Mac从Docker迁移Podman后push无进度、虚拟机时间不同步问题求助
问题1:docker/podman push无上传进度的解决方案
- 优先修改全局配置永久生效:
新建/编辑~/.config/containers/containers.conf文件,添加以下内容:
配置修改后无需重启Podman虚拟机,下次执行push操作时就会默认显示进度条,兼容通过软链接调用docker命令的第三方工具,不需要设置别名。[engine] log_level = "info" [engine.progress] show = true - 临时需要查看进度时,可以单次执行命令时添加参数:
docker push --progress=plain <镜像地址>
问题2:Mac休眠后Podman虚拟机时间不同步的最优解决方案
Podman默认使用的Fedora CoreOS虚拟机系统已预装chrony时间同步工具,无需额外安装软件,有三种省心方案可选:
方案1:单次快速同步(无需修改虚拟机配置)
在你的shell配置文件(.bash_profile/.zshrc)中添加别名:
alias sync-podman-time='podman machine ssh "sudo chronyc -a makestep"'
休眠唤醒后执行一次sync-podman-time即可完成时间同步,全程仅需1-2秒,远比重启虚拟机效率高。
方案2:完全自动化同步(一次配置永久生效)
可以给Mac系统配置休眠唤醒触发的自动化任务,唤醒时自动执行上述时间同步命令,无需手动操作:
- 打开「自动操作」app,新建「应用程序」,添加「运行Shell脚本」动作,填入同步命令
- 打开「系统设置」-「通用」-「登录项」,将刚才创建的应用添加到允许在后台运行的列表中
- 配合唤醒事件监听规则,即可实现唤醒自动同步时间。
方案3:新建虚拟机时内置自动同步配置
如果需要频繁重建Podman虚拟机,可以在初始化时指定Ignition配置,内置chrony自动同步规则,初始化命令如下:
podman machine init --ignition <你的Ignition配置文件路径>
配置后所有新建的虚拟机都会默认开启时间自动同步,休眠唤醒后无需任何操作即可自动修正时间。
内容的提问来源于stack exchange,提问作者Salvatore D'angelo
相关产品推荐
相关产品推荐

