我运行的是Fedora 35,需要在ubuntu的docker中运行一个应用程序。我可以通过podman
获得并运行ubuntupodman pull ubuntu:20.04
和setup在那里做docker,但不能使它运行,因为我可能没有正确地进入podman。我使用:
podman run -it ubuntu:20.04
where I run:
su -
apt update; apt upgrade
apt install inetutils-ping nano sudo npm
apt install apt-transport-https ca-certificates curl gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |sudo tee /etc/apt/sources.list.d/docker.list > /dev/null apt update
apt install docker-ce docker-ce-cli containerd.io
通过systectl
在容器中启动docker是不可能的,dockerd
命令给出了很多错误,主要是它不能访问覆盖,可能是网络(iptables)
error [2022-05-07T23:14:18.803335993+02:00] failed to mount overlay: operation not allowed[2022-05-07T23:14:18.803397023+02:00] exec: "fuse-overlayfs":可执行文件不在$PATH storage-driver=fuse-overlayfs中错误[2022-05-07T23:14:18.803500924+02:00]在/proc/filesystems中找不到AUFSerror [2022-05-07T23:14:18.803887884+02:00] mount overlay失败:operation not allowed storage-driver=overlay
是否有可能运行和应用程序与服务有开放端口到外部的docker,和podman,因为有2层嵌套的容器?
不能在其他容器中使用默认的overlay
类型的存储驱动程序,您需要将存储更改为vfs
。也许https://docs.docker.com/storage/storagedriver/vfs-driver/有帮助。
免责声明:这绝对适用于在docker中运行podman的情况,但我没有测试过其他方式。