dokcer network 详解、教程

  • 1、docker network --help
  • 2、创建自定义docker局域网络
  • 3、pull镜像和运行镜像
  • 4、docker 查询网络信息
  • 5、验证ping命令是否容器之间网络交互
  • 6、使用docker network connect
  • 7、docker network disconnect

1、docker network --help

#帮助命令后显示下面信息
[root@localhost /]# docker network --helpUsage:    docker network COMMANDManage networksOptions:--help   Print usageCommands:connect     Connect a container to a networkcreate      Create a networkdisconnect  Disconnect a container from a networkinspect     Display detailed information on one or more networksls          List networksprune       Remove all unused networksrm          Remove one or more networksRun 'docker network COMMAND --help' for more information on a command.
  • connect 将某个容器连接到一个docker网络
  • create 创建一个docker局域网络
  • disconnect 将某个容器退出某个局域网络
  • inspect 显示某个局域网络信息
  • ls 显示所有docker局域网络
  • prune 删除所有未引用的docker局域网络
  • rm 删除docker网络

2、创建自定义docker局域网络

docker network create mynet

然后pull两个镜像使用新创建的网络

3、pull镜像和运行镜像

#pull之前先设置docker镜像加速,国外pull速度很慢,参考:
https://blog.csdn.net/wangyue23com/article/details/110194399

docker pull redis
docker pull nginx
#运行redis容器
docker run -itd --name redis  --network mynet --network-alias redis -p 6379:6379 redis
#运行nginx容器
docker run -d --name nginx -p 80:80 --network mynet --network-alias nginx --privileged=true   -v /home/wwwroot:/home/wwwroot -v /home/wwwlogs:/home/wwwlogs  nginx

运行容器时候加入命令 --network mynet --network-alias redis,
代表当然容器要加入到mynet局域网络中

4、docker 查询网络信息

