容器网络概念实现与Docker迁移指南
1. 容器网络概念实现
1.1 附加主机网络
要将容器服务暴露给外部世界,可以将整个主机网络附加到运行中的容器。不过,这种方法可能导致主机资源被未经授权使用,因此不建议使用,需谨慎操作。
使用Podman的 --network
选项可以轻松实现这一点,示例命令如下:
# podman run --network=host -dt docker.io/library/httpd
2cb80369e53761601a41a4c004a485139de280c3738d1b7131c241f4001
f78a6
运行上述命令后,可以检查运行中的容器是否绑定到主机系统的网络接口:
# netstat -nap|grep ::80
tcp6 0 0 :::80 :::*
LISTEN 37304/httpd
# curl localhost:80
<html><body><h1>It works!</h1></body></html>
1.2 主机防火墙配置
无论是使用端口发布还是将主机网络附加到容器,将容器暴露到主机外部的过程还未结束,还需要处理主机操作系统的防火墙。