docker网络模式 与 搭建nginx

article/2025/5/19 6:06:35

目录

1. docker网络模式

2. 连接容器的三种方法

3. Docker Networking

3.1 创建网络

3.2 查看宿主机中创建的网络

3.3 删除网络

3.3 如何使用网络

4.搭建Nginx

1.准备工作

1.1 拉取镜像

1.2 在宿主机中创建挂载目录

 2.准备2个tomcat 容器集群

3.准备 Nginx配置

3.1启动Nginx容器

4.测试访问是否通过 


1. docker网络模式

docker安装成功后,会自动创建三个网络,可以通过如下的方式查看:

lisen@ubuntu:~$ sudo docker network ls
[sudo] password for lisen:
NETWORK ID          NAME                DRIVER              SCOPE
8994fe397802        bridge              bridge              local
436da757b62d        host                host                local
1b2be829b666        none                null                local
lisen@ubuntu:~$

在运行容器时可以通过--net参数指定网络模式,例如:

  • host模式: --net=host 容器不会虚拟自己的网卡,使用宿主机的ip和端口
  • none模式: --net=none 该模式等同于关闭容器的网络功能,一般在不需要网络的批处理任务中才使用
  • bridge模式: --net=bridge 默认值,如果指定--net参数,则docker就会采用这种模式,这种模式也是最强大灵活,使用的最广的网络模式。

Docker每次创建容器都会同时创建一组互联的网络接口,你可以理解为一根管道的两端, 这组接口一端作为容器的eth0接口,另一端命名类似于veth966865c@if100这样的名字,作为宿主机的一个端口。可以将veth接口的理解为虚拟网线的一端,这个虚拟网线一端插在名为docker0的网桥上,另一端插到容器中。通过这种方式Docker创建了一个虚拟子网,这个虚拟子网被宿主机和所有的Docker容器共享。

注: 可以安装bridge-utils工具查看网桥信息

如: yum install bridge-utils

查看网桥信息: brctl show

2. 连接容器的三种方法

docker的最佳实践建议为每个服务创建单独的docker容器,比例:db,redis,应用服务等等,那么不同的服务需要连接以便于作为整体为客服提供服务,例如应用服务需要连接db,redis等。常见的容器连接方法有三种:

  • Docker的内部网络
  • Docker1.9之后,可以使用Docker Networking
  • Docker 链接(Docker link)

1)这三种方式如何选择呢?

Docker的内部网络,这种方式不灵活,在重启容器需要重新配置,所以不推荐使用这种方式;如果使用Docker1.9之前的版本,则应该选择Docker link的方式; 如果使用docker1.9及更高的版本,则推荐使用Docker Networking,这种方式最灵活,功能也是最强大的。

2)Docker link和Docker Networking之间有什么区别呢?

  • Docker Networking可以连接不同的宿主机上的容器的
  • Docker Networking可以在不更新连接的情况下,停止,启动,或重启容器
  • Docker Networking不必事先创建网络,也不关心容器的启动顺序

3)也就是说只要用的docker是1.9版本之后,就应该使用Docker Networking咯?

恭喜你,答对了。

因为我们肯定会使用docker1.9之后的版本(现在docker已到19.04版本甚至更高版本了),所以我们只讲Docker Networking方式

3. Docker Networking

容器之间连接用网络创建,这个网络被称为Docker Networking,是Docker1.9版本之后的新特性。用户可以通过Docker Networking创建自己的网络,容器可以通过这个网络进行通信。

3.1 创建网络

创建一个新的网络可以使用如下的命令:

sudo docker network create app

可以使用如下的方式来查看网络的详细信息

sudo docker network inspect app

3.2 查看宿主机中创建的网络

sudo docker network ls

3.3 删除网络

sudo docker network rm app

3.3 如何使用网络

1)启动镜像时指定--net参数

sudo docker run -it --name test --net=app imagename

2)也可以将运行中的容器加入网络

sudo docker network connect app test
  • app 需要加入的网络名
  • test 需要加入到网络的容器名

创建好容器后进行测试,测试是否可以通讯 下载一个contos镜像测试

docker pull centos:7

创建两个容器 看是否可以 ping 通

docker run -itd --name ubd centos:7

删除所有 容器

4.搭建Nginx

1.准备工作

1.1 拉取镜像