#查看mynet的详细信息,发现redis和nginx已在Containers容器内,属于当前mynet网络
[root@localhost /]# docker network inspect mynet
[{"Name": "mynet","Id": "8453b7b1d246f1ad54e27033928bbb8e7842ca96b4315fad720688af206b69c6","Created": "2020-12-13T22:50:55.566207522-08:00","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "172.18.0.0/16","Gateway": "172.18.0.1"}]},"Internal": false,"Attachable": false,"Containers": {"87ff63bb819a823578bed89a67527009d9fee31a92de9d50e5d635b97cc18664": {"Name": "redis","EndpointID": "19a04279300025dc936d206a287b1e31d04b339298b445694452a5f4326f7051","MacAddress": "02:42:ac:12:00:02","IPv4Address": "172.18.0.2/16","IPv6Address": ""},"c75ff4ac770fd04a1c6daa05a82533555038e3b0f8e15c3b1ee29e26c14a0131": {"Name": "nginx","EndpointID": "4ccc014edcfd7be443c75491cc32aa0745561cfd45903e204e8d3e7afa94a4fe","MacAddress": "02:42:ac:12:00:03","IPv4Address": "172.18.0.3/16","IPv6Address": ""}},"Options": {},"Labels": {}}
]

5、验证ping命令是否容器之间网络交互

#进入redis命令行,使用ping nginx命令验证能够连接成功**使用ping命令之前,需要给docker安装ping,自行百度**
docker exec -it redis bash
root@822f249e7d90:/# ping nginx
PING nginx (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.071 ms
64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.100 ms

同样也可以不指定网络,直接启动容器,然后使用docker network connect接入网络。

#将容器删掉重新创建
docker stop nginx
docker rm -f nginx
docker stop redis
docker rm -f redis

6、使用docker network connect

#运行nginx和docker容器
docker run -itd --name redis -p 6379:6379 redis
docker run -d --name nginx -p 80:80 --privileged=true -v /home/wwwroot:/home/wwwroot -v /home/wwwlogs:/home/wwwlogs nginx

使用docker network connect命令连接网络

#加入nginx到mynet网络
[root@localhost /]# docker network connect mynet nginx
#加入redis到mynet网络
[root@localhost /]# docker network connect mynet redis
#查看mynet网络包含的容器,会发现两个容器都加入当前网络了,后面使用ping命令是能够ping通容器名称的。
[root@localhost /]# docker network inspect mynet

7、docker network disconnect

#将nginx移除mynet局域网络
docker network disconnect mynet nginx

使用docker network 很方便的维护和管理docker网络,方便容器之间ip和端口交互。

docker network详解、教程相关推荐

  1. Docker网络 - docker network详解

    目录 是什么 一.Docker不启动时默认的网络情况 二.Docker启动时的网络情况 能干什么 常用基本命令 一.ls 1.--no-trunc 2.DRIVER 3.ID 4.format 二.c ...

  2. 多图详解教程:Eclipse 3.6连接Tomcat 7

    多图详解教程:最新版本Java环境Eclipse 3.6连接最新版本开源Web服务器Tomcat 7.假如我们想将Java 的项目自己配环境浏览的话可以来看一下本文. 本文总共分为3大步分别为配置JR ...

  3. PE文件详解(教程1-7)

    PE文件详解(教程1-7) ========================================= PE教程1: PE文件格式一览 PE 的意思就是 Portable Executable ...

  4. 5W字高质量java并发系列详解教程(上)-附PDF下载

    文章目录 第一章 java.util.concurrent简介 主要的组件 Executor ExecutorService ScheduledExecutorService Future Count ...

  5. jmeter 导入java,JMeter导入自定义的Jar包的详解教程

    1.简介 原计划这一篇是介绍前置处理器的基础知识的,结果由于许多小伙伴或者童鞋们在微信和博客园的短消息中留言问如何引入自己定义的Jar包呢???我一一回复告诉他们和引入插件的Jar包一样的道理,一通百 ...

  6. 基于百度地图实现Android定位功能实现(详解+教程)

    基于百度地图实现Android定位功能实现(详解+教程) 1.初始化 (一)获取到SHA1 (1)找到View中的Tool Windows并打开Terminal (2)找到你的jdk的bin目录,小编 ...

  7. 图形化管理工具Portaniner安 以及 Docker镜像详解(三)

    文章目录 图形化管理工具Portaniner安装 Docker镜像详解 1 什么是镜像 2 Docker镜像加载原理 3 分层理解 提交镜像 常用容器部署 Nginx部署 图形化管理工具Portani ...

  8. 分享 | 日置3561电池测试仪调零/自校准详解教程

    日置电池测试仪3561产品特点: ●  高精度:电阻±0.5% rdg. ±5dgt., 电压±0.01% rdg. ±3dgt. ●  高分辨率:电阻0.01mΩ(300mΩ量程); 电压0.1mV ...

  9. 国行ps4服务器维护,赶快回家试试!国行PS4终解除锁区附详解教程

    是不是买了国行PS4但是无法和其他服务器玩家联机非常的苦恼呢?现在这个现状即将打破,是不是兴奋的想回家试试你的主机呢?让我们先来还原下整个事情经过,感觉就是索尼在老主机寿终正寝前给玩家放松的福利- 近 ...

  10. dellr420部署os_戴尔dell poweredge r730服务器系统安装配置详解教程

    第一次给服务器安装的是ubantu系统: 首先我们开机进入小型BIOS设置一下RAID,或者进入服务器管理系统,在系统的BIOS中进行RAID设置: 开机后当看到出现< Ctrl > 时按 ...

最新文章

  1. CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制
  2. 如何去除矩阵中的NaN元素
  3. 百度计算广告学沙龙学习笔记 - 内容匹配广告
  4. 关于springboot工具类中@Autowired注入bean,用static直接修饰,静态方法使用bean时报空指针异常错误...
  5. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
  6. pat天梯赛L2-010. 排座位
  7. python 时序数据库_时序数据库InfluxDB
  8. android listview 风格,【Android】listview卡片式列表的实现
  9. 反转!奥斯卡般演技的果小云水果店耍了全世界!
  10. I00029 C语言程序-打印九九乘法表
  11. 爱普生SCARA机器人参考文档列表
  12. qt读oracle时间戳,QT利用QDateTime获取当前时间戳的方法toTime_t
  13. vue企业网站模板_模板网站VS定制网站,企业如何选择?
  14. 女子监狱第一季/全集Orange Is the New Black迅雷下载
  15. 股票交易费用精确计算器
  16. 146页智慧政务大数据可视化平台方案
  17. 数据库在开发中的作用
  18. isee看图精灵下载
  19. Zabbix实现短信报警设置(实战)
  20. 利用四位共阳数码管显示小数

热门文章

  1. 实战篇3:一切皆对象,文件目录体系(节点树)
  2. Lumion 11学会像真正的专业人士一样渲染
  3. java 共享类,Java 技术,IBM 风格: 类共享
  4. 1.6 Go语言适合做什么
  5. nordic nFR52832 PCA10040 blinky例程分析
  6. Kiwi Syslog日志服务器的安装及配置使用
  7. 米家小相机最新固件_不到1000元的米家小相机 都有哪些缺点
  8. 跨系统如何保持Session存活和Token共享问题
  9. android 图片闪光动画_Android使用LinearGradient实现两道闪光效果
  10. 关机时Ubuntu-Unattended upgrade in progress during shutdown