我已使用以下命令在 Ubuntu 22.04 操作系统上安装了 podman CLI。
sudo apt-get update
sudo apt-get -y install podman
出于测试目的,我提取了
httpd
docker 映像,然后从该映像运行一个新容器。
podman pull python:slim
podman run -dt python:slim
现在我想将 Visual Studio Code 终端附加到最近创建的容器。因此,我从 VS Code 安装了 docker 扩展。但是,我收到以下警告。
连接失败。 Docker 安装了吗?
为了解决这个问题,我必须将 Docker 扩展降级到 1.22.2 版本,因为 1.23.0 docker 扩展版本有一个已知的 重大更改。降级 Docker 扩展:右键单击 Docker 扩展 > 选择 Install Another Version... 选项 > 选择 1.22.2 版本。
code --install-extension [email protected]
或者,您也可以使用终端来降级扩展。
下一步是在设置下配置
docker.host
和 docker.dockerPath
变量。在此之前,我们需要创建一个等效的 docker 守护进程,因为 Podman 是无守护进程的。这是通过启用 podman.socket
单元来实现的。
systemctl enable --now --user podman.socket
它公开了一个可以用作 docker 主机的 Unix 套接字。接下来,使用以下值更新 docker
settings.json
:
{
"docker.host": "unix:///run/user/1000/podman/podman.sock",
"docker.dockerPath": "/usr/bin/podman"
}
或者,您可以在 Settings 中搜索 Docker: Docker Path 和 Docker: Host 部分并更新其值。
在 Linux 上,您可以通过以下方式识别 Podman 套接字位置:
podman info --format '{{.Host.RemoteSocket.Path}}'
以及使用此命令的 Podman CLI 路径:
which podman
现在,您可以将终端连接到容器上。首先,启动容器,然后右键单击它并选择 Attach Shell 选项。
您可以通过键入
exit
命令退出,然后按任意键关闭终端。