Docker,UFW 和 IP 表

Docker,UFW 和 IP 表

首先,我对 docker / linux / ufw 之类的东西还不太熟悉!

我正在做什么:

我正在创建一个公开端口的docker容器。在本例中是8080。该容器的行为符合预期。

其次我想关闭服务器。因此我激活了 UFW 并且只允许 22、80、443。

我本以为我无法访问 myserver:8080,因为端口已关闭!我知道 docker 使用 iptables todo 来处理与路由相关的“事情”。遗憾的是,到目前为止,它对我来说只是“事情”。

/etc/docker/daemon.json因此我创建了包含以下内容的json 文件:

{
        "iptables": true
}

目的是确保我的所有端口保持关闭并且 UFW 按预期工作。

起初一切似乎都运行正常,直到我注意到我的容器无法再连接。似乎它无法解析 DNS。

所以我知道我正在玩一些我目前还不完全理解的东西。

我正在尝试做什么!

我基本上希望容器运行,并关闭端口。但容器应该能够访问外部的 http/https api。我该如何实现?

非常感谢任何对我的学习过程的帮助和支持:)

提前致谢。

问候,汉内斯

答案1

DNS 使用的标准端口是 UDP 53,因此您必须在 udf 中允许输出端口 53

sudo udf allow out 53

答案2

如果要暴露8080端口,并且想为容器绑定主机上的相同端口,那么您需要在主机Iptables上打开8080端口。/ufw。

docker run -d --name container_name -p 8080:8080 Image_name:tag

相关内容