前言
全文仅为个人折腾记录
因为需要跑 docker,发现自己的电脑上还没有装。加上先前在网上看到有人对比 Docker
和 Podman
以及之前自己使用 Colima
的记忆, 决定用 Podman 来试试。
大致遇坑
参照 官方手册 但是走不完
首先去了 Podman 官网,发现它也跟 Docker 一样提供 Cli/Desktop 让用户选择。
好嘛,那我直接找你手册来,于是去到了标题里的官方手册。
结果遇坑
遇坑:podman machine init
失败
这个命令我第一遍运行其实似乎是可以的,但是我的第三方防火墙第一时间把进程的网络访问拦住了。
第二次再尝试执行它直接就失败 ...
podman machine init
Looking up Podman Machine image at quay.io/podman/machine-os:5.6 to create VM
Error: failed to pull quay.io/podman/machine-os@sha256:f969489ac8b28462232df09b2960730a93eabc9015419b8f2da6125b3a597eec: The system cannot find the path specified.
收获
大概知道 podman machine init
会往哪里写文件
C:\Users\<YOUR_USERNAME>\.local\share
转换思路,直接上 WSL
由于看到 官网说明文档 里面说了 Podman for Windows 基于 WSL
那索性先看下 WSL 情况
记得先检查你的 Windows 功能 启用了
“虚拟机平台”也有显示为 Virtual Machine Platform 的
和
“适用于 Linux 的 Windows 子系统”
遇坑:wsl --update --web-download
执行成功但是没有子系统
应该是跟 LSTC 系统有关
解决方法
直接自己去取镜像
也可以用 wsl --list --online
列出当前系统可以使用的子系统
不过因为我上篇文章刚说了C盘空间吃紧,不想直接 拉💩 在C盘,所以我最终选择是 自行下载子系统相关文件 选择用 Ubuntu
补充:
这里我先是网络搜索 + 问了AI
给出的答复基本是 1. 先安装 2. 导出子系统 3. 移动到其他地方后再导入这种操作方式让我觉得非常地 “脱裤子放屁”
下载下来的文件是 wsl 后缀而非先前“导入法”所说的 tar,发现直接执行就可以使用了
收获 +1:如何移动子系统到其他盘
又知道了一个文件存放的路径,最终使用 wsl 方式子系统相关的文件会存放在
C:\Users\<YOUR_USERNAME>\AppData\Local\wsl
下
这里如果跟你的不一样
试着全系统搜索 ext4.vhdx
所以
- 停掉当前子系统,
wsl --terminate <IMAGE_NAME>
- 确保当前子系统数据文件夹未被占用,使用
mklink /J
创建软链接
实际使用
sudo apt update
sudo apt install podman# 如果有 docker-compose 需求按需安装 docker-compose, podman-compose