当前位置:首页 > RockyLinux > 正文

RockyLinux容器网络配置方法(从零开始掌握Docker网络设置)

在使用 RockyLinux 运行容器(如 Docker 容器)时,正确配置容器网络是确保应用正常通信的关键。本文将手把手教你如何在 RockyLinux 系统中配置容器网络,即使你是 Linux 或容器技术的新手,也能轻松上手。

什么是容器网络?

容器网络是指容器之间、容器与宿主机、以及容器与外部网络之间的通信机制。Docker 提供了多种网络驱动(如 bridge、host、none、overlay 等),其中最常用的是 bridge 模式。

RockyLinux容器网络配置方法(从零开始掌握Docker网络设置) RockyLinux容器网络  Docker网络配置 容器网络模式 RockyLinux网络管理 第1张

前提条件

  • 已安装 RockyLinux(建议 8.x 或 9.x 版本)
  • 已安装 Docker 引擎(若未安装,请先执行以下命令)
# 安装 Dockersudo dnf install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo dnf install -y docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo systemctl enable docker

查看当前网络配置

首先,我们可以使用以下命令查看 Docker 默认创建的网络:

docker network ls

你会看到类似如下输出:

NETWORK ID     NAME      DRIVER    SCOPEa1b2c3d4e5f6   bridge    bridge    localxyz789         host      host      local...            none      null      local

其中 bridge 是默认网络,所有未指定网络的容器都会连接到它。

创建自定义桥接网络

为了更好的隔离和管理,建议为项目创建独立的自定义网络。例如,创建一个名为 myapp-net 的网络:

docker network create --driver bridge myapp-net

现在你可以通过 docker network ls 查看新网络是否创建成功。

运行容器并连接到自定义网络

启动一个容器并指定使用刚创建的网络:

docker run -d --name web-server --network myapp-net nginx

再启动另一个容器(如数据库)加入同一网络:

docker run -d --name db-server --network myapp-net postgres:13

此时,web-server 可以直接通过容器名 db-server 访问数据库,因为 Docker 内置了 DNS 解析功能。

端口映射:让外部访问容器服务

如果你希望从 RockyLinux 主机外部访问容器中的 Web 服务,需要使用 -p 参数进行端口映射:

docker run -d --name web-server --network myapp-net -p 8080:80 nginx

这样,访问 http://你的服务器IP:8080 就能打开 Nginx 默认页面。

常见问题排查

  • 容器无法互相 ping 通? 确保它们在同一个自定义网络中(默认 bridge 网络不支持通过容器名通信)。
  • 外部无法访问服务? 检查防火墙设置(RockyLinux 默认启用 firewalld):
sudo firewall-cmd --permanent --add-port=8080/tcpsudo firewall-cmd --reload

总结

通过本教程,你已经掌握了在 RockyLinux 上配置 Docker网络 的基本方法,包括创建自定义网络、连接容器、端口映射和防火墙设置。这些技能是构建可靠容器化应用的基础。记住,合理使用 容器网络模式 能极大提升应用的安全性和可维护性。

无论你是开发人员还是系统管理员,掌握 RockyLinux网络管理 技术都将让你在容器时代游刃有余。