Docker技术之容器与外部相连

这篇具有很好参考价值的文章主要介绍了Docker技术之容器与外部相连。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker技术之容器与外部相连

说明,在本文中,所有的images采用的是busybox:latest。系统采用的是Ubuntu22.04.
容器与外部相连说的是容器网络以外的网络,可以是任何业务网络或者其他自建的网络,通常情况下是指互联网。

一、容器访问外部网络

前面文章知道容器通过网桥(默认docker0或者自建的网桥)就可以进行外部世界的访问,因此容器建立之后就能访问外部网络,请看实例:

docker容器访问外部网络,Ubuntu运维,Dokcer,docker,容器,运维
从上图中可以看到,容器建立之后就能直接通联互联网。再次以自建网桥建立容器进行通信如下:
docker容器访问外部网络,Ubuntu运维,Dokcer,docker,容器,运维
可以看出不论是自建网桥还是系统默认的网桥,容器都可以与互联网相连。其内部实质是NAT原理,跟路由器一样,路由器本身只有一个公网IP地址,但是通过NAT之后可以连接多个设备进行互联网的访问。

二、外部网络访问容器

容器访问外部网络是天生具有的,那么外部网络如何访问容器呢?可以通过端口映射的方式进行访问,docker可将容器对外提供服务的端口映射到host的某个端口,外网通过该端口访问容器。在本例中采用笔者构建的apache_ubuntu镜像来进行演示,在这个镜像中提供了web服务,下面我们进行演示:
docker容器访问外部网络,Ubuntu运维,Dokcer,docker,容器,运维上图展示了建立容器的过程,容器的80端口映射到本机的80端口,每一个映射的端口,host都会启动一个docker-proxy进程来处理访问容器的流量,然后可以在本地主机上面进行访问。

docker容器访问外部网络,Ubuntu运维,Dokcer,docker,容器,运维我们通过本地docker host的地址进行访问就直接访问到了容器的web服务。文章来源地址https://www.toymoban.com/news/detail-516566.html

到了这里,关于Docker技术之容器与外部相连的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 让Docker容器内的服务能够访问宿主机上的其他容器的端口,可以使用Docker的网络功能

    要让Docker容器内的服务能够访问宿主机上的其他容器的端口,可以使用Docker的网络功能。 Docker提供了多种网络驱动程序,例如 bridge 、 host 、 overlay 等。其中, bridge 是默认的网络驱动程序,它会在每个Docker容器内创建一个虚拟的网卡,同时会为每个容器分配一个独立的IP地址

    2024年02月14日
    浏览(36)
  • 【Docker】Docker中Linux 容器、网络虚拟化与虚拟局域网的技术特点详细讲解

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介: 热爱跑步的恒川 ,致力于

    2024年02月09日
    浏览(45)
  • Docker 容器内部文件和容器外部文件互相copy

    有时需要将 Linux 服务器上的文件copy到容器的某个目录(比如:配置文件),有时将容器中的某个文件(比如:日志文件)copy到 Linux 服务器上,便于查看。 关于上述两种场景,总结如下: 1、容器外部文件 copy 到容器内部 例如,将 Linux 服务器 /opt/ 目录下的 a.txt 文件 copy 到

    2024年02月13日
    浏览(33)
  • 如何让Docker容器连接外部Mysql?

    在Linux Centos上面部署Docker容器,并且将原来的项目服务放到docker的某个镜像中,启动服务号发现无法连接到容器所在宿主机的mysql数据库,但是现在项目服务需要连接mysql数据库。 例如:SQLalchemy 但是在容器中项目localhost默认的是docker容器这个虚拟主机的ip,而我在docker该镜像

    2024年02月11日
    浏览(51)
  • Selenium技术在CentOS6.8系统的腾讯云服务器上的docker镜像的Ubuntu容器里的相关使用(Linux环境下)

    一开始看标题,我知道你们会很懵,我当初完成的时候,我自己也很懵,主要是想在Linux环境下使用Selenium技术来完成一些工作,本来打算用docker创建一个Anaconda的容器来用Selenium技术的,但发现无法通过chrome驱动来驱动谷歌浏览器,所以我又用docker创建了一个Ubuntu容器来使用

    2024年02月03日
    浏览(96)
  • 这里做一篇关于wsl2更新到最新版本使用镜像网络,但是docker创建的容器不能被访问的问题(困扰了我一整天)

    在windows2023年9月的一次更新中,wsl2支持了新的网络模式镜像模式,他能够通过localhost地址从wsl2内部连接到windows的127.0.0.1地址 ##相当于是和本地主机拥有同一个ip 原wsl2是不支持的,虽说是net网络模式,可访问主机,主机也可访问wsl2,同时也可上网,但是不能被网络访问,如

    2024年04月16日
    浏览(48)
  • Docker容器之间相互访问

    因为我们的项目需要使用mysql及redis这些,所以我们需要进行相互访问 方案1:容器之间默认可以使用容器的ip进行通信,但是重启docker,ip会变化。查看ip如下: 这种方式使我们直接暴露IP端口,在项目中直接写死,但是有两个问题不安全以及如果每次容器重启都会重新分配

    2024年02月15日
    浏览(44)
  • net.ipv4.ip_forward=0导致docker容器无法与外部通信

    在启动一个docker容器时报错: WARNING: IPv4 forwarding is disabled. Networking will not work. 并且,此时本机上的其他容器的网络服务,只能在本机上访问,其他机器上访问不到。 原因: 在Docker网络配置中,有一项重要的参数是net.ipv4.ip_forward,它的作用是开启Linux内核的IP转发功能。通过

    2024年02月11日
    浏览(51)
  • docker容器限定ip访问

    主机1: ip:192.168.3.117 环境配置:docker、httpd(docker容器) 主机2: ip:192.168.3.122 默认情况下,允许所有外部源IP连接到Docker主机。要仅允许特定的IP(192.168.3.122)访问容器,需要在DOCKER-USER过滤器链中插入相应规则。具体命令如下: 查看DOCKER-USER的链中的规则信息 主机1httpd容器的

    2024年02月06日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包