1.2 在宿主机中创建挂载目录

    mkdir -p /data/text/nginx/{conf,html,logs}mkdir -p /data/text/tomcat/{webapps/ROOT,conf,logs}

目录结构

我们在 webapps/ROOT中创建index.html

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/><title>Nginx+tomcat集群</title>
</head>
<body><h1>Nginx+tomcat集群部署示例</h1>
</body>
<html>

 2.准备2个tomcat 容器集群

docker run -d --name tomcat1 -v /data/text/tomcat/webapps:/usr/local/tomcat/webapps tomcat:9
docker run -d --name tomcat2 -v /data/text/tomcat/webapps:/usr/local/tomcat/webapps tomcat:9

 

容器的IP可以通过 docker inspect tomcat1 进行查看

3.准备 Nginx配置

修改nginx 配置文件

3.1启动Nginx容器

docker run -d -p 80:80 \--name nginx -v /data/text/nginx/html/:/usr/share/nginx/html \-v /data/text/nginx/conf/nginx.conf/:/etc/nginx/nginx.conf \-v /data/text/nginx/logs/:/var/log/nginx nginx

4.测试访问是否通过 

通过宿主机ip 进行访问


http://chatgpt.dhexx.cn/article/Pacpbmwp.shtml

相关文章

Docker网络之网络模式简介

文章目录 默认创建的网络模式网络模式bridge模式查看详细信息 host模式none 模式container模式 默认创建的网络模式 启动docker后&#xff0c;我们使用一下命令查看网络模式 docker network ls我们发现了他默认创建了三种网络模式bridge、host、none&#xff0c;除此之外还有…

关于docker那点事儿——docker网络模式

docker网络模式 前言一、容器网卡、网桥docker0、veth关系二、docker的4种网络模式bridge模式host模式container模式none模式 前言 可以说每一次技术的革新都离不开最底层、最复杂也是最核心的两个东西&#xff0c;那就是网络和存储。不管是虚拟化还是容器化都与这两点密不可分…

【docker】网络模式

一、Docker网络实现原理 docker使用linux桥接&#xff0c;在宿主机虚拟一个docker容器网桥&#xff08;docker0&#xff09; docker启动一个容器时会根据docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP 同时Docker网桥是每个容器的默认网关。因为在同一宿…

Docker-------网络模式

