Docker笔记9 | Docker中网络功能知识梳理和了解

简介: Docker笔记9 | Docker中网络功能知识梳理和了解

简单说:Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。

1 外部访问容器

1.1 访问方式

  • 要想让外部访问容器中的一些网络应用,需要通过 -P-p 参数来指定端口映
    射;
  • -PDocker 会随机映射一个端口到内部容器开放的网络端口;
  • docker container ls查看到本地主机的 32768 被映射到了容器的 80 端口,此时访问本机的
    32768 端口即可访问容器内 NGINX 默认页面:
    在这里插入图片描述
  • docker run -d -P nginx:alpine
    在这里插入图片描述
  • -p:指定要映射的端口(在一个指定端口上只可以绑定一个容器)。
# 支持的格式
ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort

1.2 映射所有接口地址

  • 方式:hostPort:containerPort(默认会绑定本地所有接口上的所有地址);
  • 举例:本地的80映射到容器的80端口:
docker run -d -p 80:80 nginx:alpine

在这里插入图片描述

1.3 映射到指定地址的指定端口

  • 方式:ip:hostPort:containerPort(指定映射使用一个特定地址);
  • 举例:比如localhost 地址:
docker run -d -p 127.0.0.1:80:80 nginx:alpine
  • 我这里端口已经被绑定了,所以会报错,先不管这个:
    在这里插入图片描述

1.4 映射到指定地址的任意端口

  • 方式:ip::containerPort
  • 举例:绑定 localhost 的任意端口到容器的 80 端口,本地主机会自动分配一个端口:
docker run -d -p 127.0.0.1::80 nginx:alpine

在这里插入图片描述

1.5 查看映射端口配置

  • 命令:docker port
    在这里插入图片描述

    2 容器互联

    2.1 新建网络

  • 创建新的docker网络:
docker network create -d bridge mynet

在这里插入图片描述

2.2 连接容器

  • 运行容器并连接到刚才新建的网络mynet
docker run -it --rm --name busybox1 --network mynet busybox sh

在这里插入图片描述

  • 打开新的终端,再运行一个容器并加入到 mynet 网络:
docker run -it --rm --name busybox2 --network mynet busybox sh

在这里插入图片描述

  • 再打开一个终端查看容器信息:
    在这里插入图片描述
  • 使用ping命令来验证两个容器建立了互联关系:
    在这里插入图片描述
    在这里插入图片描述

3 配置DNS

  • Docker 利用虚拟文件来挂载容器的 3 个相关配置文件;
  • 通过mount命令查看挂载信息:
    在这里插入图片描述
  • 宿主主机 DNS 信息发生更新后,所有 Docker 容器的 DNS 配置通过 /etc/resolv.conf文件立刻得到更新;
  • 配置全部容器DNS,也可以在 /etc/docker/daemon.json 文件中增加以下内容来设置:
{
   
   
    "dns" : [
        "123.123.123.123",
        "6.6.6.6"
    ]
}
  • 则,每次启动容器DNS为以上的配置。使得配置生效的命令为:
 docker run -it --rm ubuntu:18.04 cat etc/resolv.conf
目录
相关文章
|
1月前
|
Java Spring
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
94 0
|
1月前
|
应用服务中间件 nginx Docker
Docker网络管理
Docker网络管理
28 1
|
4天前
|
运维 前端开发 Devops
云效产品使用报错问题之流水线打包docker镜像时报网络代理有问题如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
17天前
|
存储 网络协议 Linux
|
1月前
|
监控 数据可视化 虚拟化
Docker容器常用命令笔记分享
Docker容器常用命令笔记分享
51 2
|
1月前
|
负载均衡 算法 应用服务中间件
Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/5)
Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/5)
113 0
|
1月前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
45 0
|
2月前
|
JSON 监控 网络安全
使用Perl编写的上网监控管理软件:网络数据包拦截与分析功能
网络安全一直是互联网时代的重要议题之一。随着网络技术的不断发展,网络攻击和数据泄露等问题也变得日益严重。为了有效监控和管理网络流量,开发了一款基于Perl语言的上网监控管理软件,该软件具有强大的网络数据包拦截与分析功能,能够帮助网络管理员实时监控网络流量,并及时发现和应对各种网络安全威胁。
152 0
|
2月前
|
JSON Kubernetes Linux
Docker之网络模式
docker基础 网络模式
51 2
|
2月前
|
测试技术 Linux 数据安全/隐私保护
【好用的个人工具】在Docker环境下部署WatchYourLAN轻量级网络IP扫描器
【2月更文挑战第2天】在Docker环境下部署WatchYourLAN轻量级网络IP扫描器
101 0