有个比较特殊的系统,部分组件(apache+liceense)只能部署在物理机上,其它部分主要是tomcat想部署在podman上。
系统本身要求物理机能访问容器里的tomcat;同时容器里的tomcat也需要能访问物理机,容器本身希望能访问internet,为方便安装python包等。
rootless方式找了一个参考网页:
https://lists.podman.io/archives/list/podman@lists.podman.io/thread/W6MCYO6RY5YFRTSUDAOEZA7SC2EFXRZE/sudo ip link add name bridge1 type bridge
sudo ip link set dev bridge1 up
sudo ip address add 10.11.22.1/24 dev bridge1
cont_id=$(podman run -dt --name t001 --net=none -d -v /mnt/cdrom:/mnt/cdrom registry.access.redhat.com/ubi8/ubi)
##cont_id=3de5404c0ea193c5ce758aab275becefc64b821c5f371b2021f89427cb165f2b
net_ns_name="cont-${cont_id}"
cont_pc_id=$(podman inspect -f '{{.State.Pid}}' "${cont_id}")
[[ ! -d /var/run/netns ]] && sudo mkdir -v /var/run/netns
sudo ln -sfTv "/proc/${cont_pc_id}/ns/net" "/var/run/netns/${net_ns_name}"
sudo ip link add veth300 type veth peer name veth300p
sudo ip link set dev veth300 master bridge1
sudo ip link set veth300p netns "${net_ns_name}"
sudo ip -netns "${net_ns_name}" link set veth300p name eth0
sudo ip link set dev veth300 up
sudo ip -netns "${net_ns_name}" link set dev eth0 up
sudo ip -netns "${net_ns_name}" address add 10.11.22.50/24 dev eth0
sudo ip -netns "${net_ns_name}" route add default via 10.11.22.1
测试结果总是在容器里不能访问internet,有大侠能帮看看可能是什么原因吗?谢谢!

--
FROM 123.113.98.*