目录 前言 一、Docker 网络实现原理 二、Docker的网络模式 1、Host模式 2、Container模式 3、none模式 4、 bridge模式 三、自定义网络 1、查看网络模式列表 2、查看容器信息(包含配置、环境、网关、挂载、cmd等等信息&#xff09; 3、指定分配容器IP地址 4、…

【k8s】docker网络模式(必知)

docker网络部分的视频我看了很多&#xff0c;讲解最透彻的还是https://www.bilibili.com/video/BV123411y7TB?p8获取本文方式&#xff1a;见谷粒商城文尾&#xff0c;备注【docker网络】k8s思维导图&#xff1a;https://www.processon.com/view/link/615bc61e637689127946ea5d…

Docker容器如何连接网络+容器间网络互通+Docker网络模式+自定义网络+网络打通

Docker网络 问题&#xff1a;Docker容器如何连接网络Docker容器之间能否接通网络Docker容器之间可以通过名称ping通吗能否自定义一个网络 那么&#xff0c;我们带着几个问题来学习docker的网络 Docker容器是如何连接网络的 我们在安装了Docker以后&#xff0c;在 宿主机上 i…

docker网络模式

目录 一、Docker网络实现原理 二、Docker的网络模式 1、Host模式 2、Container模式 3、none模式 4、bridge模式 三、自定义网络 1、查看网络模式列表 2、查看容器信息(包含配置、环境、网关、挂载、cmd等等信息&#xff09; 3、指定分配容器IP地址 4、自定义网络固定…

Docker的网络模式

目录 一、Docker网络 1、Docker网络工作原理 2、为容器创建端口映射 二、Docker的网络模式 1、Docker的网络模式 2、查看docker的网络列表 3、指定容器网络模式 三、Docker网络模式详解 1、host模式 2、container模式 3、none 模式 4、bridge 模式 5、自定义网络模…

Docker:(四)docker网络模式

目录 一&#xff1a;虚拟网关 二&#xff1a;docker常用的几种网络模式 2.1Host模式 2.2container模式 2.3bridge模式&#xff08;默认&#xff09; 2.4None模式&#xff08;躺平&#xff09; 扩展&#xff1a;overlay叠加网络模式 三&#xff1a;自定义网络 3.1查看网…

docker 网络五种模式

docker 网络五种模式 一&#xff1a;Host模式 host容器将不会虚拟出自己的网卡&#xff0c;配置自己的IP等&#xff0c;而是使用宿主机的IP和端口范围&#xff0c;如果启动容器的时候使用host模式&#xff0c;那么这个容器将不会获得独立的网卡名称空间&#xff0c;那是和宿主…

Docker 的4种网络模式

我们在使用docker run创建Docker容器时&#xff0c;可以用--net选项指定容器的网络模式&#xff0c;Docker有以下4种网络模式&#xff1a; host模式&#xff0c;使用--nethost指定。container模式&#xff0c;使用--netcontainer:NAME_or_ID指定。none模式&#xff0c;使用--n…

Docker网络模式解析

目录 前言 一、常用基本命令 &#xff08;一&#xff09;查看网络 &#xff08;二&#xff09;创建网络 &#xff08;三&#xff09;查看网络源数据 &#xff08;四&#xff09;删除网络 二、网络模式 &#xff08;一&#xff09;总体介绍 &#xff08;二&#xff09…

Docker容器之网络模式

目录 引言 一、Docker网络实现原理 二、Docker的网络模式 2.1、HOST模式 2.2、Container模式 2.3、None模式 2.4、bridge模式 三、自定义网络 3.1、查看网络模式列表 3.2、查看容器详细信息&#xff08;包含配置、环境、网关、挂载、cmd等信息&#xff09; 3.3、指定…

docker三种网络模式

1.docker默认的三种网络模式&#xff1a; bridge&#xff1a;桥接模式 host&#xff1a;主机模式 none&#xff1a;无网络模式 查看网络模式&#xff1a; docker network ls 2.桥接模式 简介:桥接模式是docker 的默认网络设置&#xff0c;当Docker服务启动时&#xff0c;…

docker的五种网络模式

目录 一、bridge网络&#xff08;网桥的方式&#xff09; 二、host网络 三、none网络 四、自定义网络 五、container模式 一、bridge网络&#xff08;网桥的方式&#xff09; 可以很清楚的看出容器和宿主机的关系&#xff0c;当我们docker程序运行时&#xff0c;我们会增加一…

Docker--网络模式

文章目录 一、Docker网络实现原理二、Docker的网络模式1.Host模式2.Container模式3.None模式4.Bridge模式 三、自定义网络1.查看网络模式列表2.查看容器信息&#xff08;包含配置、环境、网关、挂载、cmd等等信息&#xff09;3.指定分配容器IP地址 四、暴露端口五、为容器创建端…

Docker系列---网络模式 | Dockerfile | 参数讲解 | 详细说明

网络模式 | Dockerfile Docker 原生网络Docker 网络图解Docker 四种网络模式Host 模式Container模式None模式Bridge模式 Docker 网络自定义查看网络列表自定义网络固定IP暴露端口在宿主机环境执行容器内命令systemctl 命令 Docker 镜像分层Dockerfile 操作指令例&#xff1a;do…

七、Docker网络模式详解

目录 一、docker网络概述1、docker网络实现的原理2.容器的端口映射1).端口映射2).四种端口映射3).端口映射演示(1).随机端口映射&#xff08;-P&#xff09;(2).指定端口映射&#xff08;-p 宿主机端口:容器端口&#xff09;(3).指定网卡随机端口映射&#xff08;-p ::&#xf…

使用navicat远程连接mysql时报2059错误解决方法

navicat连接mysql时报2059错误解决方法 报错原因解决方案1、管理员权限打开cmd2、修改加密规则及密码3、退出&#xff0c;重启mysql 报错原因 这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password&#xff0c;而在mysql8以后的加密规则为caching_sha2_pa…

navicat2012连接MySQL时提示2059错误

出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password&#xff0c;而在mysql8以后的加密规则为caching_sha2_password。通过网络查找发现我们可以将mysql用户登录的加密规则修改为mysql_native_password。 解决方法&#xff1a; 1.打开cmd&#xff0…