整合Podman与Visual Studio Container Tools

一、开启 Docker Compatibility 模式

在 Podman Desktop 设置中启用 **Experimental (Docker Compatibility)**:

1
2
3
4
5
6
# 启用后即可使用 docker CLI 语法
[user@kkbruce ~]$ docker version
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Client: Podman Engine
Version: 5.2.3
...

二、独立安装 Docker CLI

因未安装 Docker Desktop,需通过 winget 独立安装:

1
PS C:\> winget install Docker.DockerCLI

安装完成后重启 PowerShell,验证连接:

1
2
3
4
5
6
7
8
9
PS C:\> docker version
Client:
Version: 27.3.1
Context: default

Server: linux/amd64/fedora-40
Podman Engine:
Version: 5.2.3
...

三、验证 Docker CLI 与 Podman 整合

1
2
3
4
5
6
7
8
9
# 拉取镜像
PS C:\> docker pull nginx

# 确认镜像列表
PS C:\> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 60c8a892f36f 6 weeks ago 196MB
mcr.microsoft.com/dotnet/aspnet 8.0 6d7e7cb08845 5 days ago 221MB
webapplication1 dev e6090be04289 2 minutes ago 221MB

四、Visual Studio Container Tools 正常运行

创建 ASP.NET Core MVC 项目并启用容器支持,确认:

  • 无错误信息
  • Container Tools 正常运行
  • 可成功构建镜像、运行容器

关键技术点

项目 说明
Podman Desktop Windows 环境运行 WSL2,后端为 podman-machine
Docker CLI Context npipe:////./pipe/docker_engine 与 Podman 通信
Experimental Compatibility 启用后 docker CLI 可兼容操作 Podman
独立 Docker CLI 通过 winget 安装 Docker.DockerCLI

待补充

  • Podman Compose 替代 Docker Compose
  • Kubernetes 集群整合验证
  • 多阶段构建 Dockerfile 优化