Podman 项目: https://github.com/containers/podman
安装
网络插件安装
包下载地址: https://archive.ubuntu.com/ubuntu/pool/universe/g/golang-github-containernetworking-plugins/
dpkg -i containernetworking-plugins_1.1.1+ds1-3build1_amd64.deb
安装 podman 以及组件
apt install podman open-infrastructure-container-tools -y
安装后删除默认网络然后新建默认网络 podman 这样就有 dns 解析功能了,网上有很多资料需要单独安装编译 dnsmasq 其实这里是不需要的,只需要安装 container-tools 这个包就可以开启 dnsname 插件了
从 Podman 4.0 开始,如果使用 podman network create
命令创建一个新的外部网络,则默认启用 DNS 插件。
podman network rm podman
podman network create podman
/etc/cni/net.d/podman.conflist
可以看到已经开启了 dnsname 插件,这样容器之间就可以通过名称互相访问了。
{
"cniVersion": "1.0.0",
"name": "podman",
"plugins": [
{
"type": "bridge",
"bridge": "cni-podman0",
"isGateway": true,
"ipMasq": true,
"hairpinMode": true,
"ipam": {
"type": "host-local",
"routes": [
{"dst": "0.0.0.0/0"}
],
"ranges": [
[
{
"subnet": "10.88.2.0/24",
"gateway": "10.88.2.1"
}
]
]
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true}
},
{
"type": "firewall",
"backend": ""
},
{"type": "tuning"},
{
"type": "dnsname",
"domainName": "dns.podman",
"capabilities": {"aliases": true}
}
]
}
创建容器验证
podman pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:alpine
podman run -itd --name nginx01 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:alpine
podman run -itd --name nginx02 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:alpine