Docker 网络
时间:2022-04-29
本文章向大家介绍Docker 网络,主要内容包括网络类型、host、none、container:name or id、创建网络、查看网络、容器连接网络、断开网络、移除网络、Swarm mode、ingress network、docker_gwbridge、设置代理、other、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本文介绍 Docker 网络。
官方文档:https://docs.docker.com/engine/userguide/networking/
网络类型
bridge
桥接类型
是创建容器时默认连接的网络类型,用的比较多,这里不再详细介绍。
host
容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口,容器可以和宿主机一样,使用宿主机的 eth0
实现和外界的通信。换言之容器的 IP 地址即为宿主机 eth0 的 IP 地址。
$ docker run -dit --network host nginx:alpine
现在访问 主机 IP
即可看到 nginx 默认页面。
none
这样创建出来的容器完全没有网络。
$ docker run -it --rm nginx:alpine ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 scope global eth0
valid_lft forever preferred_lft forever
后边可以通过 docker network connect bridge CONTAINER_ID
来将没有设置网络的容器连接到一个网络。
container:name or id
--network="container:name or id
通过此参数启动的容器,拥有与被连接的容器相同的网络。
创建网络
$ docker network create -d bridge [ --subnet 172.25.0.0/16 ] NETWORK_NAME
-d
指定网络驱动,默认为 bridge
,在 Swarm mode
中也可以创建 overlay
类型的网络。
查看网络
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
369f1b30c236 bridge bridge local
991412261a72 host host local
269fb25e6d2d none null local
查看网络详情
$ docker network inspect bridge
容器连接网络
可以固定容器 IP
$ docker run --network=NETWORK_NAME [ --ip=172.25.3.3 ] ...
$ docker run --network="container:id or name"
$ docker network connect NETWORK_NAME CONTAINER_NAME
断开网络
$ docker network disconnect NETWORK_NAME CONTAINER_NAME
移除网络
$ docker network rm NETWORK_NAME
$ docker network prune
Swarm mode
$ docker network create
--driver overlay
--subnet 10.0.9.0/24
NETWORK_NAME
$ docker service create
--replicas 2
--network NETWORK_NAME
--name my-web
nginx
Overlay network
ingress network
The ingress network is created automatically when you initialize or join a swarm.
docker_gwbridge
The docker_gwbridge network is created automatically when you initialize or join a swarm.
设置代理
17.07+
~/.config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://127.0.0.1:3001",
"noProxy": "*.test.example.com,.example2.com"
}
}
}
other
设置环境变量,请查看 官方文档
- 结构体字节对齐
- 在Atom中设置Python开发环境
- Assignment 3 (神经网络) | 斯坦福CS231n-深度学习与计算机视觉课程
- ofbiz view渲染处理机制
- ofbiz方法一 条件查询createConditionList
- ofbiz的ant命令创建模块
- 几个不常用但特别实用的PHP预定义变量
- tomcat源码解读六 tomcat中的session生命历程
- tomcat源码解读五 Tomcat中Request的生命历程
- PostQueuedCompletionStatus
- tomcat源码解读四 tomcat中的processer
- tomcat源码解读三(2) tomcat中JMX的源码分析
- 程序的入口
- tomcat源码解读三(1) tomcat的jmx管理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法