云计算-10-Docker网络使用

发布于 2024-07-19
1216

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读
Docker网络使用摘要

Docker网络使用摘要

外部访问容器

通过使用 -p-P 参数,可以将容器的内部端口映射到宿主机的端口以供外部访问。例如,通过命令 docker run --name mynginx2 -d -P nginx,Docker 会随机映射宿主机端口到容器的端口。可以使用 docker psdocker container ls 查看映射详情,并通过浏览器或 curl 访问容器服务。

日志可以通过 docker logs 指令查看,支持持续跟踪 (-f) 或列出最新日志 (--tail)。

使用Docker Link实现容器链接

docker link 参数可用于避免容器重启导致 IP 地址变化的问题。通过 docker run --link=[容器名]:[别名] 格式进行容器链接。例如,容器 mycentos2 可通过链接访问 mycentos1,并使用别名进行通信。

在容器中可以通过 cat /etc/hosts 查看链接的别名和 IP 地址,并验证连接性。

Docker默认网络与网络模式

Docker默认使用桥接网络 (docker0),所有容器通过网桥进行通信。启动容器时可以选择以下网络模式:

  • bridge模式: 默认选项,容器通过网桥获取IP。
  • none模式: 不配置网络,用户可自行配置。
  • container模式: 容器与已有容器共享网络命名空间。
  • host模式: 容器与宿主机共享网络命名空间。
  • 用户自定义: 用户通过命令创建新的网络。

container模式示例

创建容器时使用 --net=container:name/id 参数共享网络空间。例如,mycentos2 容器可与 mycentos1 容器共享网络。

host模式示例

通过 docker run --net=host,容器和宿主机共享网络命名空间。

bridge模式示例

默认使用的桥接网络模式,容器通过网桥 docker0 自动分配IP。

用户自定义网络实现容器互联

用户可以使用 docker network create 命令创建新网络。例如,创建名为 testnet 的网络后,可以通过 --network testnet 参数将容器添加到该网络。

通过 ping 验证容器间的互联性,例如 mycentos5mycentos6 容器可以在同一网络中相互通信。

总结

本文详细介绍了 Docker 网络的使用,包括外部访问容器、容器链接、自定义网络和多种网络模式。通过这些功能,用户可以灵活配置容器网络以满足不同需求。

springboot葵花宝典